Skip to content

Instantly share code, notes, and snippets.

@JenniferMack
Last active November 22, 2023 06:48
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save JenniferMack/2f3edf7df90740f345e5 to your computer and use it in GitHub Desktop.
Save JenniferMack/2f3edf7df90740f345e5 to your computer and use it in GitHub Desktop.
Create a table of contents for Ulysses markdown
#!/usr/bin/env ruby
toc = "# Table of Contents\n"
newmd = ""
ARGF.each_line do |line|
newmd << line
next if !line.start_with?("#")
heading = line.gsub("#", "").strip
href = heading.gsub(" ", "-").downcase
newmd << "<a name=\"#{href}\"></a>\n"
toc << "\t" * (line.count("#")-1) + "- [#{heading}](\##{href})\n"
end
puts toc + "\n" + newmd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment