mirror of
https://github.com/pyenv/pyenv.git
synced 2024-11-21 20:47:00 -05:00
34 lines
671 B
Text
34 lines
671 B
Text
|
#!/usr/bin/env ruby
|
||
|
require 'escape_utils'
|
||
|
|
||
|
start_at_level = 2
|
||
|
|
||
|
headers = Hash.new(0)
|
||
|
|
||
|
anchor = lambda { |title|
|
||
|
href = title.downcase
|
||
|
href.gsub!(/[^\w\- ]/, '') # remove punctuation
|
||
|
href.gsub!(' ', '-') # replace spaces with dash
|
||
|
href = EscapeUtils.escape_uri(href) # escape extended UTF-8 chars
|
||
|
|
||
|
uniq = (headers[href] > 0) ? "-#{headers[href]}" : ''
|
||
|
headers[href] += 1
|
||
|
|
||
|
href + uniq
|
||
|
}
|
||
|
|
||
|
ARGF.each_line do |line|
|
||
|
if line =~ /^(#+) (.+?)#*$/
|
||
|
level = $1.size
|
||
|
next if level < start_at_level
|
||
|
title = $2.strip
|
||
|
href = anchor.call title
|
||
|
|
||
|
puts "%s* [%s](#%s)" % [
|
||
|
' ' * (level - start_at_level),
|
||
|
title,
|
||
|
href
|
||
|
]
|
||
|
end
|
||
|
end
|