Revision 7749b550-b51e-4687-94a2-9d457dbeea5a - Code Golf Stack Exchange

# [05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands), 17 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)
<sup>12 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage) if trailing whitespaces were allowed: [try it online](https://tio.run/##yy9OTMpM/f//3LZzW40O7zq81svv8K7g2nPbvP4f2v0/OlqpQElHqQiI84E4HcpOBOJcKM4E4jywXKwORHUpEFdBcQ4QpwJxMVg2Eao2BcxLhpqaAlYDEkmHioB0pSnFxgIA).</sup>

 ζε2úíJNúS}ζJðδÜõÜ

Port of [*@Shaggy*'s Japt answer](https://codegolf.stackexchange.com/a/167536/52210).

Input as a list of list of characters; output as a list of lines.

[Try it online.](https://tio.run/##yy9OTMpM/f//3LZzW40O7zq81svv8K7g2nPbvA5vOLfl8JzDWw/P@X9o9//oaKUCJR2lIiDOB@J0KDsRiHOhOBOI88BysToQ1aVAXAXFOUCcCsTFYNlEqNoUMC8ZamoKWA1IJB0qAtKVphQbCwA)

**More interesting answer using the Canvas builtin (<s>27</s> 25 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)):** 
<sup><s>20</s> 19 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage) if trailing whitespaces were allowed: [try it online](https://tio.run/##yy9OTMpM/f//UdOadJfDO0z0Du89PccTyDu8@/CGQ7sO7zU2Nwk@N/v//2ilgqL89KLE3NzMvHQlHaWC0qqqnNRiICsxLwVIJuenpAKp9PycNKVYAA).</sup>

 €gDø4.ý˜I€ûðºý374S.Λ¶¡ðδÜ

-2 bytes thanks to *@emanresuA*.

Input as a list of words; output as a list of lines.

[Try it online.](https://tio.run/##yy9OTMpM/f//UdOadJfDO0z0Du89PccTyDu8@/CGQ7sO7zU2NwnWOzf70LZDCw9vOLfl8Jz/h3b/j1YqKMpPL0rMzc3MS1fSUSoorarKSS0GshLzUoBkcn5KKpBKz89JU4oFAA)

**Explanation:**

<!-- language-all: lang-python -->

 ζ # Zip/transpose; swapping rows/columns of the (implicit) input-list of lists
 # of characters, with a space " " as filler for shorter lists
 ε # Map over each inner lists of characters:
 2ú # Pad each inner character with 2 leading spaces
 í # Reverse each inner string, so the spaces are trailing
 J # Join this list together to a single string
 Nú # Pad the 0-based map-index amount of leading spaces
 S # Convert the string back to a list of characters
 }ζ # After the map: Zip/transpose back again with " " filler
 J # Join each inner list together to a single string
 δ # Map over each inner line:
 ð Ü # Trim trailing spaces
 õÜ # Trim trailing empty strings from the list
 # (after which the list of lines is output implicitly)

<!-- -->

 €gDø4.ý˜I€ûðºý374S.Λ¶¡ðδÜ

 €g # Get the length of each word of the (implicit) input-list
 Dø # Convert each value to a pair of this value with a Duplicate + Zip/transpose
 4.ý # Intersperse this list of pairs with 4 as delimiter
 ˜ # Flatten it to a single list
 I # Push the input-list of words again
 €û # Palindromize each word
 ðºý # Join this list with " " (2 spaces) delimiter
 ŽDā # Push 374
 S # Convert it to a list of digits: [3,7,4]
 .Λ # Use the modifiable Canvas builtin with these three arguments
 ¶¡ # Split it on newlines
 δ # Map over each inner line:
 ð Ü # Trim trailing spaces
 # (after which the list of lines is output implicitly)

*Additional information about the Canvas builtin `Λ`/`.Λ`:*

It takes 3 arguments to draw an ASCII shape:

1. Length of the lines we want to draw
2. Character/string to draw
3. The direction to draw in, where each digit represents a certain direction:

<!-- -->

 7 0 1
 ↖ ↑ ↗
 6 ← X → 2
 ↙ ↓ ↘
 5 4 3

`€gDø4.ý˜I€ûðºý374S` creates the following Canvas arguments:

- Lengths (`€gDø4.ý˜`): e.g. `[11,11,4,7,7,4,3,3,4,4,4,4,4,4]` for input `["programming","puzzles","and","code","golf"]`
- Characters (`I€ûðºý`): e.g. `"programmingnimmargorp puzzleselzzup andna codedoc golflog"` for input `["programming","puzzles","and","code","golf"]`
- Directions (`374S`): `[3,7,4]`, which translates to \$[↘,↖,↓]\$

Because we have a list of lengths, those are leading here.

Step 1: Draw 11 characters (`"programming"`) in direction `3` (\$↘\$):

 p
 r
 o
 g
 r
 a
 m
 m
 i
 n
 g

Step 2: Draw 11-1 characters (`"nimmargorp"`) in direction `7` (\$↖\$):

 p
 r
 o
 g
 r
 a
 m
 m
 i
 n
 g

Step 3: Draw 4-1 characters (`" p"`) in direction `4` (\$↓\$):

 p
 r
 p o
 g
 r
 a
 m
 m
 i
 n
 g

Step 4: Draw 7-1 characters (`"uzzles"`) in direction `3` (\$↘\$):

 p
 r
 p o
 u g
 z r
 z a
 l m
 e m
 s i
 n
 g

etc.

[See this 05AB1E tip of mine for an in-depth explanation of the Canvas builtin.](https://codegolf.stackexchange.com/a/175520/52210)

`€gDø4.ý˜` could alternatively be [`εgD4)}˜¨` or `€gDø€4¦˜`](https://tio.run/##yy9OTMpM/f//UdOadJfDO0z0Du89PYdTh@vc1nQXE83a03MOrQDyoLJAyuTQMpD8///RSgVF@elFibm5mXnpSjpKBaVVVTmpxUBWYl4KkEzOT0kFUun5OWlKsQA), but I've been unable to find anything shorter.

AltStyle によって変換されたページ (->オリジナル) /