Francisco Liriano throws no-hitter against White Sox