Sha256: 4f11c8eeecdebfbd509eaebb3d37cdaf4104aea2804d73e5b15969aa8bfd104f
Contents?: true
Size: 1.1 KB
Versions: 33
Compression:
Stored size: 1.1 KB
Contents
class ChangelogsController < ApplicationController def index return if ENV['CHANGELOGS_PATH'].blank? @titles = Dir.glob("#{ENV['CHANGELOGS_PATH']}/**") .select { |e| File.directory? e } .map do |folder_path| { title: File.basename(folder_path), files: Dir.glob("#{folder_path}/*.md").map do |md_file| { file_title: File.basename(md_file, '.md'), frontmatter: File.read(md_file).match(/\A(---.+?---)/mo) ? YAML.safe_load(File.read(md_file)) : {}, } end, } end end def show page_title = params[:name] folder_name = params[:folder] if File.exist?("#{ENV['CHANGELOGS_PATH']}/#{folder_name}/#{page_title}.md") page = Dir.glob("#{ENV['CHANGELOGS_PATH']}/#{folder_name}/#{page_title}.md").first document = File.read(page).gsub(/\A(---.+?---)/mo, '') else document = "<h3>Sorry, this file doesn't exist!</h3><code><strong>/_changelogs/#{folder_name}/#{page_title}.md</strong></code>" end @content = Nexmo::Markdown::Renderer.new({}).call(document) end end
Version data entries
33 entries across 33 versions & 1 rubygems