Skip to main content
6 of 7
added 267 characters in body
hyperneutrino
  • 42.6k
  • 5
  • 68
  • 224

Jelly, 118 bytes

L⁾||ẋṫ5“/\“\/”jµ⁾<>Ḋ?⁶ẋ4¤s2¤js1s2
j@€⁾  z⁶⁾_-jⱮZj@"Ç;“¡{+Ṁ“#ßɗ⁾ŀ`m“¬ṖȥƇʂẆEẒẓ“¡ɲÇ⁹E⁸ċ⁷“¡ɲÇ⁹D⁹{Ṅ’ṃ“\ ^_(o)/|-w”¤⁶ẋ8¤;Ɱ$¤

Try it online!

-26 bytes using base + integer compression (thanks to Bubbler for the idea)
-2 bytes thanks to caird coinheringaahing
-1 byte thanks to Nick Kennedy
thanks to Jonathan Allan for finding a bug; also -4 bytes from fixing it

Explanation

L⁾||ẋṫ5“/\“\/”jµ⁾<>Ḋ?⁶ẋ4¤s2¤js1s2  Helper Link - generates the side borders
                    ?              If
                   Ḋ               list[1:] (basically, if the length is not 1)
L⁾||ẋṫ5“/\“\/”jµ                   Sublink; generate the side borders for the non-edge case
L                                  Take the length
 ⁾||ẋ                              Repeat "||" that many times
     ṫ5                            Tail; remove the first 4 elements
       “/\“\/”j                    Use that result to join ["/\", "\/"]
                ⁾<>                Otherwise, return "<>"
                     ⁶ẋ4¤          " " * 4
                         s2¤       split into slices of size 2
                            j      Prepend and append (Extra spaces are needed because the top and bottom borders don't have side borders)
                             s2    Slices of length 2 (separate the left and right border components)
                               s2  Slices of length 2 (group the left and right border components into pairs)

j@€⁾  z⁶⁾_-jⱮZj@"Ç;“...’ṃ“ \_(o)/|-w^”¤⁶ẋ7¤;Ɱ$¤    Main Link
j@€⁾                                         join "  " with each row (surround in spaces)
      z⁶                                           Zip, using space as filler
            Ɱ                                      For each column
        ⁾_-j                                       Join ["_", "-"] using it (prepend _ and append -)
             Z                                     Zip
              j@"Ç                                 Vectorized swapped join with the helper link (basically, for each row, prepend and append the borders)
                  ;                                Append: {{
                   “...’                           [23386201, 8811166311836860, 134563374682941922730, 101089407352370886, 101089407336781202]
                        ṃ“ \_(o)/|-w^”             Base decompressed with " \_(o)/|-w^" - this is the cow without leading spaces
                                            Ɱ      For each row
                                       ⁶ẋ7¤;       Append " " * 7
                                                   }}
hyperneutrino
  • 42.6k
  • 5
  • 68
  • 224