├── spec ├── fixtures │ ├── renderer │ │ ├── invalid_renderer.rb │ │ └── valid_renderer.rb │ ├── source │ │ ├── colors │ │ │ └── colors.css │ │ ├── components │ │ │ ├── jekyll.md │ │ │ ├── bem.md │ │ │ ├── index.md │ │ │ ├── background │ │ │ │ └── backgrounds.css │ │ │ └── button │ │ │ │ ├── buttons.css │ │ │ │ └── skin │ │ │ │ └── buttonSkins.css │ │ ├── templates │ │ │ ├── _footer.html │ │ │ ├── _header.html │ │ │ └── static │ │ │ │ └── css │ │ │ │ └── doc.css │ │ ├── config.yml │ │ ├── config_multi_source.yml │ │ └── extra │ │ │ └── css │ │ │ └── screen.css │ └── styleguide │ │ ├── jekyll.html │ │ ├── code.html │ │ ├── static │ │ └── css │ │ │ └── doc.css │ │ ├── index.html │ │ ├── base_css.html │ │ └── extra │ │ └── css │ │ └── screen.css ├── hologram_markdown_renderer_spec.rb ├── spec_helper.rb ├── code_example_renderer │ ├── example_spec.rb │ ├── template_spec.rb │ └── factory_spec.rb ├── cli_spec.rb ├── utils_spec.rb ├── link_helper_spec.rb ├── markdown_renderer_spec.rb ├── doc_block_collection_spec.rb ├── display_message_spec.rb ├── document_block_spec.rb ├── doc_parser_spec.rb ├── doc_builder_spec.rb └── block_code_renderer_spec.rb ├── Gemfile ├── bin └── hologram ├── Rakefile ├── .travis.yml ├── lib ├── hologram │ ├── code_example_renderer │ │ ├── renderers │ │ │ ├── js_renderer.rb │ │ │ ├── jsx_renderer.rb │ │ │ ├── html_renderer.rb │ │ │ ├── haml_renderer.rb │ │ │ ├── slim_renderer.rb │ │ │ └── react_renderer.rb │ │ ├── example.rb │ │ ├── template.rb │ │ └── factory.rb │ ├── errors.rb │ ├── link_helper.rb │ ├── template_variables.rb │ ├── utils.rb │ ├── block_code_renderer.rb │ ├── plugins.rb │ ├── version.rb │ ├── cli.rb │ ├── doc_block_collection.rb │ ├── markdown_renderer.rb │ ├── display_message.rb │ ├── code_example_renderer.rb │ ├── document_block.rb │ ├── plugin.rb │ ├── doc_parser.rb │ └── doc_builder.rb ├── template │ ├── code_example_templates │ │ ├── js_example_template.html.erb │ │ ├── jsx_example_template.html.erb │ │ ├── markup_example_template.html.erb │ │ └── markup_table_template.html.erb │ ├── doc_assets │ │ ├── _footer.html │ │ └── _header.html │ └── hologram_config.yml └── hologram.rb ├── .gitignore ├── hologram.gemspec ├── LICENSE.txt ├── example_markdown_renderer.rb.example ├── CHANGELOG.md └── README.md /spec/fixtures/renderer/invalid_renderer.rb: -------------------------------------------------------------------------------- 1 | class FooBar < Redcarpet::Render::HTML 2 | end 3 | -------------------------------------------------------------------------------- /spec/fixtures/renderer/valid_renderer.rb: -------------------------------------------------------------------------------- 1 | class ValidRenderer < Redcarpet::Render::HTML 2 | end 3 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Specify your gem's dependencies in hologram.gemspec 4 | gemspec 5 | -------------------------------------------------------------------------------- /bin/hologram: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require 'hologram' 3 | require 'hologram/cli' 4 | 5 | cli = Hologram::CLI.new(ARGV) 6 | cli.run 7 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require "bundler/gem_tasks" 2 | require 'rspec/core/rake_task' 3 | 4 | RSpec::Core::RakeTask.new(:spec) 5 | 6 | task :default => :spec 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | script: "bundle exec rake spec" 2 | 3 | rvm: 4 | - 1.9.3 5 | - 2.0.0 6 | - 2.1 7 | 8 | notifications: 9 | email: false 10 | -------------------------------------------------------------------------------- /spec/fixtures/source/colors/colors.css: -------------------------------------------------------------------------------- 1 | /*doc 2 | --- 3 | title: Colors 4 | name: colors 5 | category: Base CSS 6 | --- 7 | 8 | Base colors 9 | 10 | 11 | */ 12 | -------------------------------------------------------------------------------- /spec/fixtures/source/components/jekyll.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: Blogging Like a Hacker 4 | --- 5 | 6 | This is an example of a markdown file whose YAML frontmatter will 7 | be ignored by Hologram. 8 | -------------------------------------------------------------------------------- /lib/hologram/code_example_renderer/renderers/js_renderer.rb: -------------------------------------------------------------------------------- 1 | Hologram::CodeExampleRenderer::Factory.define 'js' do 2 | example_template 'js_example_template' 3 | lexer { Rouge::Lexer.find('js') } 4 | end 5 | 6 | -------------------------------------------------------------------------------- /lib/hologram/code_example_renderer/renderers/jsx_renderer.rb: -------------------------------------------------------------------------------- 1 | Hologram::CodeExampleRenderer::Factory.define 'jsx' do 2 | example_template 'jsx_example_template' 3 | lexer { Rouge::Lexer.find('html') } 4 | end 5 | -------------------------------------------------------------------------------- /lib/template/code_example_templates/js_example_template.html.erb: -------------------------------------------------------------------------------- 1 | 2 |
<%= code_example %>
5 |