Skip to content

Instantly share code, notes, and snippets.

@JenniferMack
Last active July 18, 2024 12:00
Show Gist options
  • 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
@JenniferMack
Copy link
Author

Usage: cat myfile.md | md-toc.rb > newfile.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment