markdown.snippets 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. priority -50
  2. global !p
  3. def create_table(snip):
  4. # retrieving single line from current string and treat it like tabstops count
  5. placeholders_string = snip.buffer[snip.line].strip()[2:].split("x",1)
  6. rows_amount = int(placeholders_string[0])
  7. columns_amount = int(placeholders_string[1])
  8. # erase current line
  9. snip.buffer[snip.line] = ''
  10. # create anonymous snippet with expected content and number of tabstops
  11. anon_snippet_title = ' | '.join(['$' + str(col) for col in range(1,columns_amount+1)]) + "\n"
  12. anon_snippet_delimiter = ':-|' * (columns_amount-1) + ":-\n"
  13. anon_snippet_body = ""
  14. for row in range(1,rows_amount+1):
  15. anon_snippet_body += ' | '.join(['$' + str(row*columns_amount+col) for col in range(1,columns_amount+1)]) + "\n"
  16. anon_snippet_table = anon_snippet_title + anon_snippet_delimiter + anon_snippet_body
  17. # expand anonymous snippet
  18. snip.expand_anon(anon_snippet_table)
  19. endglobal
  20. ###########################
  21. # Sections and Paragraphs #
  22. ###########################
  23. snippet sec "Section" b
  24. # ${1:Section Name} #
  25. $0
  26. endsnippet
  27. snippet ssec "Sub Section" b
  28. ## ${1:Section Name} ##
  29. $0
  30. endsnippet
  31. snippet sssec "SubSub Section" b
  32. ### ${1:Section Name} ###
  33. $0
  34. endsnippet
  35. snippet par "Paragraph" b
  36. #### ${1:Paragraph Name} ####
  37. $0
  38. endsnippet
  39. snippet spar "Paragraph" b
  40. ##### ${1:Paragraph Name} #####
  41. $0
  42. endsnippet
  43. ###################
  44. # Text formatting #
  45. ###################
  46. snippet * "italics"
  47. *${1:${VISUAL}}*$0
  48. endsnippet
  49. snippet ** "bold"
  50. **${1:${VISUAL}}**$0
  51. endsnippet
  52. snippet *** "bold italics"
  53. ***${1:${VISUAL}}***$0
  54. endsnippet
  55. ################
  56. # Common stuff #
  57. ################
  58. snippet link "Link to something"
  59. [${1:${VISUAL:Text}}](${3:http://${2:www.url.com}})$0
  60. endsnippet
  61. snippet img "Image"
  62. ![${1:pic alt}](${2:path}${3/.+/ "/}${3:opt title}${3/.+/"/})$0
  63. endsnippet
  64. snippet ilc "Inline Code" i
  65. \`$1\`$0
  66. endsnippet
  67. snippet cbl "Codeblock" b
  68. \`\`\`
  69. $1
  70. \`\`\`
  71. $0
  72. endsnippet
  73. snippet refl "Reference Link"
  74. [${1:${VISUAL:Text}}][${2:id}]$0
  75. [$2]:${4:http://${3:www.url.com}} "${5:$4}"
  76. endsnippet
  77. snippet fnt "Footnote"
  78. [^${1:${VISUAL:Footnote}}]$0
  79. [^$1]:${2:Text}
  80. endsnippet
  81. pre_expand "create_table(snip)"
  82. snippet "tb(\d+x\d+)" "Customizable table" br
  83. endsnippet
  84. # vim:ft=snippets:
  85. snippet meta(data)? "Markdown metadata front matter" br
  86. ---
  87. title: $1
  88. description: blog post
  89. date: "`!v strftime("%Y-%m-%d")`"
  90. image: "$2"
  91. tags: [$3]
  92. ---
  93. endsnippet