generate publish