diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 6113bfcf..00000000 --- a/Rakefile +++ /dev/null @@ -1,341 +0,0 @@ -# -*- ruby -*- - -# load all optional developer libraries -begin - require 'rubygems' - require 'rubygems/package_task' -rescue LoadError -end - -begin - require 'webgen/page' -rescue LoadError -end - -begin - gem 'rdoc' if RUBY_VERSION >= '1.9' - require 'rdoc/task' - require 'rdoc/rdoc' - - class RDoc::RDoc - - alias :old_parse_files :parse_files - - def parse_files(options) - file_info = old_parse_files(options) - require 'kramdown/options' - - # Add options documentation to Kramdown::Options module - opt_module = @store.all_classes_and_modules.find {|m| m.full_name == 'Kramdown::Options'} - opt_defs = Kramdown::Options.definitions.sort.collect do |n, definition| - desc = definition.desc.split(/\n/).map {|l| " #{l}"} - desc[-2] = [] - desc = desc.join("\n") - "[#{n} (type: #{definition.type}, default: #{definition.default.inspect})]\n#{desc}\n\n" - end - opt_module.comment.text += "\n== Available Options\n\n" << opt_defs.join("\n\n") - - file_info - end - - end - -rescue LoadError -end - -begin - require 'rcov/rcovtask' -rescue LoadError -end - -require 'fileutils' -require 'rake/clean' -require 'rake/testtask' -require 'rake/packagetask' -require 'erb' - -$:.unshift('lib') -require 'kramdown' - -# End user tasks ################################################################ - -task :default => :test - -desc "Install using setup.rb" -task :install do - ruby "setup.rb config" - ruby "setup.rb setup" - ruby "setup.rb install" -end - -task :clobber do - ruby "setup.rb clean" -end - -if defined?(Webgen) - desc "Generate the HTML documentation" - task :htmldoc do - ruby "-Ilib -S webgen" - end - CLOBBER << "htmldoc/" - CLOBBER << "webgen-tmp" -end - -if defined? RDoc::Task - rd = RDoc::Task.new do |rdoc| - rdoc.rdoc_dir = 'htmldoc/rdoc' - rdoc.title = 'kramdown' - rdoc.main = 'lib/kramdown/document.rb' - rdoc.rdoc_files.include('lib') - end -end - -if defined?(Webgen) && defined?(RDoc::Task) - desc "Build the whole user documentation" - task :doc => [:rdoc, 'htmldoc'] -end - -tt = Rake::TestTask.new do |test| - test.warning = false - test.libs << 'test' - test.test_files = FileList['test/test_*.rb'] -end - -# Release tasks and development tasks ############################################ - -namespace :dev do - - SUMMARY = 'kramdown is a fast, pure-Ruby Markdown-superset converter.' - DESCRIPTION = < CONTRIBUTERS` - `echo "======= ====" >> CONTRIBUTERS` - `git log | grep ^Author: | sed 's/^Author: //' | sort | uniq -c | sort -nr >> CONTRIBUTERS` - end - - CLOBBER << "man/man1/kramdown.1" - file 'man/man1/kramdown.1' => ['man/man1/kramdown.1.erb'] do - puts "Generating kramdown man page" - File.open('man/man1/kramdown.1', 'w+') do |file| - data = ERB.new(File.read('man/man1/kramdown.1.erb')).result(binding) - file.write(Kramdown::Document.new(data).to_man) - end - end - - Rake::PackageTask.new('kramdown', Kramdown::VERSION) do |pkg| - pkg.need_tar = true - pkg.need_zip = true - pkg.package_files = PKG_FILES - end - - if defined? Gem - spec = Gem::Specification.new do |s| - - #### Basic information - s.name = 'kramdown' - s.version = Kramdown::VERSION - s.summary = SUMMARY - s.description = DESCRIPTION - s.license = 'MIT' - - #### Dependencies, requirements and files - s.files = PKG_FILES.to_a - - s.require_path = 'lib' - s.executables = ['kramdown'] - s.default_executable = 'kramdown' - s.required_ruby_version = '>= 2.0' - s.add_development_dependency 'minitest', '~> 5.0' - s.add_development_dependency 'coderay', '~> 1.0.0' - s.add_development_dependency 'rouge' - s.add_development_dependency 'stringex', '~> 1.5.1' - s.add_development_dependency 'prawn', '~> 2.0' - s.add_development_dependency 'prawn-table', '~> 0.2.2' - s.add_development_dependency 'ritex', '~> 1.0' - s.add_development_dependency 'itextomml', '~> 1.5' - s.add_development_dependency 'execjs', '~> 2.7' - s.add_development_dependency 'sskatex', '>= 0.9.37' - s.add_development_dependency 'katex', '~> 0.4.3' - - #### Documentation - - s.has_rdoc = true - s.rdoc_options = ['--main', 'lib/kramdown/document.rb'] - - #### Author and project details - - s.author = 'Thomas Leitner' - s.email = 't_leitner@gmx.at' - s.homepage = "http://kramdown.gettalong.org" - end - - - task :gemspec => [ 'CONTRIBUTERS', 'VERSION', 'man/man1/kramdown.1'] do - print "Generating Gemspec\n" - contents = spec.to_ruby - File.open("kramdown.gemspec", 'w+') {|f| f.puts(contents)} - end - - Gem::PackageTask.new(spec) do |pkg| - pkg.need_zip = true - pkg.need_tar = true - end - - end - - if defined?(Webgen) && defined?(Gem) && defined?(Rake::RDocTask) - desc 'Release Kramdown version ' + Kramdown::VERSION - task :release => [:clobber, :package, :publish_files, :publish_website] - end - - if defined?(Gem) - desc "Upload the release to Rubygems" - task :publish_files => [:package] do - sh "gem push pkg/kramdown-#{Kramdown::VERSION}.gem" - puts 'done' - end - end - - desc "Upload the website" - task :publish_website => ['doc'] do - puts "Transfer manually!!!" - # sh "rsync -avc --delete --exclude 'MathJax' --exclude 'robots.txt' htmldoc/ gettalong@rubyforge.org:/var/www/gforge-projects/kramdown/" - end - - - if defined? Rcov - Rcov::RcovTask.new do |rcov| - rcov.libs << 'test' - end - end - - CODING_LINE = "# -*- coding: utf-8 -*-\n" - COPYRIGHT=< -# -# This file is part of kramdown which is licensed under the MIT. -#++ -# -EOF - - desc "Insert/Update copyright notice" - task :update_copyright do - inserted = false - Dir["lib/**/*.rb", "test/**/*.rb"].each do |file| - if !File.read(file).start_with?(CODING_LINE + COPYRIGHT) - inserted = true - puts "Updating file #{file}" - old = File.read(file) - if !old.gsub!(/\A#{Regexp.escape(CODING_LINE)}#\n#--.*?\n#\+\+\n#\n/m, CODING_LINE + COPYRIGHT) - old.gsub!(/\A(#{Regexp.escape(CODING_LINE)})?/, CODING_LINE + COPYRIGHT + "\n") - end - File.open(file, 'w+') {|f| f.puts(old)} - end - end - puts "Look through the above mentioned files and correct all problems" if inserted - end - - desc "Check for MathjaxNode availability" - task :test_mathjaxnode_deps do - html = %x{echo '$$a$$' | \ - #{RbConfig.ruby} -Ilib bin/kramdown --no-config-file --math-engine mathjaxnode} - raise (<\Z}m === html -The MathjaxNode engine is not available. Try "npm install mathjax-node-cli". -MJN - puts "MathjaxNode is available, and its default configuration works." - end - - desc "Update kramdown MathjaxNode test reference outputs" - task update_mathjaxnode_tests: [:test_mathjaxnode_deps] do - # Not framed in terms of rake file tasks to prevent accidental overwrites. - Dir['test/testcases/**/mathjaxnode*.text'].each do |f| - stem = f[0..-6] # Remove .text - ruby "-Ilib bin/kramdown --config-file #{stem}.options #{f} >#{stem}.html.19" - end - end - - desc "Check for SsKaTeX availability" - task :test_sskatex_deps do - katexjs = 'katex/katex.min.js' - raise (<#{stem}.html.19" - end - end - - desc "Update kramdown KaTeX test reference outputs" - task :update_katex_tests do - # Not framed in terms of rake file tasks to prevent accidental overwrites. - Dir['test/testcases/**/katex*.text'].each do |f| - stem = f[0..-6] # Remove .text - ruby "-Ilib bin/kramdown --config-file #{stem}.options #{f} >#{stem}.html.19" - end - end -end - -task :gemspec => ['dev:gemspec'] - -task :clobber => ['dev:clobber'] diff --git a/benchmark/benchmark.rb b/benchmark/benchmark.rb deleted file mode 100644 index bad86af1..00000000 --- a/benchmark/benchmark.rb +++ /dev/null @@ -1,43 +0,0 @@ -require 'benchmark' -require 'stringio' - -require 'kramdown' -require 'bluecloth' -require 'maruku' -require 'maruku/version' -require 'rdiscount' -require 'bluefeather' -require 'redcarpet' - -module MaRuKu::Errors - def tell_user(s) - end -end - - -RUNS=20 - -FILES=['mdsyntax.text', 'mdbasics.text'] - -puts "Running tests on #{Time.now.strftime("%Y-%m-%d")} under #{RUBY_DESCRIPTION}" - -FILES.each do |file| - data = File.read(File.join(File.dirname(__FILE__), file)) - puts - puts "Test using file #{file} and #{RUNS} runs" - results = Benchmark.bmbm do |b| - b.report("kramdown #{Kramdown::VERSION}") { RUNS.times { Kramdown::Document.new(data).to_html } } - b.report("Maruku #{MaRuKu::Version}") { RUNS.times { Maruku.new(data, :on_error => :ignore).to_html } } - b.report("BlueFeather #{BlueFeather::VERSION}") { RUNS.times { BlueFeather.parse(data) } } - b.report("BlueCloth #{BlueCloth::VERSION}") { RUNS.times { BlueCloth.new(data).to_html } } - b.report("RDiscount #{RDiscount::VERSION}") { RUNS.times { RDiscount.new(data).to_html } } - b.report("redcarpet #{Redcarpet::VERSION}") { RUNS.times { Redcarpet::Markdown.new(Redcarpet::Render::HTML).render(data) } } - end - - puts - puts "Real time of X divided by real time of kramdown" - kd = results.shift.real - %w[Maruku BlueFeather BlueCloth RDiscount redcarpet].each do |name| - puts name.ljust(19) << (results.shift.real/kd).round(4).to_s - end -end diff --git a/benchmark/benchmark.sh b/benchmark/benchmark.sh deleted file mode 100755 index 3fe600c3..00000000 --- a/benchmark/benchmark.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -source ~/.profile - -RUBY_VERSIONS=`rvm list strings | sort` -KD_VERSIONS="`git tag | sort -V` master" -OTHERS=false -AVERAGE=1 -MASTER_AS=master - -while getopts "r:k:om:a:" optname; do - case "$optname" in - "r") - RUBY_VERSIONS="$OPTARG" - ;; - "k") - KD_VERSIONS="$OPTARG" - ;; - "o") - OTHERS=true - ;; - "m") - MASTER_AS="$OPTARG" - ;; - "a") - AVERAGE="$OPTARG" - ;; - "?") - echo "Unknown option $OPTARG" - exit 1 - ;; - ":") - echo "No argument value for option $OPTARG" - exit 1 - ;; - *) - echo "Unknown error while processing options" - exit 1 - ;; - esac -done - -TMPDIR=/tmp/kramdown-benchmark - -rm -rf $TMPDIR -mkdir -p $TMPDIR -cp benchmark/md* $TMPDIR -cp benchmark/generate_data.rb $TMPDIR -git clone .git ${TMPDIR}/kramdown -cd ${TMPDIR}/kramdown - -for RUBY_VERSION in $RUBY_VERSIONS; do - rvm use $RUBY_VERSION - echo "Creating benchmark data for $(ruby -v)" - - for KD_VERSION in $KD_VERSIONS; do - echo "Using kramdown version $KD_VERSION" - git co $KD_VERSION 2>/dev/null - if [ -z $MASTER_AS -o $KD_VERSION != master ]; then - VNUM=${KD_VERSION} - else - VNUM=$MASTER_AS - fi - ruby -I${TMPDIR}/kramdown/lib ../generate_data.rb -k ${VNUM} -a ${AVERAGE} >/dev/null - done - - if [ $OTHERS = "true" ]; then - ruby -rubygems -I${TMPDIR}/kramdown/lib ../generate_data.rb -o >/dev/null - fi -done - -cd ${TMPDIR} -rvm default -ruby generate_data.rb -g diff --git a/benchmark/generate_data.rb b/benchmark/generate_data.rb deleted file mode 100644 index 762ebc3d..00000000 --- a/benchmark/generate_data.rb +++ /dev/null @@ -1,119 +0,0 @@ -require 'benchmark' -require 'optparse' -require 'fileutils' - -require 'kramdown' - -options = {:others => false, :average => 1} -OptionParser.new do |opts| - opts.on("-a AVG", "--average AVG", Integer, "Average times over the specified number of runs") {|v| options[:average] = v } - opts.on("-o", "--[no-]others", "Generate data for other parsers") {|v| options[:others] = v} - opts.on("-g", "--[no-]graph", "Generate graph") {|v| options[:graph] = v} - opts.on("-k VERSION", "--kramdown VERSION", String, "Add benchmark data for kramdown version VERSION") {|v| options[:kramdown] = v} -end.parse! - -THISRUBY = (self.class.const_defined?(:RUBY_DESCRIPTION) ? RUBY_DESCRIPTION.scan(/^.*?(?=\s*\()/).first.sub(/\s/, '-') : "ruby-#{RUBY_VERSION}") + '-' + RUBY_PATCHLEVEL.to_s - -Dir.chdir(File.dirname(__FILE__)) -BMDATA = File.read('mdbasics.text') -MULTIPLIER = (0..5).map {|i| 2**i} - -if options[:others] - require 'maruku' - require 'maruku/version' - begin - require 'rdiscount' - rescue LoadError - end - #require 'bluefeather' - - module MaRuKu::Errors - def tell_user(s) - end - end - - bmdata = {} - labels = [] - MULTIPLIER.each do |i| - $stderr.puts "Generating benchmark data for other parsers, multiplier #{i}" - mddata = BMDATA*i - labels = [] - bmdata[i] = Benchmark::bmbm do |x| - labels << "Maruku #{MaRuKu::Version}" - x.report { Maruku.new(mddata, :on_error => :ignore).to_html } - if self.class.const_defined?(:BlueFeather) - labels << "BlueFeather #{BlueFeather::VERSION}" - x.report { BlueFeather.parse(mddata) } - end - if self.class.const_defined?(:RDiscount) - labels << "RDiscount #{RDiscount::VERSION}" - x.report { RDiscount.new(mddata).to_html } - end - end - end - File.open("static-#{THISRUBY}.dat", 'w+') do |f| - f.puts "# " + labels.join(" || ") - format_str = "%5d" + " %10.5f"*bmdata[MULTIPLIER.first].size - bmdata.sort.each do |m,v| - f.puts format_str % [m, *v.map {|tms| tms.real}] - end - end -end - -if options[:kramdown] - kramdown = "kramdown-#{THISRUBY}.dat" - data = if File.exist?(kramdown) - lines = File.readlines(kramdown).map {|l| l.chomp} - lines.first << " || " - lines - else - ["# ", *MULTIPLIER.map {|m| "%3d" % m}] - end - data.first << "#{options[:kramdown]}".rjust(10) - - times = [] - options[:average].times do - MULTIPLIER.each_with_index do |m, i| - $stderr.puts "Generating benchmark data for kramdown version #{options[:kramdown]}, multiplier #{m}" - mddata = BMDATA*m - begin - (times[i] ||= []) << Benchmark::bmbm {|x| x.report { Kramdown::Document.new(mddata).to_html } }.first.real - rescue - $stderr.puts $!.message - (times[i] ||= []) << 0 - end - end - end - times.each_with_index {|t,i| data[i+1] << "%14.5f" % (t.inject(0) {|sum,v| sum+v}/3.0)} - File.open(kramdown, 'w+') do |f| - data.each {|l| f.puts l} - end -end - -if options[:graph] - Dir['kramdown-*.dat'].each do |kramdown_name| - theruby = kramdown_name.sub(/^kramdown-/, '').sub(/\.dat$/, '') - graph_name = "graph-#{theruby}.png" - static_name = "static-#{theruby}.dat" - kramdown_names = File.readlines(kramdown_name).first.chomp[1..-1].split(/\s*\|\|\s*/) - static_names = (File.exist?(static_name) ? File.readlines(static_name).first.chomp[1..-1].split(/\s*\|\|\s*/) : []) - File.open("gnuplot.dat", "w+") do |f| - f.puts < -
  • Main
  • -
  • Basics
  • -
  • Syntax
  • -
  • License
  • -
  • Dingus
  • - - - -Getting the Gist of Markdown's Formatting Syntax ------------------------------------------------- - -This page offers a brief overview of what it's like to use Markdown. -The [syntax page] [s] provides complete, detailed documentation for -every feature, but Markdown should be very easy to pick up simply by -looking at a few examples of it in action. The examples on this page -are written in a before/after style, showing example syntax and the -HTML output produced by Markdown. - -It's also helpful to simply try Markdown out; the [Dingus] [d] is a -web application that allows you type your own Markdown-formatted text -and translate it to XHTML. - -**Note:** This document is itself written using Markdown; you -can [see the source for it by adding '.text' to the URL] [src]. - - [s]: /projects/markdown/syntax "Markdown Syntax" - [d]: /projects/markdown/dingus "Markdown Dingus" - [src]: /projects/markdown/basics.text - - -## Paragraphs, Headers, Blockquotes ## - -A paragraph is simply one or more consecutive lines of text, separated -by one or more blank lines. (A blank line is any line that looks like a -blank line -- a line containing nothing spaces or tabs is considered -blank.) Normal paragraphs should not be intended with spaces or tabs. - -Markdown offers two styles of headers: *Setext* and *atx*. -Setext-style headers for `

    ` and `

    ` are created by -"underlining" with equal signs (`=`) and hyphens (`-`), respectively. -To create an atx-style header, you put 1-6 hash marks (`#`) at the -beginning of the line -- the number of hashes equals the resulting -HTML header level. - -Blockquotes are indicated using email-style '`>`' angle brackets. - -Markdown: - - A First Level Header - ==================== - - A Second Level Header - --------------------- - - Now is the time for all good men to come to - the aid of their country. This is just a - regular paragraph. - - The quick brown fox jumped over the lazy - dog's back. - - ### Header 3 - - > This is a blockquote. - > - > This is the second paragraph in the blockquote. - > - > ## This is an H2 in a blockquote - - -Output: - -

    A First Level Header

    - -

    A Second Level Header

    - -

    Now is the time for all good men to come to - the aid of their country. This is just a - regular paragraph.

    - -

    The quick brown fox jumped over the lazy - dog's back.

    - -

    Header 3

    - -
    -

    This is a blockquote.

    - -

    This is the second paragraph in the blockquote.

    - -

    This is an H2 in a blockquote

    -
    - - - -### Phrase Emphasis ### - -Markdown uses asterisks and underscores to indicate spans of emphasis. - -Markdown: - - Some of these words *are emphasized*. - Some of these words _are emphasized also_. - - Use two asterisks for **strong emphasis**. - Or, if you prefer, __use two underscores instead__. - -Output: - -

    Some of these words are emphasized. - Some of these words are emphasized also.

    - -

    Use two asterisks for strong emphasis. - Or, if you prefer, use two underscores instead.

    - - - -## Lists ## - -Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`, -`+`, and `-`) as list markers. These three markers are -interchangable; this: - - * Candy. - * Gum. - * Booze. - -this: - - + Candy. - + Gum. - + Booze. - -and this: - - - Candy. - - Gum. - - Booze. - -all produce the same output: - -
      -
    • Candy.
    • -
    • Gum.
    • -
    • Booze.
    • -
    - -Ordered (numbered) lists use regular numbers, followed by periods, as -list markers: - - 1. Red - 2. Green - 3. Blue - -Output: - -
      -
    1. Red
    2. -
    3. Green
    4. -
    5. Blue
    6. -
    - -If you put blank lines between items, you'll get `

    ` tags for the -list item text. You can create multi-paragraph list items by indenting -the paragraphs by 4 spaces or 1 tab: - - * A list item. - - With multiple paragraphs. - - * Another item in the list. - -Output: - -

      -
    • A list item.

      -

      With multiple paragraphs.

    • -
    • Another item in the list.

    • -
    - - - -### Links ### - -Markdown supports two styles for creating links: *inline* and -*reference*. With both styles, you use square brackets to delimit the -text you want to turn into a link. - -Inline-style links use parentheses immediately after the link text. -For example: - - This is an [example link](http://example.com/). - -Output: - -

    This is an - example link.

    - -Optionally, you may include a title attribute in the parentheses: - - This is an [example link](http://example.com/ "With a Title"). - -Output: - -

    This is an - example link.

    - -Reference-style links allow you to refer to your links by names, which -you define elsewhere in your document: - - I get 10 times more traffic from [Google][1] than from - [Yahoo][2] or [MSN][3]. - - [1]: http://google.com/ "Google" - [2]: http://search.yahoo.com/ "Yahoo Search" - [3]: http://search.msn.com/ "MSN Search" - -Output: - -

    I get 10 times more traffic from Google than from Yahoo or MSN.

    - -The title attribute is optional. Link names may contain letters, -numbers and spaces, but are *not* case sensitive: - - I start my morning with a cup of coffee and - [The New York Times][NY Times]. - - [ny times]: http://www.nytimes.com/ - -Output: - -

    I start my morning with a cup of coffee and - The New York Times.

    - - -### Images ### - -Image syntax is very much like link syntax. - -Inline (titles are optional): - - ![alt text](/path/to/img.jpg "Title") - -Reference-style: - - ![alt text][id] - - [id]: /path/to/img.jpg "Title" - -Both of the above examples produce the same output: - - alt text - - - -### Code ### - -In a regular paragraph, you can create code span by wrapping text in -backtick quotes. Any ampersands (`&`) and angle brackets (`<` or -`>`) will automatically be translated into HTML entities. This makes -it easy to use Markdown to write about HTML example code: - - I strongly recommend against using any `` tags. - - I wish SmartyPants used named entities like `—` - instead of decimal-encoded entites like `—`. - -Output: - -

    I strongly recommend against using any - <blink> tags.

    - -

    I wish SmartyPants used named entities like - &mdash; instead of decimal-encoded - entites like &#8212;.

    - - -To specify an entire block of pre-formatted code, indent every line of -the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`, -and `>` characters will be escaped automatically. - -Markdown: - - If you want your page to validate under XHTML 1.0 Strict, - you've got to put paragraph tags in your blockquotes: - -
    -

    For example.

    -
    - -Output: - -

    If you want your page to validate under XHTML 1.0 Strict, - you've got to put paragraph tags in your blockquotes:

    - -
    <blockquote>
    -        <p>For example.</p>
    -    </blockquote>
    -    
    diff --git a/benchmark/mdsyntax.text b/benchmark/mdsyntax.text deleted file mode 100644 index 57360a16..00000000 --- a/benchmark/mdsyntax.text +++ /dev/null @@ -1,888 +0,0 @@ -Markdown: Syntax -================ - - - - -* [Overview](#overview) - * [Philosophy](#philosophy) - * [Inline HTML](#html) - * [Automatic Escaping for Special Characters](#autoescape) -* [Block Elements](#block) - * [Paragraphs and Line Breaks](#p) - * [Headers](#header) - * [Blockquotes](#blockquote) - * [Lists](#list) - * [Code Blocks](#precode) - * [Horizontal Rules](#hr) -* [Span Elements](#span) - * [Links](#link) - * [Emphasis](#em) - * [Code](#code) - * [Images](#img) -* [Miscellaneous](#misc) - * [Backslash Escapes](#backslash) - * [Automatic Links](#autolink) - - -**Note:** This document is itself written using Markdown; you -can [see the source for it by adding '.text' to the URL][src]. - - [src]: /projects/markdown/syntax.text - -* * * - -

    Overview

    - -

    Philosophy

    - -Markdown is intended to be as easy-to-read and easy-to-write as is feasible. - -Readability, however, is emphasized above all else. A Markdown-formatted -document should be publishable as-is, as plain text, without looking -like it's been marked up with tags or formatting instructions. While -Markdown's syntax has been influenced by several existing text-to-HTML -filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4], -[Grutatext] [5], and [EtText] [6] -- the single biggest source of -inspiration for Markdown's syntax is the format of plain text email. - - [1]: http://docutils.sourceforge.net/mirror/setext.html - [2]: http://www.aaronsw.com/2002/atx/ - [3]: http://textism.com/tools/textile/ - [4]: http://docutils.sourceforge.net/rst.html - [5]: http://www.triptico.com/software/grutatxt.html - [6]: http://ettext.taint.org/doc/ - -To this end, Markdown's syntax is comprised entirely of punctuation -characters, which punctuation characters have been carefully chosen so -as to look like what they mean. E.g., asterisks around a word actually -look like \*emphasis\*. Markdown lists look like, well, lists. Even -blockquotes look like quoted passages of text, assuming you've ever -used email. - - - -

    Inline HTML

    - -Markdown's syntax is intended for one purpose: to be used as a -format for *writing* for the web. - -Markdown is not a replacement for HTML, or even close to it. Its -syntax is very small, corresponding only to a very small subset of -HTML tags. The idea is *not* to create a syntax that makes it easier -to insert HTML tags. In my opinion, HTML tags are already easy to -insert. The idea for Markdown is to make it easy to read, write, and -edit prose. HTML is a *publishing* format; Markdown is a *writing* -format. Thus, Markdown's formatting syntax only addresses issues that -can be conveyed in plain text. - -For any markup that is not covered by Markdown's syntax, you simply -use HTML itself. There's no need to preface it or delimit it to -indicate that you're switching from Markdown to HTML; you just use -the tags. - -The only restrictions are that block-level HTML elements -- e.g. `
    `, -``, `
    `, `

    `, etc. -- must be separated from surrounding -content by blank lines, and the start and end tags of the block should -not be indented with tabs or spaces. Markdown is smart enough not -to add extra (unwanted) `

    ` tags around HTML block-level tags. - -For example, to add an HTML table to a Markdown article: - - This is a regular paragraph. - -

    - - - -
    Foo
    - - This is another regular paragraph. - -Note that Markdown formatting syntax is not processed within block-level -HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an -HTML block. - -Span-level HTML tags -- e.g. ``, ``, or `` -- can be -used anywhere in a Markdown paragraph, list item, or header. If you -want, you can even use HTML tags instead of Markdown formatting; e.g. if -you'd prefer to use HTML `` or `` tags instead of Markdown's -link or image syntax, go right ahead. - -Unlike block-level HTML tags, Markdown syntax *is* processed within -span-level tags. - - -

    Automatic Escaping for Special Characters

    - -In HTML, there are two characters that demand special treatment: `<` -and `&`. Left angle brackets are used to start tags; ampersands are -used to denote HTML entities. If you want to use them as literal -characters, you must escape them as entities, e.g. `<`, and -`&`. - -Ampersands in particular are bedeviling for web writers. If you want to -write about 'AT&T', you need to write '`AT&T`'. You even need to -escape ampersands within URLs. Thus, if you want to link to: - - http://images.google.com/images?num=30&q=larry+bird - -you need to encode the URL as: - - http://images.google.com/images?num=30&q=larry+bird - -in your anchor tag `href` attribute. Needless to say, this is easy to -forget, and is probably the single most common source of HTML validation -errors in otherwise well-marked-up web sites. - -Markdown allows you to use these characters naturally, taking care of -all the necessary escaping for you. If you use an ampersand as part of -an HTML entity, it remains unchanged; otherwise it will be translated -into `&`. - -So, if you want to include a copyright symbol in your article, you can write: - - © - -and Markdown will leave it alone. But if you write: - - AT&T - -Markdown will translate it to: - - AT&T - -Similarly, because Markdown supports [inline HTML](#html), if you use -angle brackets as delimiters for HTML tags, Markdown will treat them as -such. But if you write: - - 4 < 5 - -Markdown will translate it to: - - 4 < 5 - -However, inside Markdown code spans and blocks, angle brackets and -ampersands are *always* encoded automatically. This makes it easy to use -Markdown to write about HTML code. (As opposed to raw HTML, which is a -terrible format for writing about HTML syntax, because every single `<` -and `&` in your example code needs to be escaped.) - - -* * * - - -

    Block Elements

    - - -

    Paragraphs and Line Breaks

    - -A paragraph is simply one or more consecutive lines of text, separated -by one or more blank lines. (A blank line is any line that looks like a -blank line -- a line containing nothing but spaces or tabs is considered -blank.) Normal paragraphs should not be intended with spaces or tabs. - -The implication of the "one or more consecutive lines of text" rule is -that Markdown supports "hard-wrapped" text paragraphs. This differs -significantly from most other text-to-HTML formatters (including Movable -Type's "Convert Line Breaks" option) which translate every line break -character in a paragraph into a `
    ` tag. - -When you *do* want to insert a `
    ` break tag using Markdown, you -end a line with two or more spaces, then type return. - -Yes, this takes a tad more effort to create a `
    `, but a simplistic -"every line break is a `
    `" rule wouldn't work for Markdown. -Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l] -work best -- and look better -- when you format them with hard breaks. - - [bq]: #blockquote - [l]: #list - - - - - -Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. - -Setext-style headers are "underlined" using equal signs (for first-level -headers) and dashes (for second-level headers). For example: - - This is an H1 - ============= - - This is an H2 - ------------- - -Any number of underlining `=`'s or `-`'s will work. - -Atx-style headers use 1-6 hash characters at the start of the line, -corresponding to header levels 1-6. For example: - - # This is an H1 - - ## This is an H2 - - ###### This is an H6 - -Optionally, you may "close" atx-style headers. This is purely -cosmetic -- you can use this if you think it looks better. The -closing hashes don't even need to match the number of hashes -used to open the header. (The number of opening hashes -determines the header level.) : - - # This is an H1 # - - ## This is an H2 ## - - ### This is an H3 ###### - - -

    Blockquotes

    - -Markdown uses email-style `>` characters for blockquoting. If you're -familiar with quoting passages of text in an email message, then you -know how to create a blockquote in Markdown. It looks best if you hard -wrap the text and put a `>` before every line: - - > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, - > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. - > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. - > - > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse - > id sem consectetuer libero luctus adipiscing. - -Markdown allows you to be lazy and only put the `>` before the first -line of a hard-wrapped paragraph: - - > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, - consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. - Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. - - > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse - id sem consectetuer libero luctus adipiscing. - -Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by -adding additional levels of `>`: - - > This is the first level of quoting. - > - > > This is nested blockquote. - > - > Back to the first level. - -Blockquotes can contain other Markdown elements, including headers, lists, -and code blocks: - - > ## This is a header. - > - > 1. This is the first list item. - > 2. This is the second list item. - > - > Here's some example code: - > - > return shell_exec("echo $input | $markdown_script"); - -Any decent text editor should make email-style quoting easy. For -example, with BBEdit, you can make a selection and choose Increase -Quote Level from the Text menu. - - -

    Lists

    - -Markdown supports ordered (numbered) and unordered (bulleted) lists. - -Unordered lists use asterisks, pluses, and hyphens -- interchangably --- as list markers: - - * Red - * Green - * Blue - -is equivalent to: - - + Red - + Green - + Blue - -and: - - - Red - - Green - - Blue - -Ordered lists use numbers followed by periods: - - 1. Bird - 2. McHale - 3. Parish - -It's important to note that the actual numbers you use to mark the -list have no effect on the HTML output Markdown produces. The HTML -Markdown produces from the above list is: - -
      -
    1. Bird
    2. -
    3. McHale
    4. -
    5. Parish
    6. -
    - -If you instead wrote the list in Markdown like this: - - 1. Bird - 1. McHale - 1. Parish - -or even: - - 3. Bird - 1. McHale - 8. Parish - -you'd get the exact same HTML output. The point is, if you want to, -you can use ordinal numbers in your ordered Markdown lists, so that -the numbers in your source match the numbers in your published HTML. -But if you want to be lazy, you don't have to. - -If you do use lazy list numbering, however, you should still start the -list with the number 1. At some point in the future, Markdown may support -starting ordered lists at an arbitrary number. - -List markers typically start at the left margin, but may be indented by -up to three spaces. List markers must be followed by one or more spaces -or a tab. - -To make lists look nice, you can wrap items with hanging indents: - - * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. - Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, - viverra nec, fringilla in, laoreet vitae, risus. - * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. - Suspendisse id sem consectetuer libero luctus adipiscing. - -But if you want to be lazy, you don't have to: - - * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. - Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, - viverra nec, fringilla in, laoreet vitae, risus. - * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. - Suspendisse id sem consectetuer libero luctus adipiscing. - -If list items are separated by blank lines, Markdown will wrap the -items in `

    ` tags in the HTML output. For example, this input: - - * Bird - * Magic - -will turn into: - -

      -
    • Bird
    • -
    • Magic
    • -
    - -But this: - - * Bird - - * Magic - -will turn into: - -
      -
    • Bird

    • -
    • Magic

    • -
    - -List items may consist of multiple paragraphs. Each subsequent -paragraph in a list item must be intended by either 4 spaces -or one tab: - - 1. This is a list item with two paragraphs. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. Aliquam hendrerit - mi posuere lectus. - - Vestibulum enim wisi, viverra nec, fringilla in, laoreet - vitae, risus. Donec sit amet nisl. Aliquam semper ipsum - sit amet velit. - - 2. Suspendisse id sem consectetuer libero luctus adipiscing. - -It looks nice if you indent every line of the subsequent -paragraphs, but here again, Markdown will allow you to be -lazy: - - * This is a list item with two paragraphs. - - This is the second paragraph in the list item. You're - only required to indent the first line. Lorem ipsum dolor - sit amet, consectetuer adipiscing elit. - - * Another item in the same list. - -To put a blockquote within a list item, the blockquote's `>` -delimiters need to be indented: - - * A list item with a blockquote: - - > This is a blockquote - > inside a list item. - -To put a code block within a list item, the code block needs -to be indented *twice* -- 8 spaces or two tabs: - - * A list item with a code block: - - - - -It's worth noting that it's possible to trigger an ordered list by -accident, by writing something like this: - - 1986. What a great season. - -In other words, a *number-period-space* sequence at the beginning of a -line. To avoid this, you can backslash-escape the period: - - 1986\. What a great season. - - - -

    Code Blocks

    - -Pre-formatted code blocks are used for writing about programming or -markup source code. Rather than forming normal paragraphs, the lines -of a code block are interpreted literally. Markdown wraps a code block -in both `
    ` and `` tags.
    -
    -To produce a code block in Markdown, simply indent every line of the
    -block by at least 4 spaces or 1 tab. For example, given this input:
    -
    -    This is a normal paragraph:
    -
    -        This is a code block.
    -
    -Markdown will generate:
    -
    -    

    This is a normal paragraph:

    - -
    This is a code block.
    -    
    - -One level of indentation -- 4 spaces or 1 tab -- is removed from each -line of the code block. For example, this: - - Here is an example of AppleScript: - - tell application "Foo" - beep - end tell - -will turn into: - -

    Here is an example of AppleScript:

    - -
    tell application "Foo"
    -        beep
    -    end tell
    -    
    - -A code block continues until it reaches a line that is not indented -(or the end of the article). - -Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) -are automatically converted into HTML entities. This makes it very -easy to include example HTML source code using Markdown -- just paste -it and indent it, and Markdown will handle the hassle of encoding the -ampersands and angle brackets. For example, this: - - - -will turn into: - -
    <div class="footer">
    -        &copy; 2004 Foo Corporation
    -    </div>
    -    
    - -Regular Markdown syntax is not processed within code blocks. E.g., -asterisks are just literal asterisks within a code block. This means -it's also easy to use Markdown to write about Markdown's own syntax. - - - -

    Horizontal Rules

    - -You can produce a horizontal rule tag (`
    `) by placing three or -more hyphens, asterisks, or underscores on a line by themselves. If you -wish, you may use spaces between the hyphens or asterisks. Each of the -following lines will produce a horizontal rule: - - * * * - - *** - - ***** - - - - - - - --------------------------------------- - - _ _ _ - - -* * * - -

    Span Elements

    - - - -Markdown supports two style of links: *inline* and *reference*. - -In both styles, the link text is delimited by [square brackets]. - -To create an inline link, use a set of regular parentheses immediately -after the link text's closing square bracket. Inside the parentheses, -put the URL where you want the link to point, along with an *optional* -title for the link, surrounded in quotes. For example: - - This is [an example](http://example.com/ "Title") inline link. - - [This link](http://example.net/) has no title attribute. - -Will produce: - -

    This is - an example inline link.

    - -

    This link has no - title attribute.

    - -If you're referring to a local resource on the same server, you can -use relative paths: - - See my [About](/about/) page for details. - -Reference-style links use a second set of square brackets, inside -which you place a label of your choosing to identify the link: - - This is [an example][id] reference-style link. - -You can optionally use a space to separate the sets of brackets: - - This is [an example] [id] reference-style link. - -Then, anywhere in the document, you define your link label like this, -on a line by itself: - - [id]: http://example.com/ "Optional Title Here" - -That is: - -* Square brackets containing the link identifier (optionally - indented from the left margin using up to three spaces); -* followed by a colon; -* followed by one or more spaces (or tabs); -* followed by the URL for the link; -* optionally followed by a title attribute for the link, enclosed - in double or single quotes. - -The link URL may, optionally, be surrounded by angle brackets: - - [id]: "Optional Title Here" - -You can put the title attribute on the next line and use extra spaces -or tabs for padding, which tends to look better with longer URLs: - - [id]: http://example.com/longish/path/to/resource/here - "Optional Title Here" - -Link definitions are only used for creating links during Markdown -processing, and are stripped from your document in the HTML output. - -Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links: - - [link text][a] - [link text][A] - -are equivalent. - -The *implicit link name* shortcut allows you to omit the name of the -link, in which case the link text itself is used as the name. -Just use an empty set of square brackets -- e.g., to link the word -"Google" to the google.com web site, you could simply write: - - [Google][] - -And then define the link: - - [Google]: http://google.com/ - -Because link names may contain spaces, this shortcut even works for -multiple words in the link text: - - Visit [Daring Fireball][] for more information. - -And then define the link: - - [Daring Fireball]: http://daringfireball.net/ - -Link definitions can be placed anywhere in your Markdown document. I -tend to put them immediately after each paragraph in which they're -used, but if you want, you can put them all at the end of your -document, sort of like footnotes. - -Here's an example of reference links in action: - - I get 10 times more traffic from [Google] [1] than from - [Yahoo] [2] or [MSN] [3]. - - [1]: http://google.com/ "Google" - [2]: http://search.yahoo.com/ "Yahoo Search" - [3]: http://search.msn.com/ "MSN Search" - -Using the implicit link name shortcut, you could instead write: - - I get 10 times more traffic from [Google][] than from - [Yahoo][] or [MSN][]. - - [google]: http://google.com/ "Google" - [yahoo]: http://search.yahoo.com/ "Yahoo Search" - [msn]: http://search.msn.com/ "MSN Search" - -Both of the above examples will produce the following HTML output: - -

    I get 10 times more traffic from Google than from - Yahoo - or MSN.

    - -For comparison, here is the same paragraph written using -Markdown's inline link style: - - I get 10 times more traffic from [Google](http://google.com/ "Google") - than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or - [MSN](http://search.msn.com/ "MSN Search"). - -The point of reference-style links is not that they're easier to -write. The point is that with reference-style links, your document -source is vastly more readable. Compare the above examples: using -reference-style links, the paragraph itself is only 81 characters -long; with inline-style links, it's 176 characters; and as raw HTML, -it's 234 characters. In the raw HTML, there's more markup than there -is text. - -With Markdown's reference-style links, a source document much more -closely resembles the final output, as rendered in a browser. By -allowing you to move the markup-related metadata out of the paragraph, -you can add links without interrupting the narrative flow of your -prose. - - -

    Emphasis

    - -Markdown treats asterisks (`*`) and underscores (`_`) as indicators of -emphasis. Text wrapped with one `*` or `_` will be wrapped with an -HTML `` tag; double `*`'s or `_`'s will be wrapped with an HTML -`` tag. E.g., this input: - - *single asterisks* - - _single underscores_ - - **double asterisks** - - __double underscores__ - -will produce: - - single asterisks - - single underscores - - double asterisks - - double underscores - -You can use whichever style you prefer; the lone restriction is that -the same character must be used to open and close an emphasis span. - -Emphasis can be used in the middle of a word: - - un*fucking*believable - -But if you surround an `*` or `_` with spaces, it'll be treated as a -literal asterisk or underscore. - -To produce a literal asterisk or underscore at a position where it -would otherwise be used as an emphasis delimiter, you can backslash -escape it: - - \*this text is surrounded by literal asterisks\* - - - -

    Code

    - -To indicate a span of code, wrap it with backtick quotes (`` ` ``). -Unlike a pre-formatted code block, a code span indicates code within a -normal paragraph. For example: - - Use the `printf()` function. - -will produce: - -

    Use the printf() function.

    - -To include a literal backtick character within a code span, you can use -multiple backticks as the opening and closing delimiters: - - ``There is a literal backtick (`) here.`` - -which will produce this: - -

    There is a literal backtick (`) here.

    - -The backtick delimiters surrounding a code span may include spaces -- -one after the opening, one before the closing. This allows you to place -literal backtick characters at the beginning or end of a code span: - - A single backtick in a code span: `` ` `` - - A backtick-delimited string in a code span: `` `foo` `` - -will produce: - -

    A single backtick in a code span: `

    - -

    A backtick-delimited string in a code span: `foo`

    - -With a code span, ampersands and angle brackets are encoded as HTML -entities automatically, which makes it easy to include example HTML -tags. Markdown will turn this: - - Please don't use any `` tags. - -into: - -

    Please don't use any <blink> tags.

    - -You can write this: - - `—` is the decimal-encoded equivalent of `—`. - -to produce: - -

    &#8212; is the decimal-encoded - equivalent of &mdash;.

    - - - -

    Images

    - -Admittedly, it's fairly difficult to devise a "natural" syntax for -placing images into a plain text document format. - -Markdown uses an image syntax that is intended to resemble the syntax -for links, allowing for two styles: *inline* and *reference*. - -Inline image syntax looks like this: - - ![Alt text](/path/to/img.jpg) - - ![Alt text](/path/to/img.jpg "Optional title") - -That is: - -* An exclamation mark: `!`; -* followed by a set of square brackets, containing the `alt` - attribute text for the image; -* followed by a set of parentheses, containing the URL or path to - the image, and an optional `title` attribute enclosed in double - or single quotes. - -Reference-style image syntax looks like this: - - ![Alt text][id] - -Where "id" is the name of a defined image reference. Image references -are defined using syntax identical to link references: - - [id]: url/to/image "Optional title attribute" - -As of this writing, Markdown has no syntax for specifying the -dimensions of an image; if this is important to you, you can simply -use regular HTML `` tags. - - -* * * - - -

    Miscellaneous

    - - - -Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this: - - - -Markdown will turn this into: - - http://example.com/ - -Automatic links for email addresses work similarly, except that -Markdown will also perform a bit of randomized decimal and hex -entity-encoding to help obscure your address from address-harvesting -spambots. For example, Markdown will turn this: - - - -into something like this: - - address@exa - mple.com - -which will render in a browser as a clickable link to "address@example.com". - -(This sort of entity-encoding trick will indeed fool many, if not -most, address-harvesting bots, but it definitely won't fool all of -them. It's better than nothing, but an address published in this way -will probably eventually start receiving spam.) - - - -

    Backslash Escapes

    - -Markdown allows you to use backslash escapes to generate literal -characters which would otherwise have special meaning in Markdown's -formatting syntax. For example, if you wanted to surround a word with -literal asterisks (instead of an HTML `` tag), you can backslashes -before the asterisks, like this: - - \*literal asterisks\* - -Markdown provides backslash escapes for the following characters: - - \ backslash - ` backtick - * asterisk - _ underscore - {} curly braces - [] square brackets - () parentheses - # hash mark - + plus sign - - minus sign (hyphen) - . dot - ! exclamation mark - diff --git a/benchmark/testing.sh b/benchmark/testing.sh deleted file mode 100755 index 683afc81..00000000 --- a/benchmark/testing.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -source ~/.profile - -COMMAND="$@" -if [[ -z "$COMMAND" ]]; then COMMAND="rake test"; fi - -for VERSION in `rvm list strings | sort`; do - rvm $VERSION - echo $(ruby -v) - RUBYOPT=-rubygems $COMMAND -done diff --git a/benchmark/timing.sh b/benchmark/timing.sh deleted file mode 100755 index fc009a3c..00000000 --- a/benchmark/timing.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -source ~/.bashrc - -for VERSION in `rvm list strings | sort`; do - rvm $VERSION - echo $(ruby -v) - ruby -Ilib bin/kramdown < benchmark/mdsyntax.text 2>/dev/null >/dev/null - time ruby -Ilib bin/kramdown < benchmark/mdsyntax.text 2>/dev/null >/dev/null -done diff --git a/doc/_design.scss b/doc/_design.scss deleted file mode 100644 index f665700e..00000000 --- a/doc/_design.scss +++ /dev/null @@ -1,441 +0,0 @@ -/* Based on the Less Framework 4 - http://lessframework.com - by Joni Korpi - License: http://opensource.org/licenses/mit-license.php */ - - -/***** Variables for easy customization *****/ - -/* the baseline height in px */ -$baseline-height: 24; - -/* The overlay color for the background image */ -$bg-grad-color: rgba(255,255,128,0.1); - -/* The font size of the logo in px */ -$logo-size: 36; - -/* Color settings */ -$link-color: #1666A3; - - - -/* Resets - ------ */ - -html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, -p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, -img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, hr, -dl, dt, dd, ol, ul, li, fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, figure, figcaption, hgroup, -menu, footer, header, nav, section, summary, time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; -} - -article, aside, canvas, figure, figure img, figcaption, hgroup, -footer, header, nav, section, audio, video { - display: block; -} - -a img {border: 0;} - - - -/* Typography presets - ------------------ */ - -.gigantic { - font-size: 59px; - line-height: 72px; -} - -.huge { - font-size: 36px; - line-height: 48px; -} - -.large { - font-size: 23px; - line-height: 24px; -} - -.bigger { - font-size: 18px; - line-height: 24px; -} - -.big { - font-size: 14px; - line-height: 24px; -} - -body { - font: 14px/24px 'Palatino Linotype', 'Book Antiqua', Palatino, serif; -} - -.small, small { - font-size: 12px; - line-height: 24px; -} - -*:target::after { - content: " ☜"; -} - - -/* Typographics grid overlay */ - -.grid{ - background-image: -moz-linear-gradient(top, rgba(0,0,0,0) 95%, rgba(0,0,0,0.3) 100%); /* FF3.6+ */ - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(95%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.3))); /* Chrome,Safari4+ */ - background-image: -webkit-linear-gradient(top, rgba(0,0,0,0) 95%,rgba(0,0,0,0.3) 100%); /* Chrome10+,Safari5.1+ */ - background-image: -o-linear-gradient(top, rgba(0,0,0,0) 95%, rgba(0,0,0,0.3) 100%); /* Opera11.10+ */ - background-image: -ms-linear-gradient(top, rgba(0,0,0,0) 95%,rgba(0,0,0,0.3) 100%); /* IE10+ */ - background-image: linear-gradient(top, rgba(0,0,0,0.3) 95%,rgba(0,0,0,0.3) 100%); /* W3C */ - - -webkit-background-size: 100% #{$baseline-height}px; - -o-background-size: 100% #{$baseline-height}px; - background-size: 100% #{$baseline-height}px; -} - - -/* Basic mixins */ - -@mixin background { - background-image: -moz-linear-gradient($bg-grad-color, $bg-grad-color), url('bg.png'); - background-image: -webkit-linear-gradient($bg-grad-color, $bg-grad-color), url('bg.png'); - background-image: -o-linear-gradient($bg-grad-color, $bg-grad-color), url('bg.png'); - background-image: -ms-linear-gradient($bg-grad-color, $bg-grad-color), url('bg.png'); - background-image: linear-gradient($bg-grad-color, $bg-grad-color), url('bg.png'); -} - -@mixin typography($size: big) { - h3, h4, h5, h6, p, ul, ol, dl, pre, blockquote, table { - margin-top: 24px; - margin-bottom: 24px; - } - - @if $size == big { - h1 { @extend .huge } - h2 { @extend .large } - h3 { @extend .bigger } - h4,h5,h6 { @extend .big } - } @else { - h1 { @extend .large } - h2 { @extend .bigger } - h3,h4,h5,h6 { @extend .big } - } - - h1, h2, h3, h4, h5, h6 { - font-weight: normal; - padding-left: 48px; - margin-left: -48px; - margin-top: 36px; - margin-bottom: -12px; - } - - ul, ol, dd { - padding-left: 24px; - } - - ul ul, ul ol, ol ul, ol ol { - margin-top: 0; - margin-bottom: 0; - } - - pre { - padding-left: 12px; - padding-right: 12px; - border: 1px solid #ccc; - font-family: "Bitstream Vera Sans Mono", Consolas, monospace; - } - - dt { - font-weight: bold; - } - - a { - color: $link-color; - text-decoration: underline; - } - - a:hover, a:link { - color: scale-color($link-color, $lightness: -50%); - } -} - -/* Default Layout: 992px. - Gutters: 24px. - Outer margins: 48px. - Leftover space for scrollbars @1024px: 32px. - ------------------------------------------------------------------------------- - cols 1 2 3 4 5 6 7 8 9 10 - px 68 160 252 344 436 528 620 712 804 896 */ - -body { - width: 992px; - margin: 0 auto 48px; - color: rgb(60,60,60); - -webkit-text-size-adjust: 100%; /* Stops Mobile Safari from auto-adjusting font-sizes */ - @include background; -} - -body > header { - position: relative; - padding: 12px; - font-family: Verdana; - color: #eee; - -moz-box-shadow: 0 0 24px rgba(0,0,0,0.6); - -webkit-box-shadow: 0 0 24px rgba(0,0,0,0.6); - box-shadow: 0 0 24px rgba(0,0,0,0.6); - z-index: 1; -} - -#logo { - font-size: #{$logo-size}px; - line-height: #{$baseline-height * (floor($logo-size / $baseline-height) + 1)}px; - margin: 12px; - text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5); - - a { - color: #eee; - text-decoration: none; - - &:hover { - color: #fff; - } - } - -} - -#slogan { - font-size: 100%; - margin: 12px; - text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5); -} - -nav { - position: absolute; - bottom: 0px; - right: 0px; - background-color: rgba(255,255,255,0.1); - - li { - display: inline-block; - } - - ul { - margin: 0; - padding: 0; - } - - a, span { - display: block; - padding: 12px; - color: #ccc; - text-decoration: none; - } - - span { - background-color: rgba(255,255,255,0.3); - } - - a:hover { - background-color: rgba(255,255,255,0.3); - } - -} - -#wrapper { - clear: both; - position: relative; - background-color: white; - -moz-box-shadow: 0 0 24px rgba(0,0,0,0.6); - -webkit-box-shadow: 0 0 24px rgba(0,0,0,0.6); - box-shadow: 0 0 24px rgba(0,0,0,0.6); -} - -aside { - float: right; - right: 0; - background-color: white; - width: 252px; - padding: 24px; - - @include typography(small); - - h1, h2, h3, h4, h5, h6 { - padding-left: 48px; - margin-left: -48px; - } -} - - -aside.banner { - @include background; - position: relative; - width: inherit; - margin: 0; - float: none; - padding: 24px; - border: 10px solid rgba(255,255,255,0.1); - color: #ccc; - font-size: 36px; - line-height: 48px; - - a { - color: #ccc; - text-decoration: underline; - } - - a:hover { - background-color: rgba(255,255,255,0.3); - } - - p { - margin: 0; - } - - p + p { - margin-top: 24px; - } -} - -#content { - width: 620px; - padding: 24px 48px; - - @include typography(big); -} - -footer { - background-color: rgba(255,255,255,0.1); - min-height: 24px; - color: #eee; -} - - -/* Tablet Layout: 768px. - Gutters: 24px. - Outer margins: 28px. - Inherits styles from: Default Layout. - ----------------------------------------------------------------- - cols 1 2 3 4 5 6 7 8 - px 68 160 252 344 436 528 620 712 */ - -@media only screen and (min-width: 768px) and (max-width: 1005px) { - - body { - width: 716px; - } - - body > header { - padding: 0; - } - - aside { - position: static; - float: right; - } - - nav { - position: relative; - margin-top: 12px; - } -} - - - -/* Mobile Layout: 320px. - Gutters: 24px. - Outer margins: 34px. - Inherits styles from: Default Layout. - --------------------------------------------- - cols 1 2 3 - px 68 160 252 */ - -@media only screen and (max-width: 767px) { - - body { - width: 320px; - } - - body > header { - padding: 0; - } - - nav { - position: relative; - margin-top: 12px; - } - - aside { - position: relative; - } - - #content, aside { - width: 296px; - padding: 24px 12px; - } - - #content { - h1, h2, h3, h4, h5, h6 { - padding-left: 12px; - margin-left: -12px; - } - } - -} - - - -/* Wide Mobile Layout: 480px. - Gutters: 24px. - Outer margins: 22px. - Inherits styles from: Default Layout, Mobile Layout. - ------------------------------------------------------------ - cols 1 2 3 4 5 - px 68 160 252 344 436 */ - -@media only screen and (min-width: 480px) and (max-width: 767px) { - - body { - width: 90%; - } - - aside { - position: relative; - } - - #content, aside { - width: inherit; - padding: 24px 48px; - } - - #content { - h1, h2, h3, h4, h5, h6 { - padding-left: 48px; - margin-left: -48px; - } - } - -} - - -/* Retina media query. - Overrides styles for devices with a - device-pixel-ratio of 2+, such as iPhone 4. - ----------------------------------------------- */ - -@media -only screen and (-webkit-min-device-pixel-ratio: 2), -only screen and (min-device-pixel-ratio: 2) { - - body { - - } - -} diff --git a/doc/bg.png b/doc/bg.png deleted file mode 100644 index b4df134d..00000000 Binary files a/doc/bg.png and /dev/null differ diff --git a/doc/converter/html.page b/doc/converter/html.page deleted file mode 100644 index 4a79ed74..00000000 --- a/doc/converter/html.page +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: HTML Converter ---- -# HTML Converter - -## Introduction - -This converter converts a kramdown element tree into an HTML fragment and supports all available -element types. Below is a list of additional features of the HTML converter as well as some -additional information. - - -## Automatic Generation of Header IDs {#auto-ids} - -kramdown supports the automatic generation of header IDs if the option `auto_ids` is set to `true` -(which is the default). This is done by converting the untransformed, i.e. plain, header text (or, -if the option `auto_id_stripping` is set, only the text from real text elements) via the following -steps: - -* All characters except letters, numbers, spaces and dashes are removed. -* All characters from the start of the line until the first letter are removed. -* Everything except letters and numbers is converted to dashes. -* Everything is lowercased. -* If nothing is left, the identifier `section` is used. -* If a such created identifier already exists, a dash and a sequential number is added (first `-1`, - then `-2` and so on). - -Note that the option `auto_id_stripping` will be removed in version 2.0 because this will be the -default behaviour! - -Following are some examples of header texts and their respective generated IDs: - -| Sample header | generated ID | generated ID with `auto_id_stripping` | -| `# This is a header` | this-is-a-header | this-is-a-header | -| `## 12. Another one 1 here` | another-one-1-here | another-one-1-here | -| `### Do ^& it now` | do--it-now | do--it-now | -| `# Hallo` | hallo | hallo | -| `# Hallo` | hallo-1 | hallo-1 | -| `# 123456789` | section | section | -| `# test` | itesti | test | - -> The automatic creation of header IDs is not part of standard Markdown. The rules on how header -> text is converted to an identifier are based on the rules specified by [Pandoc]. -{: .markdown-difference} - -Such generated IDs are only used if no ID has been set manually before. - - -## Code Blocks - -A code block is wrapped in both `
    ` and  `` tags.
    -
    -### Showing Whitespace in a Code Block
    -
    -It is sometimes useful to visualize whitespace within a code block. This can be achieved by adding
    -the class `show-whitespaces` to a code block (using a [block IAL](../syntax.html#block-ials)).
    -
    -Here is an example where the whitespaces are shown:
    -
    -    	  leading tab	and space
    -    trailing   tab and space    	
    -{: .show-whitespaces}
    -
    -When showing whitespace in a code block, all spaces are replaced with the entity `⋅` and
    -additionally spaces and tabs in the code block are marked up using HTML `span` tags and the
    -following CSS classes:
    -
    -* `ws-space-l`, `ws-tab-l`: leading spaces/tabs
    -* `ws-space-r`, `ws-tab-r`: trailing spaces/tabs
    -* `ws-space`, `ws-tab`: spaces/tabs in between
    -
    -
    -## Automatic Syntax Highlighting   {#syntax-highlighting}
    -
    -kramdown supports setting a code language for code blocks and code spans, see [Language of Code
    -Blocks](../syntax.html#language-of-code-blocks). This language will be used for highlighting code
    -blocks and spans.
    -
    -The actual syntax highlighting is configurable via the [option
    -'syntax_highlighter'](../options.html#option-syntax-highlighter). The default value is 'coderay'
    -which implies that the [Coderay syntax highlighter](../syntax_highlighter/coderay.html) is used.
    -
    -Another syntax highlighter is [Rouge](../syntax_highlighter/rouge.html) which is Pygments
    -compatible, i.e. it supports all of Pygments CSS themes.
    -
    -
    -## Math Support
    -
    -kramdown supports the use of various math engines. The default math engine is
    -[MathJax](../math_engine/mathjax.html) (which can also be used with
    -[KaTeX](https://khan.github.io/KaTeX/)).
    -
    -For proper functionality, the HTML template must be configured to link to the engine's Javascript
    -and CSS. Note that the CSS includes references to webfonts.
    -
    -Also available are precompiling versions to eliminate the need for client-side Javascript. Those are
    -[Mathjax-Node](../math_engine/mathjaxnode.html), [KaTeX](../math_engine/katex.html), and
    -[SsKaTeX](../math_engine/sskatex.html). Each one requires a Javascript engine installed where
    -kramdown runs, in order to perform the precompilation. The resulting pages still require CSS and
    -fonts, but no Javascript anymore.
    -
    -Alternative math engines are [Ritex](../math_engine/ritex.html) and
    -[itex2MML](../math_engine/itex2mml.html) both of which output MathML.
    -
    -
    -## Emphasis
    -
    -kramdown uses the HTML element `em` to style light and the element `strong` to style strong
    -emphasized text parts.
    -
    -
    -## Definition Lists
    -
    -kramdown allows the automatic generation of element IDs for terms of a definition list. The
    -algorithm is the same as with headers (see [above](#auto-ids) except that the last two points about
    -adding "section" and unique IDs is not respected. Also, the algorithm works only on the real text as
    -if `auto_id_stripping` was activated.
    -
    -The automatic generation of IDs is activated by assigning the reference name "auto_ids" to a
    -definition list. This will generate plain IDs without a prefix. By using a reference name of the
    -format "auto_ids-PREFIX", the prefix is used.
    -
    -Such generated IDs are only used if no ID has been set manually.
    -
    -Here are examples:
    -
    -{kdexample::}
    -{:auto_ids}
    -term
    -: definition
    -{kdexample}
    -
    -{kdexample::}
    -{:auto_ids-prefix}
    -term
    -: definition
    -{kdexample}
    -
    -
    -
    -## Footnotes
    -
    -If a document contains footnotes, they are automatically placed at the end of the document.
    -
    -By assigning the reference name "footnotes" to an ordered or unordered list, the list will be
    -replaced with the footnotes, instead of placing the footnotes at the end of the document.
    -
    -
    -## Automatic "Table of Contents" Generation    {#toc}
    -
    -kramdown supports the automatic generation of the table of contents of all headers that have an ID
    -set. Just assign the reference name "toc" to an ordered or unordered list by using an IAL and the
    -list will be replaced with the actual table of contents, rendered as nested unordered lists if "toc"
    -was applied to an unordered list or else as nested ordered lists. All attributes applied to the
    -original list will also be applied to the generated TOC list and it will get an ID of `markdown-toc`
    -if no ID was set.
    -
    -When the `auto_ids` option is set, all headers will appear in the table of contents as they all will
    -have an ID. Assign the class name "no_toc" to a header to exclude it from the table of contents.
    -
    -Here is an example that generates a "Table of Contents" as an unordered list:
    -
    -    # Contents header
    -    {:.no_toc}
    -
    -    * A markdown unordered list which will be replaced with the ToC, excluding the "Contents header" from above
    -    {:toc}
    -
    -    # H1 header
    -
    -    ## H2 header
    -
    -For a "Table of Contents" as an ordered list:
    -
    -    1. The generated Toc will be an ordered list
    -    {:toc}
    -
    -    # H1 header
    -
    -    ## H2 header
    -
    -
    -## Options
    -
    -The HTML converter supports the following options:
    -
    -{options: {items: [auto_ids, auto_id_prefix, auto_id_stripping, transliterated_header_ids, template, footnote_nr, entity_output, smart_quotes, toc_levels, enable_coderay, coderay_wrap, coderay_line_numbers, coderay_line_number_start, coderay_tab_width, coderay_bold_every, coderay_css, coderay_default_lang, syntax_highlighter, syntax_highlighter_opts, math_engine, math_engine_opts, footnote_backlink, footnote_backlink_inline, typographic_symbols]}}
    -
    -
    -{include_file: doc/links.markdown}
    diff --git a/doc/converter/kramdown.page b/doc/converter/kramdown.page
    deleted file mode 100644
    index 118579a5..00000000
    --- a/doc/converter/kramdown.page
    +++ /dev/null
    @@ -1,21 +0,0 @@
    ----
    -title: kramdown Converter
    ----
    -# kramdown Converter
    -
    -## Introduction
    -
    -This converter converts a kramdown element tree into a kramdown document and supports all available
    -element types. This converter, together with the [HTML parser](../parser/html.html), can be used to
    -convert HTML documents to kramdown documents.
    -
    -Another use would be to format a badly styled kramdown document (i.e. one with wrapped lines,
    -multiple different indentations used in one list, ...).
    -
    -
    -## Options
    -
    -The kramdown converter supports the following options:
    -
    -{options: {items: [entity_output, template]}}
    -
    diff --git a/doc/converter/latex.page b/doc/converter/latex.page
    deleted file mode 100644
    index d26fb355..00000000
    --- a/doc/converter/latex.page
    +++ /dev/null
    @@ -1,109 +0,0 @@
    ----
    -title: LaTeX Converter
    ----
    -# LaTeX Converter
    -
    -## Introduction
    -
    -This converter converts a kramdown element tree into LaTeX. It supports all available element types
    -except the HTML specific ones. The LaTeX document can, for example, further be converted to a PDF
    -file to produce a high quality, printable version.
    -
    -Since the LaTeX converter outputs just the converted element tree and not a whole LaTeX document by
    -default, one should always use the `template` option (see below) to include the necessary
    -"framework". There are also some [other options](#options) that can be used to customize the
    -generated LaTeX output.
    -
    -
    -## Needed Packages
    -
    -Some packages are always required (when using the provided `document` template):
    -
    -* `inputenc` and `fontenc`
    -* `listings` (see [Code Blocks](#code-blocks))
    -* `ucs` (when using Ruby 1.8)
    -* `hyperref`
    -
    -The following LaTeX packages are needed to support certain features and are only included if such a
    -feature is actually used:
    -
    -* `amssymb`, `amsmath`, `amsthm`, `amsfonts` (for math support)
    -* `graphicx` (for image support)
    -* `wasysym`, `amssymb`, `mathabx`, `textcomp`, `mathcomp`, `eurosym` (for special entity character
    -  support)
    -* `fancyvrb` (see [Footnotes](#footnotes))
    -* `acronym` (for acronym support)
    -* `minted` (if the minted syntax highlighter is used)
    -
    -## Hyper Targets and Links
    -
    -All elements which have an ID set (if the option `auto_ids` is set to `true`, an ID is automatically
    -generated for header elements -- for details on how the ID is generated see the [corresponding
    -section](html.html#auto-ids) of the HTML converter documentation) are available as hyper targets
    -within the LaTeX document. All links (the in-document links starting with `#` and absolute links)
    -are transformed automatically into hyper links. This means that when a PDF is generated from the
    -LaTeX document, in-document as well as general links will work correctly.
    -
    -
    -## Code Blocks
    -
    -The LaTeX converter supports the visualisation of whitespace and syntax highlighting as specified in
    -the [HTML converter documentation](html.html#code-blocks).
    -
    -Syntax highlighting and visualizing whitespace in a code block is done using the `listings` package.
    -So all languages supported by the `listings` package can be highlighted. Optionally, if the
    -`syntax_highlighter` option is set to 'minted', the [minted syntax
    -highlighter](../syntax_highlighter/minted.html) is used.
    -
    -
    -## Emphasis
    -
    -The latex command `emph` is used for light and the command `textbf` for strong emphasis.
    -
    -
    -## Footnotes
    -
    -The `fancyvrb` package is used to support code blocks (i.e. verbatim environments) inside footnotes.
    -
    -
    -## Automatic "Table of Contents" Generation
    -
    -If you add a "toc" reference to a list as described on the [HTML converter page](html.html#toc), the
    -list is replaced by the table of contents using the `\tableofcontents` command.
    -
    -
    -## Standalone Images
    -
    -The LaTeX converter handles images that are the only child of a paragraph specially. Such images are
    -not shown inline but rather in a `figure` environment, using the alternative text as caption.
    -
    -
    -## Element Attributes
    -
    -Since the element attributes cannot be used directly by the LaTeX converter in most cases, the
    -converter outputs them as LaTeX comment when possible so that a post-processor can make use of them.
    -The attributes are output as key value pairs (like XHTML attributes) and sorted by the key.
    -
    -Here is an example input and output:
    -
    -    > This is a quote.
    -    {: #my-id .cls}
    -
    -will be converted by the LaTeX converter to:
    -
    -    \begin{quote}   % class="cls" id="my-id"
    -    This is a quote.
    -    \end{quote}
    -
    -The attributes are output for the following elements: blockquotes; ordered, unordered and definition
    -lists; code blocks that use the `listings` environment; tables; and math blocks.
    -
    -
    -## Options
    -
    -The LaTeX converter supports the following options:
    -
    -{options: {items: [auto_ids, auto_id_prefix, auto_id_stripping, transliterated_header_ids, toc_levels, latex_headers, smart_quotes, template, syntax_highlighter, syntax_highlighter_opts, typographic_symbols]}}
    -
    -
    -{include_file: doc/links.markdown}
    diff --git a/doc/converter/man.page b/doc/converter/man.page
    deleted file mode 100644
    index 3e25dc67..00000000
    --- a/doc/converter/man.page
    +++ /dev/null
    @@ -1,173 +0,0 @@
    ----
    -title: Man Page Converter
    ----
    -# Man Page Converter
    -
    -## Introduction
    -
    -This converter takes a kramdown document and converts into a [man page] in groff format. Some
    -elements like images are not supported because they are not supported by groff.
    -
    -[man page]: http://man7.org/linux/man-pages/man7/man-pages.7.html
    -
    -
    -## Syntax
    -
    -~~~
    -name(1) -- short description of command
    -
    -## SYNOPSIS
    -
    -`name` [`OPTIONS`] [*ARGUMENT*...]
    -
    -## DESCRIPTION
    -
    -All block elements like paragraphs, blockquotes, lists, ... work as they
    -do with normal kramdown documents.
    -
    -Use code spans for `code`, `--options` and `user input`, emphasis for
    -*variables*, *argument names* and *file names*, and **strong emphasis**
    -for things that should stand out.
    -
    -## OPTIONS
    -
    -`-o`
    -`--option`
    -: Description of option
    -
    -`--key`=*value*
    -: Another option with a *value*
    -~~~
    -
    -
    -## Format Description
    -
    -### Man Page Title
    -
    -For the resulting manual page to work correctly, a level one heading has to be the first element in
    -the document. This heading should follow one of the following syntaxes and must not have any inline
    -formatting:
    -
    -    # name(section) -- short description of functionality
    -
    -    # name -- short description of functionality
    -
    -    # name(section)
    -
    -    # name short description of functionality
    -
    -    # name
    -
    -The `name` is used as the title for the manual page and `section` for the manual section. It is also
    -possible to specify the section and two additional pieces of data using an IAL with the following
    -keys:
    -
    -`data-section`
    -: Specifies the manual section and is only used if the section was not specified in the heading
    -  itself.
    -
    -`data-date`
    -: The date of the last nontrivial change to the manual page. It should be written in the format
    -  YYYY-MM-DD but that is not mandatory. The date is displayed in the middle of the footer line.
    -
    -`data-extra`
    -: Some extra information that is displayed on the left side in the footer line.
    -
    -If a description was found in the heading, the `NAME` section is automatically created from the
    -name and description. Otherwise it has to be created manually.
    -
    -
    -### Section Headings
    -
    -Manual page sections can be created using level two headings. The text should not contain any inline
    -markup and be all uppercase.
    -
    -The usual section names are (in the order in which they should appear in the manual page):
    -
    -* NAME
    -* SYNOPSIS
    -* DESCRIPTION
    -* OPTIONS
    -* EXIT STATUS
    -* RETURN VALUE
    -* ENVIRONMENT
    -* FILES
    -* NOTES
    -* BUGS
    -* EXAMPLE
    -* SEE ALSO
    -
    -Level three headings can be used for subsection headings if necessary. Note that headings nested
    -inside of block elements like lists and headings of level four to six are not supported.
    -
    -See [man-pages(7)](http://man7.org/linux/man-pages/man7/man-pages.7.html) for details regarding the
    -usage and contents of each section.
    -
    -
    -### Option Definitions
    -
    -Documenting the options of a command should be done using definition lists. Options with multiple
    -identifiers can either use multiple definition terms or a single definition term where the
    -identifiers are separated by commas:
    -
    -~~~
    -`-o`, `--option`
    -: The description for the option.
    -
    -`-k` *value*
    -`--key`=*value*
    -: Another description.
    -
    -  The description can contain multiple block elements, even lists.
    -~~~
    -
    -
    -### Inline Markup
    -
    -When viewing manual pages in a terminal, there are basically only two ways to style some piece of
    -text: boldface and italics (which are often displayed using underline).
    -
    -The three basic inline markup formats of kramdown are used in the following ways:
    -
    -`` `backticks` ``
    -: The text will be shown in **boldface**. Should be used for code, options and user input. As usual
    -  with code spans, the text will not be processed.
    -
    -`*emphasis*`
    -: The text will be shown in *italics* (or underline). Should be used for variables, argument names
    -  and file names.
    -
    -`**strong**`
    -: The text will be show in **boldface**. No special usage pattern, use for things that should stand
    -  out.
    -
    -
    -### Other Elements
    -
    -The converter also supports all other kramdown elements, including tables and math blocks, except
    -the following:
    -
    -* Images
    -* Footnotes
    -* HTML elements
    -* Raw elements
    -
    -Details on specific elements:
    -
    -**Unordered/Ordered/Definition Lists**
    -: Lists can be styled in a compact format by assigning the class `compact`. Note, however, that
    -  *all* nested block elements will use the compact format. This is mostly intended for single-level
    -  lists with short descriptions.
    -
    -**Blockquotes**
    -: Blockquotes provide no visual clue that they have been used except for additional indentation.
    -  However, this comes in handy when some (optionally formatted) parts should stand out, e.g. example
    -  command lines.
    -
    -**Math elements**
    -: They are displayed like codeblocks and inline code spans, depending on where they are used.
    -
    -**Tables**
    -: Tables are also fully supported with the exception that links may not appear in them. By assigning
    -  the class `center` a table is output centered instead of left aligned.
    -
    diff --git a/doc/converter/remove_html_tags.page b/doc/converter/remove_html_tags.page
    deleted file mode 100644
    index a0248cff..00000000
    --- a/doc/converter/remove_html_tags.page
    +++ /dev/null
    @@ -1,26 +0,0 @@
    ----
    -title: RemoveHtmlTags Converter
    ----
    -# RemoveHtmlTags Converter
    -
    -## Introduction
    -
    -This converter modifies a kramdown element tree and conditionally removes all block and/or span HTML
    -elements, XML processing instructions and `style` as well as `script` tags from it. The resulting
    -element tree should in most cases only contain "native" kramdown elements and is therefore better
    -suited for converters that do not output HTML (like the [kramdown converter](kramdown.html) or the
    -[latex converter](latex.html)).
    -
    -A sample usage may be the following to convert a full HTML document (i.e. one that includes the HTML
    -doctype, the HTML head section, ...) into a kramdown document:
    -
    -    kramdown -i html -o remove_html_tags,kramdown my_document.html
    -
    -## Options
    -
    -The RemoveHtmlTags converter supports the following options:
    -
    -{options: {items: [remove_block_html_tags, remove_span_html_tags]}}
    -
    -
    -{include_file: doc/links.markdown}
    diff --git a/doc/default.scss b/doc/default.scss
    deleted file mode 100644
    index f76dca40..00000000
    --- a/doc/default.scss
    +++ /dev/null
    @@ -1,217 +0,0 @@
    -@import 'design';
    -
    -a:hover {
    -    background-color: rgba(0,0,0,0.1);
    -}
    -
    -aside.banner {
    -    font-size: 18px;
    -    line-height: 27px;
    -}
    -
    -aside a {
    -    text-decoration: none;
    -
    -    &:hover, &:link {
    -        text-decoration: underline;
    -    }
    -
    -}
    -
    -#content {
    -    blockquote.information {
    -        border-left: 12px solid #080;
    -        background-color: #bfb;
    -        padding: 12px 12px 12px 0;
    -        margin-left: -48px;
    -        padding-left: 48px;
    -    }
    -
    -    blockquote.markdown-difference {
    -        border-left: 12px solid #dc0;
    -        background-color: #ffa;
    -        padding: 12px 12px 12px 0;
    -        margin-left: -48px;
    -        padding-left: 48px;
    -
    -        &:before {
    -            content: "Difference to Standard Markdown";
    -            display: block;
    -            font-weight: bold;
    -        }
    -    }
    -
    -    blockquote pre {
    -        border: none;
    -    }
    -
    -    table {
    -        border-collapse: collapse;
    -        margin-left: auto;
    -        margin-right: auto;
    -        width: 100%;
    -
    -        td, th {
    -            padding: 3px 5px;
    -        }
    -        th {
    -            background-color: #080;
    -            color: white;
    -        }
    -    }
    -
    -    pre.show-whitespaces .ws-space {
    -        background-color: #f44;
    -    }
    -    pre.show-whitespaces .ws-space-l {
    -        background-color: #f22;
    -    }
    -    pre.show-whitespaces .ws-space-r {
    -        background-color: #f00;
    -    }
    -    pre.show-whitespaces .ws-tab {
    -        background-color: #ff4;
    -    }
    -    pre.show-whitespaces .ws-tab-l {
    -        background-color: #ff2;
    -    }
    -    pre.show-whitespaces .ws-tab-r {
    -        background-color: #ff0;
    -    }
    -    pre.show-whitespaces.ws-lr .ws-tab {
    -        background-color: inherit;
    -    }
    -    pre.show-whitespaces.ws-lr .ws-space {
    -        background-color: inherit;
    -        opacity: 0;
    -    }
    -
    -    table.kdexample td {
    -        vertical-align: top;
    -    }
    -
    -    table.kdexample pre {
    -        margin: 5px 0px;
    -    }
    -
    -    .kdexample:hover .kdexample-after-source {
    -        display: block;
    -    }
    -
    -    .kdexample-after-source {
    -        display: none;
    -        background-color: #ffffee;
    -        border: 2px solid #e6e8e9;
    -        margin: 0 10px;
    -        padding: 5px;
    -    }
    -
    -    .kdexample-after-live {
    -        background-color: #eeffee;
    -        border: 2px solid #e6e8e9;
    -        margin: 5px 0px 12px;
    -        padding: 5px;
    -    }
    -
    -    div.kdsyntaxlink {
    -        float: right;
    -        position: relative;
    -        top: -17px;
    -        padding: 5px;
    -        border: 1px solid #e6e8e9;
    -        margin-right: 10px;
    -        margin-left: 10px;
    -
    -        a {
    -            text-decoration: none;
    -        }
    -    }
    -}
    -
    -.news-item {
    -    border-top: 2px solid #ddd;
    -    margin-top: 46px;
    -}
    -
    -.news-date {
    -    float: right;
    -    margin-top: 2px;
    -    font-size: small;
    -    color: #888;
    -}
    -
    -footer {
    -    clear: both;
    -    font-size: 92%;
    -    text-align: left;
    -
    -    a {
    -        color: #898989;
    -
    -        &:hover {
    -            text-decoration: none;
    -            color: #666;
    -        }
    -    }
    -}
    -
    -/* common rules */
    -acronym {
    -    cursor: help;
    -    border-bottom: 1px solid #777;
    -}
    -
    -.float-left {
    -    float: left;
    -}
    -
    -.float-right {
    -    float: right;
    -}
    -
    -.a-left, tr.a-left td {
    -    text-align: left;
    -}
    -
    -.a-center, tr.a-center td {
    -    text-align: center;
    -}
    -
    -.a-right, tr.a-right td {
    -    text-align: right;
    -}
    -
    -.clear {
    -    clear: both;
    -}
    -
    -.inline-important {
    -    font-weight: bold;
    -    display: block;
    -    text-align: center;
    -}
    -
    -
    -.patreon, .patreon:hover {
    -    border-radius: 50px;
    -    padding: 5px 10px;
    -    margin: 0 5px;
    -    display: inline-block;
    -    text-decoration: none !important;
    -    background-color: #e6461a !important;
    -    box-shadow: 0px 0px 5px 5px #e6461a;
    -    color: white !important;
    -    font-weight: bold;
    -
    -    &:hover {
    -      box-shadow: 0px 0px 0px 5px #e6461a;
    -    }
    -}
    -
    -#call-to-arms {
    -  text-align: center;
    -  margin: 40px 0 10px;
    -  background-color: rgba(255, 255, 255, 0.18);
    -  padding: 30px;
    -  border-radius: 100px;
    -}
    diff --git a/doc/default.template b/doc/default.template
    deleted file mode 100644
    index 98dbaf8f..00000000
    --- a/doc/default.template
    +++ /dev/null
    @@ -1,71 +0,0 @@
    -
    -
    -  
    -    
    -    
    -    
    -    
    -    
    -    
    -    
    -    {title:} | kramdown
    -  
    -  
    -    
    -
    -

    kramdown

    -

    fast, pure-Ruby Markdown-superset converter

    -
    - - -
    - -
    - <% if context.content_node.blocks.has_key?('intro') %> - - <% end %> - - - -
    - -
    -
    -
    - - - - - - - - - - diff --git a/doc/documentation.page b/doc/documentation.page deleted file mode 100644 index ebafaaf8..00000000 --- a/doc/documentation.page +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: Documentation -in_menu: true -sort_info: 7 ---- -# kramdown Documentation - -## Overview - -kramdown is first and foremost a library for converting text written in a superset of Markdown to -HTML. However, due to its modular architecture it is able to support additional input and output -formats. The following input and output formats are currently supported: - -* Input: [kramdown](parser/kramdown.html) (a superset of Markdown), - [Markdown](parser/markdown.html), [Github Flavored Markdown](parser/gfm.html), [HTML](parser/html.html) - -* Output: [HTML](converter/html.html), [LaTeX](converter/latex.html), - [kramdown](converter/kramdown.html), [RemoveHtmlTags](converter/remove_html_tags.html) (a special - converter which removes HTML tags, normally used in conjunction with the LaTeX or kramdown - converters) - -The [kramdown syntax page](syntax.html) describes in detail what is supported and how it differs -from standard Markdown. - -For all available options have a look at the [options documentation](options.html) or have a look at -a parser/converter page to see which options they support! - - -## Usage - -{:ruby: .language-ruby} - -The kramdown package provides two ways for using it: - -* **As a library** - - kramdown uses basically the same API as [RedCloth], [BlueCloth] and [Maruku]: - - require 'kramdown' - - puts Kramdown::Document.new(text).to_html - {:ruby} - - The second parameter to the `new` call is an options hash for (de)activating certain features. For - example, to disable automatic header ID generation, you can do the following: - - puts Kramdown::Document.new(text, :auto_ids => false).to_html - {:ruby} - - The default parser used is `kramdown`, however, you can select a different one with the `:input` - option: - - puts Kramdown::Document.new(text, :input => 'html').to_latex - {:ruby} - - You can also reuse the created document object to produce multiple outputs: - - doc = Kramdown::Document.new(text, :input => 'html') - puts doc.to_html - puts doc.to_latex - {:ruby} - - More information on how to use or extend kramdown can be found in the [API - documentation](rdoc/index.html)! - -* **As an application** - - Together with the library files a binary called `kramdown` is shipped which can be used to convert - text in any supported input format to any supported output format. It either reads from the files - specified as the command line arguments or from the standard input. For example: - - kramdown path/to/kramdown/doc/syntax.page - - The input and output formats as well as all available kramdown options are supported through - command line switches. - - -## Tests - -kramdown uses various test suites to verify the correct working of the parsers and converters. For -more information, have a look at the [tests document](tests.html). - - -{include_file: doc/links.markdown} diff --git a/doc/documentation.template b/doc/documentation.template deleted file mode 100644 index b83c2d7d..00000000 --- a/doc/documentation.template +++ /dev/null @@ -1,36 +0,0 @@ ---- name:sidebar pipeline:erb,tags,kramdown - - -

    Documentation

    - -* Parsers - * [kramdown](parser/kramdown.html) - * [GFM](parser/gfm.html) - * [Markdown](parser/markdown.html) - * [HTML](parser/html.html) -* Converters - * [HTML](converter/html.html) - * [LaTeX](converter/latex.html) - * [man](converter/man.html) - * [kramdown](converter/kramdown.html) - * [RemoveHtmlTags](converter/remove_html_tags.html) -* Syntax Highlighters - * [Rouge](syntax_highlighter/rouge.html) - * [Coderay](syntax_highlighter/coderay.html) -* Math Engines - * [MathJax](math_engine/mathjax.html) - * [KaTeX](math_engine/katex.html) - * [SsKaTeX](math_engine/sskatex.html) - * [Mathjax-Node](math_engine/mathjaxnode.html) - * [Ritex](math_engine/ritex.html) - * [itex2MML](math_engine/itex2mml.html) -* [Configuration Options](options.html) -* [Tests](tests.html) - -<% if context.node.children.first && context.node.children.first.children.length > 1 %> -

    Contents

    -<% end %> - -{menu: {options: {descendants: true, levels: [3,6]}}} diff --git a/doc/img/bg.jpg b/doc/img/bg.jpg deleted file mode 100644 index 0ab7699f..00000000 Binary files a/doc/img/bg.jpg and /dev/null differ diff --git a/doc/img/graph-jruby-1.7.15-392.png b/doc/img/graph-jruby-1.7.15-392.png deleted file mode 100644 index 95b08d28..00000000 Binary files a/doc/img/graph-jruby-1.7.15-392.png and /dev/null differ diff --git a/doc/img/graph-rubinius-2.2.10-0.png b/doc/img/graph-rubinius-2.2.10-0.png deleted file mode 100644 index 43dcf6f3..00000000 Binary files a/doc/img/graph-rubinius-2.2.10-0.png and /dev/null differ diff --git a/doc/img/graph-ruby-1.8.7-302.png b/doc/img/graph-ruby-1.8.7-302.png deleted file mode 100644 index 4e07c32b..00000000 Binary files a/doc/img/graph-ruby-1.8.7-302.png and /dev/null differ diff --git a/doc/img/graph-ruby-1.9.3p448-448.png b/doc/img/graph-ruby-1.9.3p448-448.png deleted file mode 100644 index 19fa41a5..00000000 Binary files a/doc/img/graph-ruby-1.9.3p448-448.png and /dev/null differ diff --git a/doc/img/graph-ruby-2.0.0p247-247.png b/doc/img/graph-ruby-2.0.0p247-247.png deleted file mode 100644 index 1c83573b..00000000 Binary files a/doc/img/graph-ruby-2.0.0p247-247.png and /dev/null differ diff --git a/doc/img/graph-ruby-2.1.2p95-95.png b/doc/img/graph-ruby-2.1.2p95-95.png deleted file mode 100644 index bc187391..00000000 Binary files a/doc/img/graph-ruby-2.1.2p95-95.png and /dev/null differ diff --git a/doc/img/image.jpg b/doc/img/image.jpg deleted file mode 100644 index e63417a9..00000000 Binary files a/doc/img/image.jpg and /dev/null differ diff --git a/doc/img/line.jpg b/doc/img/line.jpg deleted file mode 100644 index 7a527c65..00000000 Binary files a/doc/img/line.jpg and /dev/null differ diff --git a/doc/img/shadow.jpg b/doc/img/shadow.jpg deleted file mode 100644 index e626fde5..00000000 Binary files a/doc/img/shadow.jpg and /dev/null differ diff --git a/doc/index.page b/doc/index.page deleted file mode 100644 index a5d16ee8..00000000 --- a/doc/index.page +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: Home -in_menu: true -sort_info: 1 ---- -## Overview - -If you want to get started with kramdown, have a look at the [installation page](installation.html) -to see how you can install it on your system. Then look through the -[documentation](documentation.html) for finding information about how to actually use kramdown and -its parsers/converters. The [quick reference](quickref.html) provides a overview of the syntax -- if -you need a more detailed description of the superset of Markdown which kramdown supports the [syntax -page](syntax.html) is the place to go! - -{tikz:: -path: overview.png -img_attr: {style: 'background:transparent'} -content_processor.tikz.libraries: [mindmap, trees, arrows] -content_processor.tikz.transparent: true -content_processor.tikz.resolution: 300 100 -content_processor.tikz.opts: | - mindmap, concept color=black, text=white, - root concept/.append style={font=\Large}, - level 1 concept/.append style={font=\Large, minimum size=2.6cm}, - level 2 concept/.append style={font=\Large}, -} -\node[concept, font=\Large] (lib) {kramdown's internal representation} - child[concept color=orange, grow=120, ->] {node[concept] (i-kramdown) {kramdown}} - child[concept color=orange, grow=160] {node[concept] (i-html) {HTML}} - child[concept color=orange, grow=200] {node[concept] (i-gfm) {GFM}} - child[concept color=orange, grow=240] {node[concept] (i-markdown) {Markdown}} - child[concept color=green!50!black, grow=60] {node[concept] (o-html) {HTML}} - child[concept color=green!50!black, grow=20] {node[concept] (o-kramdown) {kramdown}} - child[concept color=green!50!black, grow=-20] { - node[concept] (o-latex) {\LaTeX} - child[grow=0] { - node[concept] (o-latex-pdf) {PDF} - } - } - child[concept color=green!50!black, grow=-60] {node[concept] (o-pdf) {PDF}} -; -\draw [dash pattern=on 0pt off 2pt,line width=5pt,arrows=-angle 60,shorten >=15pt,shorten <=10pt,color=orange] - (i-kramdown) edge(lib) - (i-markdown) edge(lib) - (i-html) edge (lib) - (i-gfm) edge (lib); -\draw [dash pattern=on 0pt off 2pt,line width=5pt,arrows=-angle 60,shorten >=10pt,shorten <=15pt,color=green!50!black] - (lib) edge(o-html) - (lib) edge (o-kramdown) - (lib) edge (o-latex) - (lib) edge (o-pdf); -{tikz} -{: style="text-align: center"} - - -## Bugs, Forums, Mailing Lists - -If you have found a bug, you should [report it here][bug_report]. Also, there is the [kramdown-users -google group][ml] available if you have any questions! - -[bug_report]: http://github.com/gettalong/kramdown/issues -[ml]: https://groups.google.com/forum/#!forum/kramdown-users - - -## Thanks - -kramdown would not be possible without the prior work of many other people. I want to thank everyone -involved with making Markdown such a nice markup language and especially the developers of other -Markdown implementations because kramdown borrowed many ideas from existing packages. - - -## Author - -* Thomas Leitner -* e-Mail: - -[PHP Markdown Extra]: http://michelf.com/projects/php-markdown/extra/ -[Maruku]: http://maruku.rubyforge.org -[BlueFeather]: http://ruby.morphball.net/bluefeather/index_en.html - ---- intro -
    - - - - -**kramdown**{:itemprop="name"} (sic, not Kramdown or KramDown, just kramdown) is a *free* -[MIT](https://github.com/gettalong/kramdown/blob/master/COPYING){:itemprop="license"}-licensed -[Ruby](http://www.ruby-lang.org) library for parsing and converting a superset of Markdown. It is -completely written in Ruby, supports standard Markdown (with some minor modifications) and various -extensions that have been made popular by the [PHP Markdown Extra] package and [Maruku]. -{:itemprop="description"} - -It is probably the fastest pure-Ruby Markdown converter available (September 2014), being about 3x -faster than [Maruku] and about 4.5x faster than [BlueFeather]. - -Version **1.17.0**{:itemprop="softwareVersion"} released on -**2018-05-31**{:itemprop="datePublished"}, [more news](news.html) -{: style="text-align: center; font-size: 80%"} - -
    - -
    -Support kramdown development and become a patron! -
    - - -[PHP Markdown Extra]: http://michelf.com/projects/php-markdown/extra/ -[Maruku]: http://maruku.rubyforge.org -[BlueFeather]: http://ruby.morphball.net/bluefeather/index_en.html diff --git a/doc/installation.page b/doc/installation.page deleted file mode 100644 index 179a1e94..00000000 --- a/doc/installation.page +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Installation -in_menu: true -sort_info: 5 ---- -# Download & Installation - -## Dependencies - -Since kramdown is written in Ruby, you just need the [Ruby interpreter](http://www.ruby-lang.org), -version 2.x. There are no other dependencies. - - -## Compatibility Notes - -kramdown should work on any platform which supports Ruby. It has been successfully tested on the -following platforms: - -* Linux with Ruby 2.x and jruby 9.0.0.0. - -See the platform specific installation notes for more information! - - -## Platform Specific Installation Instructions - -### Linux - -You need to make sure that Ruby is installed. If it isn't, consult the documentation of the Linux -distribution you are using on how to install it. For example, in case of Ubuntu 17.10 (this should -probably also work for any newer Ubuntu version or any recent Debian based distribution) all you -need to do is: - - sudo apt-get install ruby - -Once you have Ruby installed, you need to execute the following command to install kramdown: - - sudo gem install kramdown - - -### Mac OS X - -Mac OS X Snow Leopard comes with Ruby and Rubygems preinstalled. So installing kramdown is as easy -as running: - - sudo gem install kramdown - - -### Windows - -You need to install Ruby first. This can easily be done by using the [RubyInstaller] - just download -the installation binary and run it. After that open a command shell (select `Start -> Run...`, then -enter `cmd` and click on `Ok`) and type in the following: - - gem install kramdown - -[RubyInstaller]: http://rubyinstaller.org - - -## Generic Installation Instructions - - -### Using Rubygems - -If you are using Rubygems, installing the latest version of kramdown is as simple as executing - - gem install kramdown - - -### Manual Installation - -The latest version of kramdown can always be downloaded as `.tar.gz` or `.zip` via the [Github -releases page][ghreleases]. After the download the package needs to be decompressed and then you can -install kramdown using the included `setup.rb` installation method: - - $ ruby setup.rb config - $ ruby setup.rb setup - $ ruby setup.rb install - -[ghreleases]: https://github.com/gettalong/kramdown/releases - - -### Using the repository version - -kramdown uses git as its versioning system and kramdown's repository is hosted on GitHub. The -repository always contains a clean state of the current development version of kramdown. To check -out kramdown use the following command: - - git clone git://github.com/gettalong/kramdown.git diff --git a/doc/links.markdown b/doc/links.markdown deleted file mode 100644 index 6baa05ac..00000000 --- a/doc/links.markdown +++ /dev/null @@ -1,6 +0,0 @@ -[Maruku]: http://maruku.rubyforge.org -[PHP Markdown Extra]: http://michelf.com/projects/php-markdown/extra/ -[Pandoc]: http://johnmacfarlane.net/pandoc/ -[MathJax]: http://www.mathjax.org -[BlueCloth]: http://deveiate.org/projects/BlueCloth -[RedCloth]: http://redcloth.org/ diff --git a/doc/math_engine/itex2mml.page b/doc/math_engine/itex2mml.page deleted file mode 100644 index d254bc08..00000000 --- a/doc/math_engine/itex2mml.page +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: itex2MML ---- - -## Math Engine itex2MML - -[itex2MML](https://golem.ph.utexas.edu/~distler/blog/itex2MML.html) converts TeX math formulas into -MathML and can be used together with the [HTML converter](../converter/html.html). - -To use itex2MML, set the option ['math_engine'](../options.html#option-math-engine) to 'itex2mml' -and make sure that itex2MML is available. The itex2MML library can be installed, e.g., via Rubygems -by running `gem install itextomml`. - -The itex2MML library is released under a triple license: GPL, MPL and LGPL. diff --git a/doc/math_engine/katex.page b/doc/math_engine/katex.page deleted file mode 100644 index 25872203..00000000 --- a/doc/math_engine/katex.page +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: KaTeX ---- - -## Math Engine KaTeX - -This math engine uses [KaTeX] via the [katex rubygem][katex-gem] to convert TeX math formulas into -KaTeX HTML, using [ExecJS] under the hood. This eliminates the need for client-side math-rendering -Javascript. This engine is somewhat similar to the [SsKaTeX] math engine, but easier to use and -suitable for kramdown input from untrusted users. - -Requirements for running kramdown with math engine KaTeX: - -- Ruby gem [`katex`][katex-gem], -- Ruby gem [`execjs`][ExecJS], -- A Javascript engine supported by ExecJS, e.g. via one of - - Ruby gem [`therubyracer`][therubyracer], - - Ruby gem [`therubyrhino`][therubyrhino], - - Ruby gem [`duktape`][duktape], - - [Node.js]. - -All these requirements need to be met only if KaTeX is actually used. Note that the [`katex` -gem][katex-gem] includes [KaTeX]'s Javascript, CSS, and fonts; those do not need to be installed -separately. Your HTML templates still need to reference the KaTeX CSS. Consult the [`katex` gem's -documentation][katex-gem#assets] on how to do that. - -A typical KaTeX configuration looks like this: - -~~~ yaml -math_engine: katex -math_engine_opts: {} -~~~ - -`math_engine_opts` are passed directly to `Katex.render`. See the gem's [documentation][katex-gem] -for more information. - -If you need to sanitize the output, see [this example][sanitize-example] for inspiration. - -[duktape]: https://github.com/judofyr/duktape.rb#duktaperb -[ExecJS]: https://github.com/rails/execjs#execjs -[KaTeX]: https://khan.github.io/KaTeX/ -[katex-gem]: https://github.com/glebm/katex-ruby -[katex-gem#assets]: https://github.com/glebm/katex-ruby#assets -[sanitize-example]: https://github.com/thredded/thredded-markdown_katex/blob/2f5e748c90265526171a6da99557f637d2b717ec/lib/thredded/markdown_katex.rb#L48-L91 -[SsKaTeX]: sskatex.html -[therubyracer]: https://github.com/cowboyd/therubyracer#therubyracer -[therubyrhino]: https://github.com/cowboyd/therubyrhino#therubyrhino -[Node.js]: https://nodejs.org/ diff --git a/doc/math_engine/mathjax.page b/doc/math_engine/mathjax.page deleted file mode 100644 index a96cc5b6..00000000 --- a/doc/math_engine/mathjax.page +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: MathJax ---- - -## Math Engine MathJax - -[MathJax] is a javascript library that uses the TeX algorithms and fonts to display math formulas on -HTML pages. It allows for very fine-grained configuration, is widely used and works on all modern -browsers. - -This engine marks up math formulas with HTML ` -~~~ - -Note that including the KaTeX Javascript files and the above script is normally done using a -template file (see the [template option](../options.html). - -See [this comment](https://github.com/gettalong/kramdown/issues/292#issuecomment-257770946) for more -details. - - -## Options - -The MathJax engine supports the following keys of the option -['math_engine_opts'](../options.html#option-math-engine-opts): - -preview -: Specifies whether a preview should be shown. It defaults to `false` but if set to `true`, a - preview with the LaTeX code itself is shown. If it is set to any value other than `false` or - `true`, that value is shown as the preview. - -preview_as_code -: When `true`, wraps the LaTeX code in `code` / `pre > code` tags instead of `span` / `div` tags, - mirroring the structure of inline code / code blocks. This ensures the content is styled like - regular code and improves legibility in RSS readers, text browsers, etc. - - To prevent styling issues after MathJax has loaded, consider adding - `.MathJax_Preview:empty { display:none }` to your CSS. - - Defaults to `false` and only works if `preview` is `true`. - -[MathJax]: http://www.mathjax.org diff --git a/doc/math_engine/mathjaxnode.page b/doc/math_engine/mathjaxnode.page deleted file mode 100644 index e15e5245..00000000 --- a/doc/math_engine/mathjaxnode.page +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Mathjax-Node ---- - -## Math Engine Mathjax-Node - -[Mathjax-Node](https://github.com/mathjax/MathJax-node) converts TeX math formulas into MathML and -can be used together with the [HTML converter](../converter/html.html). - -To use Mathjax-Node, set the option ['math_engine'](../options.html#option-math-engine) to -'mathjaxnode' and make sure that both [Node.js](https://nodejs.org/) and Mathjax-Node are available. -The Mathjax-Node library can be installed, e.g., via npm by running `npm install -g mathjax-node`. -Instructions for installing Node.js can be found in the [joyent/node -wiki](https://github.com/joyent/node/wiki/Installation). - -The Mathjax-Node engine supports the following keys of the option -['math_engine_opts'](../options.html#option-math-engine-opts): - -semantics -: Specifies whether TeX code should be added in a `` tag. It defaults to `false` but if - set to `true`, a `` tag with the LaTeX code itself is added. - -texhints -: Specifies whether TeX-specific classes should be added. It defaults to `true` but if set to - `false`, the TeX-specific classes, like `MJX-TeXAtom-ORD`, will not be added. These classes - provide styling hints to the MathJax browser library. - -The mathjax-node library is released under the Apache License, Version 2.0. diff --git a/doc/math_engine/ritex.page b/doc/math_engine/ritex.page deleted file mode 100644 index bdc9fa73..00000000 --- a/doc/math_engine/ritex.page +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Ritex ---- - -## Math Engine Ritex - -Ritex converts TeX math formulas into MathML and can be used together with the [HTML -converter](../converter/html.html). - -To use Ritex, set the option ['math_engine'](../options.html#option-math-engine) to -'ritex' and make sure that Ritex is available. The Ritex library can be installed, e.g., via -Rubygems by running `gem install ritex`. - -> Note that Ritex is released under the GNU GPL version 2 which means that when you use it in -> conjunction with kramdown and your application, your application will automatically also fall under -> the GNU GPL! -> -> If this is a problem for you, consider using the [itex2MML engine](itex2mml.html) instead! -{:.information} diff --git a/doc/math_engine/sskatex.page b/doc/math_engine/sskatex.page deleted file mode 100644 index 5c20696e..00000000 --- a/doc/math_engine/sskatex.page +++ /dev/null @@ -1,148 +0,0 @@ ---- -title: SsKaTeX ---- - -## Math Engine SsKaTeX - -This math engine uses a server-side installation of [KaTeX] to convert TeX math formulas into -HTML+MathML. This eliminates the need for client-side math-rendering Javascript. Consider this a -flexible for-trusted-users-only [alternative](#differences-to-the-katex-math-engine) to the [KaTeX -math engine] and a lightweight efficient alternative to [Mathjax-Node](mathjaxnode.html). - -Your HTML templates need no longer include Javascripts for Math (neither `katex.js` nor any -search-and-replace script). Your HTML templates should continue referencing the KaTeX CSS. If you -host your own copy of the CSS, also keep hosting the fonts. - -Requirements for running kramdown with math engine SsKaTeX: - -- Ruby gem [`sskatex`][sskatex], -- Ruby gem [`execjs`][execjs], -- A Javascript engine supported by ExecJS, e.g. via one of - - Ruby gem [`therubyracer`][therubyracer], - - Ruby gem [`therubyrhino`][therubyrhino], - - Ruby gem [`duktape`][duktape], - - [Node.js], -- `katex.min.js` from [KaTeX]. - -All these requirements need to be met only if SsKaTeX is actually used. - -A typical SsKaTeX configuration looks like this: - -~~~ yaml -math_engine: sskatex -math_engine_opts: - katex_js: 'path-to-katex/katex.min.js' -~~~ -The complete list of available options in `math_engine_opts` follows. Most options, with the notable -exception of `katex_opts`, do not affect usage nor output, but may be needed to make SsKaTeX work -with all the external parts (JS engine and KaTeX). Admins should read the [security -notes](#security). - -katex_js -: The path to your copy of `katex.min.js`. Defaults to `'katex/katex.min.js'`. For a relative path, - the starting point is the current working directory. - -katex_opts -: A dictionary with general KaTeX options such as `throwOnError`, `errorColor`, `colorIsTextColor`, - and `macros`. See the [KaTeX documentation][KaTeXopts] for details. Use `throwOnError: false` if - you want parse errors highlighted in the HTML output rather than raised as exceptions when - compiling. Note that `displayMode` is computed dynamically and should not be specified here. - -js_run -: An identifier for the Javascript engine to use. Recognized identifiers include: `RubyRacer`, - `RubyRhino`, `Duktape`, `MiniRacer`, `Node`, `JavaScriptCore`, `Spidermonkey`, `JScript`, `V8`, - and `Disabled`; that last one would raise an error on first use. Which engines are actually - available depends on your installation. - - If **js_run** is not defined, the contents of the environment variable `EXECJS_RUNTIME` will be - considered instead; and if that is not defined, an automatic choice will be made. For more - information, use the **verbose** option and consult the [execjs] documentation. - -js_dir -: The path to a directory with Javascript helper files. Defaults to the subdirectory `js` in the - data directory of the `sskatex` gem. There is no need to change that setting unless you want to - experiment with Javascript details. - -js_libs -: A list of UTF-8-encoded Javascript helper files to load. Relative paths are interpreted relative - to **js_dir**. The default setting is - - ~~~ yaml - js_libs: - - escape_nonascii_html.js - - tex_to_html.js - ~~~ - And there is no need to change that unless you want to experiment with Javascript details. - - Files available in the default **js_dir** are: - - escape_nonascii_html.js - : defines a function `escape_nonascii_html` that converts non-ASCII characters to HTML numeric - character references. Intended as postprocessing filter. - - tex_to_html.js - : defines a function `tex_to_html`(*tex*, *display_mode*, *katex_opts*) that takes a LaTeX math - string, a boolean display mode (`true` for block display, `false` for inline), and a dict with - general KaTeX options, and returns a string with corresponding HTML+MathML output. The - implementation is allowed to set `katex_opts.displayMode`. SsKaTeX applies `tex_to_html` to each - math fragment encountered. The implementation given here uses `katex.renderToString` and - postprocesses the output with `escape_nonascii_html`. - -verbose -: Whether to log the engine configuration. Defaults to `false`. When set to something else, logs - (by converter warnings) the identifiers of the available Javascript engines, the selected engine - (cf. option **js_run**), the names of the Javascript files loaded, and the contents of - **katex_opts**. That happens only once per new configuration. - -debug -: For debugging. Defaults to `false`. When set to something else, prints (by `warn`) every - information that the **verbose** option would log, and every Javascript expression used after - engine initialization, immediately to `stderr`. - -### Security - -The options with `js` in their names can be used to achieve arbitrary Javascript code execution with -the privileges of the kramdown process. If kramdown is part of a service that allows file uploads -and user-specified math engine selection and options, the service should therefore be sandboxed -(which is recommended practice), or the user-specified options filtered, or SsKaTeX kept unavailable -e.g. by not installing the `sskatex` gem. Consider using the [KaTeX math engine] instead. - -### Differences to the KaTeX math engine - -Both the KaTeX and the SsKaTeX engine operate in similar ways with similar efficiency and produce -equivalent output if the underlying `katex.min.js` versions are the same. Differences are mostly in -configuration and usage scenarios. The following table gives an overview. - -| Usage aspect | KaTeX | SsKaTeX | -|:-|:-|:-| -| Usability | easy to use | all JS details configurable | -| Target users | untrusted users | trusted users | -| Target usage | web services | personal pages | -| Required Ruby gem | `katex` | `sskatex` | -| KaTeX JS/CSS/fonts | included | not included | -| Math language depends on | `katex` gem version | `katex_js` option | -| KaTeX options | in `math_engine_opts` | in `katex_opts` sub-dict | -| Default error handling | catches errors | throws on errors | - -Therefore: - -* If in doubt, try the [KaTeX math engine]. It should work out of the box. -* If you need more control and are trusted (i.e. you are allowed to run arbitrary code), try - SsKaTeX. Example uses: - - Work around issues in the current KaTeX version or in the default JS interpreter - - Try a more recent KaTeX version when you want it, and not until then - - Try interfacing with other JS-based math renderers - - Try another Javascript interpreter. E.g. `Duktape` is fast, but `Spidermonkey` may give better - error diagnostics and backtraces. -* Web services processing kramdown input from untrusted users should not make the `sskatex` gem - available, as explained in the [Security](#security) section. - -[duktape]: https://github.com/judofyr/duktape.rb#duktaperb -[execjs]: https://github.com/rails/execjs#execjs -[KaTeX math engine]: katex.html -[KaTeX]: https://khan.github.io/KaTeX/ -[KaTeXopts]: https://github.com/Khan/KaTeX#rendering-options -[sskatex]: https://github.com/ccorn/sskatex/ -[therubyracer]: https://github.com/cowboyd/therubyracer#therubyracer -[therubyrhino]: https://github.com/cowboyd/therubyrhino#therubyrhino -[Node.js]: https://nodejs.org/ diff --git a/doc/metainfo b/doc/metainfo deleted file mode 100644 index 89ddeb2f..00000000 --- a/doc/metainfo +++ /dev/null @@ -1,13 +0,0 @@ ---- paths -[/**/*.js, /**/*.css]: - modified_at_in_dest_path: true - -/**/*.scss: - modified_at_in_dest_path: true - ---- alcn -[converter/*.html, parser/*.html, documentation.en.html, options.en.html, tests.en.html]: - template: ../documentation.template - -/**/*.css: - pipeline: scss,cssminify diff --git a/doc/news.feed b/doc/news.feed deleted file mode 100644 index 84e611d2..00000000 --- a/doc/news.feed +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: kramdown News -description: kramdown - a fast, pure Ruby Markdown-superset converter -author: Thomas Leitner -author_url: https://kramdown.gettalong.org -entries: {alcn: news/*.html, sort: sort_info, reverse: true, limit: 10} -versions: - atom: - diff --git a/doc/news.page b/doc/news.page deleted file mode 100644 index b0f7f423..00000000 --- a/doc/news.page +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: News -in_menu: false -sort_info: 30 ---- pipeline:tags,blocks,fragments - -

    News

    - -Atom-Feed - - - ---- name:newsdata pipeline:erb -<% -opts = {:alcn => '/news/*.html', :sort => 'sort_info', :reverse => true, :flatten => true} -context.website.ext.item_tracker.add(context.dest_node, :nodes, :node_finder_option_set, - {:opts => opts, :ref_alcn => context.node.alcn}, :content) -context.website.ext.node_finder.find(opts, context.node).each do |node| - # context.options['contentprocessor.kramdown.options'] = {:auto_id_prefix => node.lcn.tr('.', '-')} -%> - -
    -
    - Published on <%= node['created_at'].strftime("%A, %d %B %Y") %> -
    -<%= context.render_block(:name => 'content', :chain => [node]) %> -
    - -<% end %> diff --git a/doc/news/release_0_10_0.page b/doc/news/release_0_10_0.page deleted file mode 100644 index 54353ca3..00000000 --- a/doc/news/release_0_10_0.page +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: kramdown 0.10.0 released -no_output: true -sort_info: r0010 -created_at: 2010-07-19 08:30:00 +02:00 -modified_at: 2010-07-19 08:30:00 +02:00 ---- -## kramdown 0.10.0 released - -This release contains many small changes and improvements as well as many bug fixes, thanks to all -the people on the kramdown mailing list! - - -## Changes - -* Minor changes: - - - The LaTeX converter now also outputs the element attributes on the end tag (requested by Michael - Franzl) - - New option `entity_output` for specifying how entities should be output - - The underscore in the option names is now replaced with a hyphen for nicer CLI option names - - Paragraphs that contain only an image are converted to figures in the LaTeX converter (requested - by Michael Franzl) - - Added information to the LaTeX converter documentation on how to change the header types and - quotation marks - -* Bug fixes: - - - LaTeX converter now outputs line breaks correctly (reported by Michael Franzl) - - Always outputting the entities `zcaron` and `Zcaron` numerically since browser support seems to - be non-existing (reported by Eric Sunshine) - - Fixed warnings and problems when running under Ruby 1.9.2-rc1 - - Fixed problem with smart quote directly after smart quote output in LaTeX converter (reported by - Michael Franzl) - - Fixed problem in the HTML parser that prevented `` from being processed - correctly (reported by Eric Sunshine) - - Blockquotes with multiple child elements are now output with the `quotation` environment instead - of the `quote` environment by the LaTeX converter (reported by Michael Franzl) - - Fixed problem with parsing autolinks when using an encoding different from UTF-8 (reported by - Eric Sunshine) - - Fixed problem with parsing HTML `` tag without `href` attribute (reported by Eric Sunshine) - -* Deprecation notes: - - - The option `numeric_entities` is replaced by the new option `entity_output` and will be removed - in the next version - - The method `Kramdown::Converter::Html#options_for_element` has been removed diff --git a/doc/news/release_0_11_0.page b/doc/news/release_0_11_0.page deleted file mode 100644 index 521aec67..00000000 --- a/doc/news/release_0_11_0.page +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: kramdown 0.11.0 released -no_output: true -sort_info: r0011 -created_at: 2010-10-01 08:31:00 +02:00 -modified_at: 2010-10-01 08:31:00 +02:00 ---- -## kramdown 0.11.0 released - -The biggest change in this release is the implementation of the "lazy syntax" which allows one to -not use the correct indent or block marker and still continue a paragraph, blockquote, ... The -original Markdown syntax allows this and it was requested that kramdown allows this, too. However, -the main reason for adding this syntax to kramdown is not to encourage authors to be lazy but to -allow kramdown texts to be hard-wrapped by other applications (think, for example, email programs). -Therefore you shouldn't make active use of this feature when creating a kramdown document! - -Another important, though minor, change is that invalid HTML tags and extensions are not removed -anymore. This is done because of the general rule that unrecognized elements are treated as simple -text. - -**Note**: The "internal" API (which is currently everything except the `Kramdown::Document` class) -has changed and developers may therefore need to update their extensions! - - -## Changes - -* 3 major changes: - - - Line wrapping a.k.a. "lazy syntax" is now supported (requested by Shawn Van Ittersum) - - Link URLs in inline links and link definitions may now also contain spaces, even if not enclosed - in angle brackets (requested by Matt Neuburg) - - The kramdown converter produces nicer output, using the new option `line_width` - -* 9 minor changes: - - - The HTML converter does not escape the quotation mark in code blocks anymore (requested by Matt - Neuburg) - - The order of HTML attributes and attributes defined via IALs and ALDs is now preserved - (requested by Matt Neuburg) - - Syntax highlighting is now supported in code spans when using the HTML converter (requested by - Josh Cheek) - - Updated `nomarkdown` extension and converters to support restricting the output to certain or - all converters - - Colons are now allowed in ID names for ALDs and IALs - - Tables and math blocks now have to start and end on block boundaries - - The table syntax was relaxed to allow table lines that don't start with a pipe character (to be - more compatible with PHP Markdown Extra tables) - - HTML elements `` and `` are now converted to `` and `` when using - HTML-to-native conversion - - The `document.html` template now uses the text of the first not-nested header as title text - -* 9 bug fixes: - - - The LaTeX converter now removes trailing whitespace in footnotes (reported by Michael Franzl) - - Fixed bug RF#28429: HTML output of `iframe` HTML element was invalid (reported by Matthew Riley) - - Fixed bug RF#28420: LaTeX converter shouldn't escape the content of the `nomarkdown` extension - (reported by Bj Wilson) - - Fixed bug RF#28469: HTML "document" template did not work (reported by Vofa Ethe) - - Fixed bug: HTML/kramdown output of `textarea` HTML element was invalid (reported by John Muhl) - - Invalid or unknown extension tags are now left alone and not removed anymore - - Invalid HTML tags are now left alone and not removed anymore - - Fixed a minor problem in list parsing which arised due to compact nested list detection - - Link/Abbreviation/Footnote definitions as well as extensions, ALDs and block IALs now work - correctly as block separators - -* 1 deprecation note: - - - The option `numeric_entities` has been removed - diff --git a/doc/news/release_0_12_0.page b/doc/news/release_0_12_0.page deleted file mode 100644 index 1643bf9a..00000000 --- a/doc/news/release_0_12_0.page +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: kramdown 0.12.0 released -no_output: true -sort_info: r0012 -created_at: 2010-11-01 09:50:00 +02:00 -modified_at: 2010-11-01 09:50:00 +02:00 ---- -## kramdown 0.12.0 released - -Some changes in the last release of kramdown lead to a performance drop. Therefore some performance -optimizations have been done resulting in about 15% less created objects (which reduces the garbage -collection pressure) and quite a performance gain (this version of kramdown is the faster than any -previous version when using Ruby 1.9.2) -- see the [tests page](../tests.html) for detailed -information. - -Aside from the performance optimizations, a Markdown-only parser based on the kramdown parser has -been added - -The "internal" API (which is currently everything except the `Kramdown::Document` class) has changed -again and developers may therefore need to update their extensions! The API changes now allow -parsers and converters to be used without a Kramdown::Document class since this class is just -provided for convenience. All the needed information is now stored in the element tree itself. -Information that has no direct representation as an element is stored in the options of the root -element (e.g. abbreviation definitions). More information can be found in the API documentation. - -The API should now be relatively stable and once kramdown reaches 1.0.0, the final API will only be -changed in backwards compatible ways. - -## Changes - -* 1 major change: - - - Added Markdown-only parser - -* 6 minor changes: - - - Angle brackets can now also be escaped - - Pipe characters in code spans that appear in tables do not need to be escaped anymore - - New option `toc_levels` for specifying the header levels used for the table of contents - (requested by Rick Frankel, RF#28672) - - MathJax instead of jsMath is now used for math output in the HTML converter - - New option `latex_headers` for customizing the header commands for the LaTeX converter - - Removed parsing of HTML doctype in HTML parser - -* 6 bug fixes: - - - Fixed output of paragraphs starting with a right angle bracket in the kramdown converter - - Invalid span IALs are now left alone and not removed anymore - - Option `entity_output` is now respected when outputting a non-breaking space for emtpy table - cells in the HTML converter (reported by Matt Neuburg) - - Fixed bug where a block IAL before a block HTML element was ignored (reported by Matt Neuburg) - - Fixed bug where block IALs were falsely applied to nested elements (reported by Matt Neuburg) - - Fixed bug RF#28660: Converting `

    ` from HTML to kramdown resulted in stack trace - (reported by Garrett Heaver) - -* 1 deprecation note: - - - The option `toc_depth` is replaced by the new option `toc_levels` and will be removed in the - next version. - - - diff --git a/doc/news/release_0_13_1.page b/doc/news/release_0_13_1.page deleted file mode 100644 index 73921f97..00000000 --- a/doc/news/release_0_13_1.page +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: kramdown 0.13.1 released -no_output: true -sort_info: r0013 -created_at: 2011-01-22 08:02:00 +02:00 -modified_at: 2011-01-22 08:02:00 +02:00 ---- -## kramdown 0.13.1 released - -The focus of this release was bringing kramdown one step closer to the 1.0 release. The API hasn't -changed so this is a drop-in replacement for the previous version of kramdown. - -If you think that - -* kramdown is still missing an important syntax found in another Markdown implementation, -* the API doesn't feel right, -* or anything else is missing or should be changed for the 1.0 release, - -please tell us so by writing to ! - -## Changes - -* 3 minor changs: - - - The LaTeX converter now inserts `\hypertarget` commands for all elements that have an ID set. - The normal link syntax can be used to link to such targets (requested by David Doolin) - - New option `smart_quotes` for specifying how smart quotes should be output (requested by Michael - Franzl) - - Any character except a closing bracket is now valid as link identifier (this makes this part of - the kramdown syntax compatible to Markdown syntax) - -* 10 bug fixes: - - - Fixed error when parsing unknown named entities (reported by David Doolin) - - Added entity definitions for entities ` `, ` ` and ` ` (patch by Damien Pollet) - - Block HTML line was incorrectly recognized as table line (reported by Piotr Szotkowski) - - Fixed bug RF#28809: Empty `
    ` tags are were output as self-closed tags (reported by Tim - Cuthbertson) - - Fixed bug RF#28785: Name of default template in documentation for `template` option was false - (reported by Matthew Bennink) - - Fixed bug RF#28769: span extension in list item wrongly triggered list item IAL parser (reported - by Yann Esposito) - - The table row parser has been fixed so that it does not use pipes which appear in `` tags - as cell separators anymore (like it is done with the native code span syntax) - - Fixed bug where converting `` and `` tags to native elements was wrongly done - - Fixed calculation of cell alignment values when converting HTML tables to native ones, `` - tags are now correctly used - - HTML Tables are now only converted to native tables if all table rows have the same number of - columns. - -* 1 deprecation note: - - - Removed deprecated option `toc_depth` -- use the option `toc_levels` instead. diff --git a/doc/news/release_0_13_2.page b/doc/news/release_0_13_2.page deleted file mode 100644 index 8e9ee4f6..00000000 --- a/doc/news/release_0_13_2.page +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: kramdown 0.13.2 released -no_output: true -sort_info: r00132 -created_at: 2011-02-21 18:01:00 +02:00 -modified_at: 2011-02-21 18:01:00 +02:00 ---- -## kramdown 0.13.2 released - -This release just fixes a problem when parsing long paragraphs/blockquotes under Ruby 1.8. - -## Changes - -* 1 bug fix: - - - Fixed bug RF#28917: Regexp buffer overflow when parsing long paragraphs or blockquotes under - Ruby 1.8 (reported by Michael Fischer) diff --git a/doc/news/release_0_13_3.page b/doc/news/release_0_13_3.page deleted file mode 100644 index 59038ffd..00000000 --- a/doc/news/release_0_13_3.page +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: kramdown 0.13.3 released -no_output: true -sort_info: r00133 -created_at: 2011-05-06 15:10:00 +02:00 -modified_at: 2011-05-06 15:10:00 +02:00 ---- -## kramdown 0.13.3 released - -This is just a bug fix release and it is recommened to update to this version. - -## Changes - -* 1 minor change: - - - Added support for correctly parsing more HTML5 elements (requested by Bernt Carstenschulz) - -* 10 bug fixes: - - - Table line `` |a|`b` `` was parsed as `` |a`b` `` (patch by Masahiro Kitajima) - - Table line `` |`a` `` lead to error condition (patch by Masahiro Kitajima) - - Added OrderedHash#dup to fix a problem when converting a document more than once (reported by - Michael Papile) - - Fixed places where the document tree was modified during conversion - - Fixed bug in LaTeX image element converter that was introduced in a former release (reported by - Michael Franzl) - - Fixed problem with block HTML tag being treated as header text - - Fixed problem with footnotes in LaTeX tables -- now using `longtable` instead of `tabular` - environment (reported by Michael Franzl) - - The `style` attribute is now used for outputting table cell alignments in HTML instead of using - the deprecated `col` tags - - Fixed HTML-to-native conversion of unsupported HTML elements - - Fixed kramdown converter to correctly output table cells with attributes - -* 1 documentation fix: - - - Some HTML tags were not properly escaped on the quick reference page (reported by Yasin - Zähringer) diff --git a/doc/news/release_0_13_4.page b/doc/news/release_0_13_4.page deleted file mode 100644 index 92d7644c..00000000 --- a/doc/news/release_0_13_4.page +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: kramdown 0.13.4 released -no_output: true -sort_info: r00134 -created_at: 2011-12-16 18:10:00 +01:00 -modified_at: 2011-12-16 18:10:00 +01:00 ---- -## kramdown 0.13.4 released - -This is mostly a bug fix release and it is recommened to update to this version. - -## Changes - -* 1 minor change: - - - Added a converter that extracts the TOC of a document (requested by Brendan Hay). Note that this - is only useful if you use kramdown as a library! - -* 7 bug fixes - - - Fixed a typo: It should be `--output` and not `--ouput` (patch by postmodern) - - Fixed HTML converter to correctly output empty `span` tags (patch by John Croisant) - - Fixed bug [RF#29350]: Parsing of HTML tags with mismatched case now works - - Fixed bug [RF#29426]: Content of `style` tags is treated as raw text now - - HTML converter now uses `rel` instead of `rev` to be HTML5 compatible (patch by Joe Fiorini) - - Fixed Ruby 1.9.3 related warnings - - Fixed HTML parser to work around an implementation change of Array#delete_if in Ruby 1.9.3 - -[RF#29350]: http://rubyforge.org/tracker/index.php?func=detail&aid=29350&group_id=7403&atid=28673 -[RF#29426]: http://rubyforge.org/tracker/index.php?func=detail&aid=29426&group_id=7403&atid=28673 diff --git a/doc/news/release_0_13_5.page b/doc/news/release_0_13_5.page deleted file mode 100644 index d2a4a8f7..00000000 --- a/doc/news/release_0_13_5.page +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: kramdown 0.13.5 released -no_output: true -sort_info: r00135 -created_at: 2012-02-19 15:45:00 +01:00 -modified_at: 2012-02-19 15:45:00 +01:00 ---- -## kramdown 0.13.5 released - -This is mostly a bug fix release and it is recommened to update to this version. - -The [kramdown homepage] has also be updated visually. This should provide a better reading -experience for mobile and small-screen devices. - -## Changes - -* 2 minor changes: - - - HTML attributes without values are now supported (fixes bug [RF#29490] reported by Nat Welch) - - HTML attributes names are now always converted to lower case for consistency - -* 5 bug fixes - - - Fixed Document#method_missing to accept snake_cased class name (patch by tomykaira) - - Fixed problem with missing REXML constant on older Ruby 1.8.6 version (reported by Dave Everitt) - - Fixed bug [RF#29520]: Valid inline math statement does not trigger math block anymore (reported - by Gioele Barabucci) - - Fixed bug [RF#29521]: HTML math output is now always XHTML compatible (reported by Gioele - Barabucci) - - Empty `id` attributes are now handled better by the HTML and kramdown converters (reported by - Jörg Sommer) - -* 1 documentation fix: - - - Fixed invalid `options` statement in example on quick reference page (reported by Jörg Sommer) - -[kramdown homepage]: http://kramdown.gettalong.org -[RF#29490]: http://rubyforge.org/tracker/index.php?func=detail&aid=29490&group_id=7403&atid=28673 -[RF#29520]: http://rubyforge.org/tracker/index.php?func=detail&aid=29520&group_id=7403&atid=28673 -[RF#29521]: http://rubyforge.org/tracker/index.php?func=detail&aid=29521&group_id=7403&atid=28673 diff --git a/doc/news/release_0_13_6.page b/doc/news/release_0_13_6.page deleted file mode 100644 index bd3045d5..00000000 --- a/doc/news/release_0_13_6.page +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: kramdown 0.13.6 released -no_output: true -sort_info: r00136 -created_at: 2012-05-09 19:55:00 +01:00 -modified_at: 2012-05-09 19:55:00 +01:00 ---- -## kramdown 0.13.6 released - -This is just a bug fix release and it is recommened to update to this version. - -## Changes - -* 2 bug fixes - - - Fixed a problem with CDATA sections appearing in MathJax output (reported by Xi Wang, see - [github commit]) - - Fixed bug [RF#29557]: Parsing fails with lists that contain an empty list item (reported by Juan - Romero Abelleira) - -[github commit]: https://github.com/gettalong/kramdown/commit/512b00a6d050f506c43b824861f7bbf459862a19#LOR318 -[RF#29557]: http://rubyforge.org/tracker/index.php?func=detail&aid=29557&group_id=7403&atid=28673 diff --git a/doc/news/release_0_13_7.page b/doc/news/release_0_13_7.page deleted file mode 100644 index a1c942aa..00000000 --- a/doc/news/release_0_13_7.page +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: kramdown 0.13.7 released -no_output: true -sort_info: r00137 -created_at: 2012-06-03 09:50:00 +02:00 -modified_at: 2012-06-03 09:50:00 +02:00 ---- -## kramdown 0.13.7 released - -This release, aside from fixing bugs and some other minor changes, adds a new converter for removing -HTML tags from an element tree. This means that one can now do - - kramdown -i html -o remove_html_tags,kramdown my_document.html - -and get a nice kramdown document from a full HTML document! - -## Changes - -* 1 major change - - - Implemented [RemoveHtmlTags converter] for removing HTML tags from an element tree (fixes bug - [RF#29282] requested by Bernard Potocki) - -* 3 minor changes - - - Updated kramdown binary to support multiple, chained output formats - - Added a new option for setting a default coderay highlighting language (requested by Lou - Quillio) - - Feature request [RF#29575]: Added support for `­` soft-hyphen entity (requested by Alexander - Groß) - -* 5 bug fixes - - - Fixed bug [RF#29576]: Footnotes in headers resulted in duplicated `id` attr in TOC (reported by - korthaerd) - - Multi-line titles in links are now correctly parsed - - DOCTYPE declaration is now correctly parsed independent of case - - Setting of `nil` options works now by using the String 'nil' - - Fixed table-of-content test cases (test went green although the meaning of the test was not - satisfied due to copy-paste - d'oh!) - -* 1 documentation fix - - - Fixed bug [RF#29577]: sidebar link to news page was broken for HTML pages in sub directories - (reported by korthaerd) - -[RF#29577]: http://rubyforge.org/tracker/index.php?func=detail&aid=29577&group_id=7403&atid=28673 -[RF#29576]: http://rubyforge.org/tracker/index.php?func=detail&aid=29576&group_id=7403&atid=28673 -[RF#29575]: http://rubyforge.org/tracker/index.php?func=detail&aid=29575&group_id=7403&atid=28676 -[RF#29282]: http://rubyforge.org/tracker/index.php?func=detail&aid=29282&group_id=7403&atid=28673 -[RemoveHtmlTags converter]: ../converter/remove_html_tags.html diff --git a/doc/news/release_0_13_8.page b/doc/news/release_0_13_8.page deleted file mode 100644 index a3dac3ba..00000000 --- a/doc/news/release_0_13_8.page +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: kramdown 0.13.8 released -no_output: true -sort_info: r00138 -created_at: 2012-08-31 18:10:00 +02:00 -modified_at: 2012-08-31 18:10:00 +02:00 ---- -## kramdown 0.13.8 released - -This release brings two new options (one for adjusting header levels and the other for -enabling/disabling coderay). And the usual bug fixes. - -## Changes - -* 2 minor changes - - - New option `header_offset` for offsetting all header levels (initial patch by Michal Till) - - New option `enable_coderay` for enabling/disabling coderay (initial patch by Bran) - -* 5 bug fixes - - - Reserved HTML characters in abbreviation titles are now correctly output (patch by Alex Tomlins) - - Similar abbreviations (like CSS and CSS3) are now correctly parsed - - Fixed bug [RF#29626]: Text of mailto-link was sometimes wrongly obfuscated (reported by B - Wright) - - Fixed known Ruby 1.9.3 problem with RakeTest task (patch by Gioele Barabucci) - - Fixed double output of 'markdown' attribute on HTML elements in kramdown converter - -* 1 documentation change - - - README file is now called README.md and uses kramdown syntax (patch by Bran) - -[RF#29626]: http://rubyforge.org/tracker/index.php?func=detail&aid=29626&group_id=7403&atid=28673 diff --git a/doc/news/release_0_14_0.page b/doc/news/release_0_14_0.page deleted file mode 100644 index 1d270c62..00000000 --- a/doc/news/release_0_14_0.page +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: kramdown 0.14.0 released -no_output: true -sort_info: r00140 -created_at: 2012-09-16 08:00:00 +02:00 -modified_at: 2012-09-16 08:00:00 +02:00 ---- -## kramdown 0.14.0 released - -First of all please note that this release contains a **backwards-incompatible** change: The syntax -for specifying a code language for a code block or code span has changed. Instead of using -`lang='CODELANG'` one has to use `.language-CODELANG` now. - -This change has been introduced to avoid problems because the `lang="..."` attribute is used by HTML -for other purposes than setting the code language. Furthermore using `.language-CODELANG` is also -proposed by HTML5 and it seems to be a good way to achieve the needed functionality. - -Other changes in this release include the possibility of setting the code language on the starting -line of a fenced code block and a way of excluding certain headers from the table of contents by -assigning the `.no_toc` class to them. - -## Changes - -* 2 major changes - - - Code language is now specified via `.language-CODELANG` instead of `lang='CODELANG'` - - Implemented support for setting language on fenced code block starting line (initial patch by - Bran) - -* 1 minor change - - - Headers with an ID can be prevented from showing in the TOC by assigning the `.no_toc` class to - them (patch by Tim Bates) - -* 1 bug fix - - - Numeric instead of symbolic HTML entities are now the default fallback (patch by Gioele - Barabucci) diff --git a/doc/news/release_0_14_1.page b/doc/news/release_0_14_1.page deleted file mode 100644 index f66d01a2..00000000 --- a/doc/news/release_0_14_1.page +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: kramdown 0.14.1 released -no_output: true -sort_info: r00141 -created_at: 2012-11-30 18:30:00 +02:00 -modified_at: 2012-11-30 18:30:00 +02:00 ---- -## kramdown 0.14.1 released - -This is just a bug fix release and it is recommened to update to this version. - -## Changes - -* 3 bug fixes - - - Only HTML elements that must not contain a body (like `
    `) are output in this form, all - other elements now use an explicit closing tag (resolves among other things issues with ``) - - Specifying a block IAL before a definition list now works correctly - - Fixed bug [GH#30]: Empty body for a definition in a definition list lead to an exception - (reported by Mark Johnson) - -[GH#30]: https://github.com/gettalong/kramdown/issues/30 diff --git a/doc/news/release_0_14_2.page b/doc/news/release_0_14_2.page deleted file mode 100644 index 13546294..00000000 --- a/doc/news/release_0_14_2.page +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: kramdown 0.14.2 released -no_output: true -sort_info: r00142 -created_at: 2013-01-20 14:10:00 +02:00 -modified_at: 2013-01-20 14:10:00 +02:00 ---- -## kramdown 0.14.2 released - -This release adds the possibility to pre-define link definitions via the new option `link_defs`. -Apart from that one bug was fixed. - -It is recommened to update to this version. - -On a side note the kramdown homepage has been updated to show a menu of the available documentation -pages when viewing a documentation page. And a documentation page showing all available options has -been added. - - -## Changes - -* 1 minor change - - - New option `link_defs` for pre-defining link definitions - -* 1 bug fix - - - Fixed raised errors on atx headers without text diff --git a/doc/news/release_0_1_0.page b/doc/news/release_0_1_0.page deleted file mode 100644 index f3cc1947..00000000 --- a/doc/news/release_0_1_0.page +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: kramdown 0.1.0 released -no_output: true -sort_info: r0000 -created_at: 2009-11-21 08:35:00 +02:00 -modified_at: 2009-11-21 08:35:00 +02:00 ---- -## kramdown 0.1.0 released - -This is the first release of kramdown, yet-another-Markdown converter for Ruby, with the following -features: - -* Written in pure Ruby, no need to compile an extension (like BlueCloth or rdiscount) - -* Fast (current impl ~5x faster than Maruku, ~10x faster than BlueFeather, although ~30x slower than - native code like rdiscount) - -* Strict syntax definition (special cases for which the original Markdown page does not account for - are explicitly listed and it is shown how kramdown parses them - see the [Syntax] page) - -* Supports common Markdown extension (similar to Maruku) - -[Syntax]: ../syntax.html diff --git a/doc/news/release_0_2_0.page b/doc/news/release_0_2_0.page deleted file mode 100644 index a5a5cc9d..00000000 --- a/doc/news/release_0_2_0.page +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: kramdown 0.2.0 released -no_output: true -sort_info: r0001 -created_at: 2009-12-03 20:25:00 +02:00 -modified_at: 2009-12-03 20:25:00 +02:00 ---- -## kramdown 0.2.0 released - -The most important changes in this release are the inclusion of a definition list syntax and the -much improved HTML parser. For example, the HTML parser now recognizes the `markdown` attribute for -enabling and disabling syntax processing in an HTML element and it works in many more scenarios. - -The kramdown syntax is still a bit in in a state of flux but all of the major syntax elements -(except a syntax for tables) are now available. The following releases will focus on stability and -fixing bugs. - -kramdown now also passes 16 from the 23 original Markdown test cases and if one looks at the ones -that fail one can easily see that this is because of the small changes in the syntax (e.g. -converting `---` to `&mdash`). This means that almost all Markdown documents show be correctly -parsed by kramdown! - -Last but not least I want to thank Eric Sunshine for his many helpful comments, suggestions and bug -reports! - - -## Changes - -* Major changes: - - - Definition lists are now supported - - Option `auto_ids` now defaults to `true` - - kramdown syntax (except HTML block lines) is not processed anymore by default in HTML block tags - - Added option for enabling/disabling parsing of HTML blocks/spans - - Added recognition and usage of the "markdown" attribute for HTML block/span tags - - Renamed extensions `kdoptions` to `options` and `nokramdown` to `nomarkdown` (suggested by Eric - Sunshine) - - Added support for setting header IDs via the syntax available in PHP Markdown Extra and Maruku - -* Bug fixes: - - - Fixed bug that occured when using `auto_ids=true` and an IAL for assigning an ID to a header - - Fixed bug with parsing of autolinks (reported by Eric Sunshine) - - Fixed many bugs regarding HTML parsing -- HTML parsing should work much better now (reported by - Eric Sunshine) - - Fixed bug with parsing of horizontal rules which contain tabs - -* Deprecation notes: - - - The old extension names `kdoptions` and `nokramdown` will be removed in one of the next - versions, use the new names `options` and `nomarkdown`. diff --git a/doc/news/release_0_3_0.page b/doc/news/release_0_3_0.page deleted file mode 100644 index a0e3ac12..00000000 --- a/doc/news/release_0_3_0.page +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: kramdown 0.3.0 released -no_output: true -sort_info: r0002 -created_at: 2009-12-20 15:50:00 +02:00 -modified_at: 2009-12-20 15:50:00 +02:00 ---- -## kramdown 0.3.0 released - -The HTML block syntax was changed in this release sothat using raw HTML blocks works more naturally -and the rules are easier to remember. This also lead to the creation of a completely new HTML block -parser. Apart from that, there have also been some bug fixes. - -Another important change is that kramdown now also runs under Ruby 1.8.5. - -## Changes - -* Major changes: - - - Added a compatibility fix so that kramdown works under Ruby 1.8.5 (requested by Steve Huff) - - Complete overhaul of the used block HTML syntax and block HTML parser - - Using the same semantics for invalid end tags and unclosed tags in the block and span HTML - parser - -* Bug fixes: - - - Fixed warnings on Ruby 1.9 - - Fixed bug in emphasis parser where emphasis started with an underscore at the beginning of a new - line inside a paragraph was not recognized (reported by Eric Sunshine) - -* Deprecation notes: - - - The old extension names `kdoptions` and `nokramdown` have been removed, only the new names - `options` and `nomarkdown` will work from now on. diff --git a/doc/news/release_0_4_0.page b/doc/news/release_0_4_0.page deleted file mode 100644 index 9bb7a7f9..00000000 --- a/doc/news/release_0_4_0.page +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: kramdown 0.4.0 released -no_output: true -sort_info: r0003 -created_at: 2010-01-22 16:30:00 +02:00 -modified_at: 2010-01-22 16:30:00 +02:00 ---- -## kramdown 0.4.0 released - -This release features the addition of a [simple table syntax][1] and [syntax highlighting][2] of -code blocks. I think that with these two additions kramdown now supports all the major features -regarding parsing and HTML output that Maruku supports. - -Regarding speed: Simple benchmarks using the Markdown README file (can be found inside [this zip -file][3]) show that kramdown is currently faster than, for example, the original Markdown.pl, PHP -Markdown, PHP Markdown Extra, Python Markdown and Maruku. - - -## Changes - -* Major changes: - - - Added [syntax][1] for simple tables - - Added optional [syntax highlighting][2] of code blocks through the CodeRay library - -* Minor changes: - - - Changed CSS class name `kramdown-footnotes` to `footnotes` for better compatibility - -* Bug fixes: - - - Regular expression for matching escaped characters now works correctly - -[1]: ../syntax.html#tables -[2]: ../converter/html.html#syntax-highlighting -[3]: http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip diff --git a/doc/news/release_0_5_0.page b/doc/news/release_0_5_0.page deleted file mode 100644 index 11bc815c..00000000 --- a/doc/news/release_0_5_0.page +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: kramdown 0.5.0 released -no_output: true -sort_info: r0005 -created_at: 2010-02-15 10:11:00 +02:00 -modified_at: 2010-02-15 10:11:00 +02:00 ---- -## kramdown 0.5.0 released - -This release features syntax support for smart quotes in kramdown documents and a new converter for -LaTeX output. The kramdown binary has also been enhanced to support setting any option. - -The additional support for the smart quotes makes this release of kramdown a little bit slower than -the previous releases when run under Ruby 1.8. However, a small optimization in the span parser -which is not noticable under Ruby 1.8 gives quite a performance boost under Ruby 1.9 (see the graphs -on the [tests page](../tests.html)). - -Also note that the internals have been restructured slightly. So if you do more than just using the -basic - - Kramdown::Document.new(SOURCE, OPTIONS).to_html -{: .language-ruby} - -you may need to adapt your code. - -Since the option handling has been revamped, each coderay option must not be set separably! - -## Changes - -* Major changes: - - - Enhanced the `kramdown` binary (it now supports setting the available options) - - Added support for ERB templates to wrap the generated output - - Added syntax support for smart quotes - - Added a converter for LaTeX output - -* Minor changes: - - - Some code restructurations - - The quotation mark `"` is not converted to `"` in normal text anymore. - -* Bug fixes: - - - Fixed problem with multibyte encodings under Ruby 1.9 diff --git a/doc/news/release_0_6_0.page b/doc/news/release_0_6_0.page deleted file mode 100644 index 253108e7..00000000 --- a/doc/news/release_0_6_0.page +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: kramdown 0.6.0 released -no_output: true -sort_info: r0006 -created_at: 2010-04-06 11:30:00 +02:00 -modified_at: 2010-04-06 11:30:00 +02:00 ---- -## kramdown 0.6.0 released - -This release adds syntax support for block and inline LaTeX math (for example: $$e^{i\pi}=?$$). -Aside from that there are the usual small enhancements and bug fixes. - -## Changes - -* Major changes: - - - Added syntax support for block and inline LaTeX math - -* Minor changes: - - - Added a man page for the kramdown binary - - Added a CLI option for selecting the input format and changed the output format option to `-o` - - Small syntax change for list items: the last list item text is now also wrapped in a paragraph - tag if all other list items are. - - Added documentation on available parsers and converters - -* Bug fixes: - - - Fixed problem where clearly invalid email autolinks were permitted (reported by Eric Sunshine) - - Added documentation for autolinks (reported by Eric Sunshine) - - Fixed performance problem related to emphasis parsing (reported by Chris Heald) - - Fixed bug RF#27957: document templates were missing from distribution packages (reported by Alex - Bargi) - - Fixed problem with LaTeX converter handling HTML elements not correctly - -* Deprecation notes: - - - The CLI options `-f` will be removed in the next release. diff --git a/doc/news/release_0_7_0.page b/doc/news/release_0_7_0.page deleted file mode 100644 index 00b0c1ab..00000000 --- a/doc/news/release_0_7_0.page +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: kramdown 0.7.0 released -no_output: true -sort_info: r0007 -created_at: 2010-05-07 12:15:00 +02:00 -modified_at: 2010-05-07 12:15:00 +02:00 ---- -## kramdown 0.7.0 released - -This release adds syntax support for abbreviations. This means that kramdown is now syntax-wise on -par with Maruku and PHP Markdown Extra! - -Another big change is the extension support: After some discussion on the mailing list (many thanks -to Eric Sunshine and Shawn Van Ittersum), the syntax for the extensions has been changed and support -for custom extensions will be dropped in a future release. - -Additionally, the option `auto_ids` has been moved from being interpreted by the parser to being -interpreted by the converters. This means that it is not possible anymore to turn automatic header -ID generation on or off for parts of a text. - -The HTML and LaTeX converters also gained the ability to generate a table of contents. Just add the -reference name "toc" to an ordered or unordered list and it will be replaced by the ToC (this is -"coincidentally" the same syntax that Maruku uses...). - - -## Changes - -* Major changes: - - - Added support for PHP Markdown Extra like abbreviations - - Added support for span extensions - - New syntax for block/span extensions - - Added support for generating a table of contents in the HTML and LaTeX converters - -* Minor changes: - - - The option `auto_ids` has been moved from the parser to the converters. - - Invalid span IALs are now removed from the output - - IALs can now be applied to individual list items by placing the IAL directly after the list item - marker - - Added an option for prefixing automatically generated IDs with a string - - Block IALs can now also be put before a block element - -* Bug fixes: - - - Fixed a problem with parsing smart quotes at the beginning of a line (reported by Michael - Franzl) - -* Deprecation notes: - - - Removed deprecated CLI option `-f` - - The old extension syntax and support for custom extensions will be removed in the next release. diff --git a/doc/news/release_0_8_0.page b/doc/news/release_0_8_0.page deleted file mode 100644 index e3ffd4eb..00000000 --- a/doc/news/release_0_8_0.page +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: kramdown 0.8.0 released -no_output: true -sort_info: r0008 -created_at: 2010-06-08 15:30:00 +02:00 -modified_at: 2010-06-08 15:30:00 +02:00 ---- -## kramdown 0.8.0 released - -One of the bigger changes in this release is the support for converting HTML tags into native -kramdown elements via the new `html_to_native` option. For example, the HTML tag `p` is converted to -the native paragraph element instead of a generic HTML tag if this option is set to `true`. This is -especially useful for converters that don't handle generic HTML tags (e.g. the LaTeX converter). - -This conversion is a feature of the new standalone HTML parser which is used by the kramdown parser -for parsing HTML tags. - -Also note that support for the old extension syntax and custom extensions has been dropped as of -this release! And the `filter_html` option will be removed in the next release because there exist -better facilities for performing this kind of task! - - -## Changes - -* Major changes: - - - New parser for parsing HTML documents - - Added the option `html_to_native` (default: `false`) which tells the kramdown parser whether to - convert HTML tags to native kramdown elements or to generic HTML elements. - -* Minor changes: - - - Table header cells are now represented by their own element type - - The element type `:html_text` is not used anymore - it is replaced by the general `:text` - element - - HTML comments are now converted to LaTeX comments when using the LaTeX converter - - The LaTeX converter can now output the contents of HTML `` and `` tags - -* Bug fixes: - - - Attributes that have been assigned to the to-be-replaced TOC list are now added correctly on the - generated TOC list in the HTML converter - - Fixed problem in typographic symbol processing where an entity string instead of an entity - element was added - - Fixed problem with HTML span parsing: some text was not added to the correct element when the - end tag was not found - - HTML `code` and `pre` tags are now parsed as raw HTML tags - - HTML tags inside raw HTML span tags are now parsed correctly as raw HTML tags - - The Rakefile can now be used even if the `rdoc` gem is missing (patch by Ben Armston) - - Fixed generation of footnotes in the LaTeX converter (patch by Ben Armston) - - Fixed LaTeX converter to support code spans/blocks in footnotes - - HTML comments and XML processing instructions are now correctly parsed inside raw HTML tags - - HTML script tags are now correctly parsed - - Fixed the abbreviation conversion in the LaTeX converter - - Empty image links are not output anymore by the LaTeX converter - -* Deprecation notes: - - - The old extension syntax and support for custom extensions has been removed. - - The `filter_html` option will be removed in the next release. diff --git a/doc/news/release_0_9_0.page b/doc/news/release_0_9_0.page deleted file mode 100644 index d656a9b1..00000000 --- a/doc/news/release_0_9_0.page +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: kramdown 0.9.0 released -no_output: true -sort_info: r0009 -created_at: 2010-06-23 08:10:00 +02:00 -modified_at: 2010-06-23 08:10:00 +02:00 ---- -## kramdown 0.9.0 released - -The biggest change in this release is the addition of a kramdown converter. This converter together -with the HTML parser enables one to convert an HTML document into a kramdown document. - -Apart from that there are many other small changes and bug fixes, a full list of which you find -below. - -## Changes - -* Major changes: - - - New *kramdown converter* that converts an element tree into a kramdown document - -* Minor changes: - - - Added option `numeric_entities` that defines whether entities are output using their names or - their numeric values - - Added option `toc_depth` for specifying how many header levels to include in the table of - contents (patch by Alex Marandon) - - Ruby 1.9 only: The HTML converter now always tries to convert entities to their character - equivalences if possible - - Change in HTML parser: conversion of `pre` and `code` elements to their native counterpart is - only done if they contain no entities (under Ruby 1.9 entities are converted to characters - before this check if possible) - - The comment extension now produces comment elements that are used by the converters - - IALs can now also be assigned to definitions (i.e. `dd` elements) - - Image links may now be specified without alternative text (requested by Rune Myrland, fixes - RF#28292) - - The HTML parser gained the ability to convert conforming `span` and `div` elements to `math` - elements - - The LaTeX converter now outputs the element attributes as LaTeX comment for some elements - (blockquotes, lists and math environments; requested by Michael Franzl) - -* Bug fixes: - - - Fixed problem with list item IALs: the IAL was not recognized when first element was a code - block - - Fixed ri documentation error on gem installation (patch by Alex Marandon) - - Math content is now correctly escaped when using the HTML converter - - Fixed html-to-native conversion of tables to only convert conforming tables - -* Deprecation notes: - - - The `filter_html` option has been removed. - - The method `Kramdown::Converter::Html#options_for_element` has been renamed to - `html_attributes` -- using the old name is deprecated and the alias will be removed in the next - release diff --git a/doc/news/release_1_0_0.page b/doc/news/release_1_0_0.page deleted file mode 100644 index e9a443f7..00000000 --- a/doc/news/release_1_0_0.page +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: kramdown 1.0.0 released -no_output: true -sort_info: r0100 -created_at: 2013-03-10 15:00:00 +01:00 -modified_at: 2013-03-10 15:00:00 +01:00 ---- -## kramdown 1.0.0 released - -Finally! After four years of development I proudly present you kramdown **1.0.0**! - -Naturally, it is recommened to update to this version. - -Although the version number now starts with one, the changes from the last release are mostly bug -fixes and some small changes. The biggest change is the **license change**: Until now kramdown was -released under the GPL but starting from 1.0.0 it is released under the **MIT license**! - -The MIT license allows the use of kramdown in a commercial setting. However, if you are using -kramdown in a commercial setting, I ask you to contribute back any changes you make for the benefit -of the community and/or to make a donation - thanks in advance! - - -## Changes - -* 4 minor changes - - - New option `transliterated_header_ids` for transliterating header text into ASCII before - generating a header ID which is useful for language like Vietnamese (fixed [GH#35], requested by - Kỳ Anh) - - The quotation mark entity `"` now gets converted to its character equivalent when - `entity_output=as_char`. - - A warning is now output for IALs/ALDs that contain not attribute defintion. - - HTML footnote output is changed to use `class` instead of `rel` to achieve (X)HTML4/5 - compatibility - -* 3 bug fixes - - - Fixed [GH#38]: Encoding problem on 1.9/2.0 due to incompatible encodings -- the source string is - now converted to UTF-8 before parsing and converted back after converting (reported by Simon - Lydell) - - Fixed [RF#29647]: Abbreviations with non-word first character at start of text lead to exception - (reported by Stephan Dale) - - Fixed [RF#29704]: ID specified on atx style headers were not always correctly detected (reported - by Kyle Barbour) - - -[RF#29704]: http://rubyforge.org/tracker/index.php?func=detail&aid=29704&group_id=7403&atid=28673 -[RF#29647]: http://rubyforge.org/tracker/index.php?func=detail&aid=29647&group_id=7403&atid=28673 -[GH#38]: https://github.com/gettalong/kramdown/issues/38 -[GH#35]: https://github.com/gettalong/kramdown/issues/35 - diff --git a/doc/news/release_1_0_1.page b/doc/news/release_1_0_1.page deleted file mode 100644 index 0acc8488..00000000 --- a/doc/news/release_1_0_1.page +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: kramdown 1.0.1 released -no_output: true -sort_info: r0101 -created_at: 2013-03-11 20:15:00 +01:00 -modified_at: 2013-03-11 20:15:00 +01:00 ---- -## kramdown 1.0.1 released - -This release just fixes a bug where kramdown was modifying the input string, so updating is -recommended. - -## Changes - -* 1 bug fix - - - Fixed [GH#40]: Input string was unintentionally modified - -[GH#40]: https://github.com/gettalong/kramdown/issues/40 - diff --git a/doc/news/release_1_0_2.page b/doc/news/release_1_0_2.page deleted file mode 100644 index b9d124b5..00000000 --- a/doc/news/release_1_0_2.page +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: kramdown 1.0.2 released -no_output: true -sort_info: r0102 -created_at: 2013-05-09 08:50:00 +02:00 -modified_at: 2013-05-09 08:50:00 +02:00 ---- -## kramdown 1.0.2 released - -This release fixes some bugs; updating is recommended. - -Some notes: - -* The [tests page](../tests.html) has been updated to include relative times in the benchmark so - that it is possible to better gauge the performance of kramdown (requested by postmodern). - -* The [kramdown Wiki][1] now contains a listing of libraries that extend kramdown (idea by - postmodern). - - -## Changes - -* 4 bug fixes - - - Fixed [GH#51]: Try requiring a parser/converter library based on the specified input/output name - (requested by postmodern) - - Fixed [GH#49]: Convert non-breaking space to `~` for LaTeX converter (patch by Henning Perl) - - Fixed [GH#42]: No more warning for IALs/ALDs/extensions without attributes (reported by DHB) - - Fixed [GH#44]: Removed trailing whitespace in link definition for kramdown converter (patch by - Marcus Stollsteimer) - -[1]: https://github.com/gettalong/kramdown/wiki - -[GH#44]: https://github.com/gettalong/kramdown/pull/44 -[GH#42]: https://github.com/gettalong/kramdown/issues/42 -[GH#49]: https://github.com/gettalong/kramdown/pull/49 -[GH#51]: https://github.com/gettalong/kramdown/issues/51 diff --git a/doc/news/release_1_10_0.page b/doc/news/release_1_10_0.page deleted file mode 100644 index 20110259..00000000 --- a/doc/news/release_1_10_0.page +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: kramdown 1.10.0 released -no_output: true -sort_info: r1100 -created_at: 2016-03-02 18:43:00 +01:00 -modified_at: 2016-03-02 18:43:00 +01:00 ---- -## kramdown 1.10.0 released - -This release brings the usual bug fixes but also support for the strikethrough syntax in the GFM -parser as well as some enhancements regarding the specification of language names for syntax -highlighting purposes. - - -## Changes - -* 4 minor changes: - - - Support for the math-engine MathJax-Node was updated to use the new mathjax-node package (fixes - [#313], pull request by Tom Thorogood) - - URL query parameters can now be appended to language names specified in fenced code blocks if - the syntax highlighting engine accepts them (fixes [#234]) - - Added strikethrough syntax to the GFM parser (fixes [#184] and [#307]; initial pull request by - Diego Galeota, updated by Parker Moore) - - Allow almost all characters in class names that are defined via a special syntax (fixes [#318], - requested by cabo) - -* 4 bug fixes: - - - Fixed a problem where `Kramdown::Document.new` would only accept the symbol :input but not the - string 'input' as valid key (fixes [#312], pull request by Sun Yaozhu) - - Fixed inconsistent behavior: Empty link text is now also allowed for normal links, not just - images (fixes [#305], reported by cabo) - - The HTML5 `` element is now recognized as span level element (fixes [#298], reported by - Niclas Darville) - - Fixed problem where e-mail autolinks containing an underscore character were not correctly - recognized (fixes [#293], reported by erikse) - -* 3 other fixes: - - - Fixed missing package update statement for Travis (by Parker Moore) - - Add some more documentation regarding MathJax (fixes [#296], pull request by Christopher - Jefferson) - - Fixed bad link in API documentation (fixes [#315], reported by Tom MacWright) - -[#312]: https://github.com/gettalong/kramdown/pull/312 -[#305]: https://github.com/gettalong/kramdown/issues/305 -[#298]: https://github.com/gettalong/kramdown/issues/298 -[#313]: https://github.com/gettalong/kramdown/pull/313 -[#293]: https://github.com/gettalong/kramdown/issues/293 -[#234]: https://github.com/gettalong/kramdown/issues/234 -[#315]: https://github.com/gettalong/kramdown/issues/315 -[#296]: https://github.com/gettalong/kramdown/pull/296 -[#184]: https://github.com/gettalong/kramdown/pull/184 -[#307]: https://github.com/gettalong/kramdown/pull/307 -[#318]: https://github.com/gettalong/kramdown/issues/318 diff --git a/doc/news/release_1_11_0.page b/doc/news/release_1_11_0.page deleted file mode 100644 index ff114694..00000000 --- a/doc/news/release_1_11_0.page +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: kramdown 1.11.0 released -no_output: true -sort_info: r1110 -created_at: 2016-05-01 13:37:00 +02:00 -modified_at: 2016-05-01 13:37:00 +02:00 ---- -## kramdown 1.11.0 released - -This release fixes some bugs and includes one minor change in regards to HTML syntax highlighting. - - -## Changes - -* 1 minor change: - - - The syntax highlighting language is now always included in the output as class name even if a - syntax highlighter is used (fixes [#328], requested by SLaks) - -* 3 bug fixes: - - - Fixed the GFM fenced code block parser to correctly split a provided highlighter name into - language name and options parts - - Fixed problem with underscores being processed even if inside a word (fixes [#323], reported by - Haruki Kirigaya) - - Fixed HTML/XML parser to correctly, case sensitively parse XML (fixes [#310], reported by cabo) - -* 2 other fixes: - - - Updated copyright year (fixes [#331], reported by Oscar Björkman) - - Updated supported Ruby version on installation page (reported by cabo) - - -[#328]: https://github.com/gettalong/kramdown/issues/328 -[#331]: https://github.com/gettalong/kramdown/issues/331 -[#323]: https://github.com/gettalong/kramdown/issues/323 -[#310]: https://github.com/gettalong/kramdown/issues/310 diff --git a/doc/news/release_1_11_1.page b/doc/news/release_1_11_1.page deleted file mode 100644 index fb4f0459..00000000 --- a/doc/news/release_1_11_1.page +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: kramdown 1.11.1 released -no_output: true -sort_info: r1111 -created_at: 2016-05-01 22:15:00 +02:00 -modified_at: 2016-05-01 22:15:00 +02:00 ---- -## kramdown 1.11.1 released - -This release fixes an emphasis parsing regression introduced in the last version. - - -## Changes - -* 1 bug fix: - - - Fixed emphasis parsing regression (fixes [#333], reported by Marcus Stollsteimer) - - -[#333]: https://github.com/gettalong/kramdown/issues/333 diff --git a/doc/news/release_1_12_0.page b/doc/news/release_1_12_0.page deleted file mode 100644 index 27efb7a5..00000000 --- a/doc/news/release_1_12_0.page +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: kramdown 1.12.0 released -no_output: true -sort_info: r1120 -created_at: 2016-08-15 10:45:00 +02:00 -modified_at: 2016-08-15 10:45:00 +02:00 ---- -## kramdown 1.12.0 released - -This release features two enhancements for definition lists: - -1. IALs can now be applied to definition terms: - - {:.classy} term - : and its definition - -2. IDs for definition terms can now be created automatically (similar to header IDs) and optionally - assigned a prefix: - - {:auto_ids} - term1 - : definition - - term2 - : definition - - ^ - - {:auto_ids-prefix} - term1 - : definition - - term2 - : definition - -Furthermore, compatibility of the GFM parser has been improved in regards to -list/blockquotes/codeblocks that are used directly after a paragraph (i.e. without a blank line). - - -## Changes - -* 4 minor change: - - - Allow using an IAL for definition terms (`
    `) as is already possible with definitions - themselves (`
    `) - - Added automatic generation of IDs (with optional prefix) for terms of definition lists (fixes - [#355], requested by Greg Wilson) - - Removed obfuscation for e-mail links (fixes [#343], requested by Anton Tsyganenko) - - New option 'gfm_quirks' for enabling/disabling parsing differences of the GFM parser with - respect to the kramdown parser - -* 4 bug fixes: - - - Added support for HTML5 element `
    ` (fixes [#334], reported by Jean-Michel Lacroix) - - Fixed math element output for HTML converter when no math engine is set (fixes [#342], reported - by Adrian Sampson) - - Fixed problem when using custom HTML formatter for syntax highlighter rouge (fixes [#356], patch - by Alexey Vasiliev) - - Better compatibility with GFM when lists/blockquotes/codeblocks are used directly after a - paragraph (fixes [#336] (reported by Shuanglei Tao), [#359] (reported by Matti Schneider) via - the patch [#358] by Shuanglei Tao) - -* 3 other fixes and enhancements: - - - Added some more examples for how list indentation works (fixes [#353], requested by Robbert - Brak) - - Using `RbConfig` instead of deprecated `Config` for determining data directory (fixes [#345], - patch by Cédric Boutillier) - - JRuby is now also tested via TravisCI (fixes [#363], patch by Shuanglei Tao) - -[#334]: https://github.com/gettalong/kramdown/issues/334 -[#343]: https://github.com/gettalong/kramdown/issues/343 -[#342]: https://github.com/gettalong/kramdown/issues/342 -[#353]: https://github.com/gettalong/kramdown/issues/353 -[#355]: https://github.com/gettalong/kramdown/issues/355 -[#345]: https://github.com/gettalong/kramdown/pull/345 -[#356]: https://github.com/gettalong/kramdown/pull/356 -[#358]: https://github.com/gettalong/kramdown/pull/358 -[#336]: https://github.com/gettalong/kramdown/issues/336 -[#359]: https://github.com/gettalong/kramdown/issues/359 -[#363]: https://github.com/gettalong/kramdown/pull/363 diff --git a/doc/news/release_1_13_0.page b/doc/news/release_1_13_0.page deleted file mode 100644 index 76d0b866..00000000 --- a/doc/news/release_1_13_0.page +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: kramdown 1.13.0 released -no_output: true -sort_info: r1130 -created_at: 2016-11-20 11:30:00 +01:00 -modified_at: 2016-11-20 11:30:00 +01:00 ---- -## kramdown 1.13.0 released - -The biggest change in this release is the introduction of a converter for [man pages]. Although -there already exist two solutions ([ronn] and [kramdown-man]), both are not completely satisfactory: - -* Ronn doesn't use standard Markdown syntax for all elements. -* kramdown-man only converts a subset of the available element types. - -The new man page converter uses standard kramdown syntax and supports nearly all element types, -including tables. - -This release also brings some enhancements for the GFM parser. One thing to note is that the header -ID generation is now more compatible to GFM which also means that **some IDs will be different** - -so check the documents on which you use the GFM parser, especially when you are using Jekyll or -Github Pages. - -Organizational-wise, issues and pull requests on Github that pertain to feature requests have been -closed and are now tracked through a dedicated [kramdown project on -Github](https://github.com/gettalong/kramdown/projects/1). - -## Changes - -* 4 minor changes: - - - Add new converter for man pages - - Header ID generation for the GFM parser is now more compatible to GFM (fixes [#267], requested - by chadpowers) - - Update to the MathJax math engine to allow formatting the preview as `code` / `pre > code` (pull - request [#372] by Florian Klampfer) - - Allow tabs in table separator lines (pull request [#370] by Shuanglei Tao) - -* 2 bug fixes: - - - Compactly nested lists are now handled correctly after fixing a bug in indentation detection - (fixes [#368] reported by Christopher Brown) - - GFM parser: Allow indenting the delimiting lines of fenced code blocks for better GFM - compatibility (pull request [#369] by Shuanglei Tao) - -* 2 other fixes and enhancements: - - - Added information on how to run tests to `README.md` (fixes [#377] reported by Aron Griffis) - - Added information about how to use KaTeX with the MathJax math engine (fixes [#292] reported by - Adrian Sieber, information by Dato Simó) - - -[man pages]: ../converter/man.html -[ronn]: http://rtomayko.github.io/ronn/ -[kramdown-man]: https://github.com/postmodern/kramdown-man - -[#267]: https://github.com/gettalong/kramdown/issues/267 -[#368]: https://github.com/gettalong/kramdown/issues/368 -[#377]: https://github.com/gettalong/kramdown/issues/377 -[#292]: https://github.com/gettalong/kramdown/issues/292 -[#372]: https://github.com/gettalong/kramdown/pull/372 -[#370]: https://github.com/gettalong/kramdown/pull/370 -[#369]: https://github.com/gettalong/kramdown/pull/369 diff --git a/doc/news/release_1_13_1.page b/doc/news/release_1_13_1.page deleted file mode 100644 index 3745f672..00000000 --- a/doc/news/release_1_13_1.page +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: kramdown 1.13.1 released -no_output: true -sort_info: r1131 -created_at: 2016-11-25 17:41:00 +01:00 -modified_at: 2016-11-25 17:41:00 +01:00 ---- -## kramdown 1.13.1 released - -This release fixes the GFM header ID generation for more cases, updating is *very* recommended. - -## Changes - -* 1 bug fix: - - - Fix GFM header ID generation when code spans, math elements, entities, typographic symbols or - smart quotes are used (fixes [#391] reported by Nick Fagerlund) - -[#391]: https://github.com/gettalong/kramdown/issues/391 diff --git a/doc/news/release_1_13_2.page b/doc/news/release_1_13_2.page deleted file mode 100644 index 52714ef6..00000000 --- a/doc/news/release_1_13_2.page +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: kramdown 1.13.2 released -no_output: true -sort_info: r1132 -created_at: 2017-01-07 08:55:00 +01:00 -modified_at: 2017-01-07 08:55:00 +01:00 ---- -## kramdown 1.13.2 released - -This release fixes some minor issues - updating is recommended. - -## Changes - -* 3 bug fixes: - - - Fix footnote link spacing to use non-breaking space (pull request [#399] by Martyn Chamberlin) - - Show warning for unreferenced footnote definitions (fixes [#400] reported by Kyle Barbour) - - Fix test cases with respect to Ruby 2.4 (fixes [#401] reported by Connor Shea) - -[#399]: https://github.com/gettalong/kramdown/pull/399 -[#400]: https://github.com/gettalong/kramdown/issues/400 -[#401]: https://github.com/gettalong/kramdown/pull/401 diff --git a/doc/news/release_1_14_0.page b/doc/news/release_1_14_0.page deleted file mode 100644 index da6ecd2d..00000000 --- a/doc/news/release_1_14_0.page +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: kramdown 1.14.0 released -no_output: true -sort_info: r1140 -created_at: 2017-06-26 21:18:00 +02:00 -modified_at: 2017-06-26 21:18:00 +02:00 ---- -## kramdown 1.14.0 released - -This release adds support for rouge 2.x and fixes some minor issues - updating is recommended. - -## Changes - -* 2 minor changes: - - - Adapt syntax highlighter for rouge to support version 1.x and 2.x (pull request [#413] by - Hirofumi Wakasugi) - - Alias `Kramdown::Converter::HashAST` to `Kramdown::Converter::HashAst` so that the convenience - method on `Kramdown::Document` works (fixes [#435], requested by Hirofumi Wakasugi) - -* 1 bug fix: - - - Fix problem with GFM header ID generation when `<<` or `>>` is used (reported by Parker Moore) - -[#413]: https://github.com/gettalong/kramdown/pull/413 -[#435]: https://github.com/gettalong/kramdown/issues/435 diff --git a/doc/news/release_1_15_0.page b/doc/news/release_1_15_0.page deleted file mode 100644 index 214aae82..00000000 --- a/doc/news/release_1_15_0.page +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: kramdown 1.15.0 released -no_output: true -sort_info: r1150 -created_at: 2017-09-08 21:28:00 +02:00 -modified_at: 2017-09-08 21:28:00 +02:00 ---- -## kramdown 1.15.0 released - -The most important change is that this release drops compatibility with Ruby versions < 2.0! Aside -from that it includes some bug fixes, so updating is recommended. - -## Changes - -* 2 minor changes: - - - Drop compatibility with Ruby versions < 2.0 - - Make footnote output XML compatible (requested by Kriss Andsten) - -* 4 bug fixes: - - - Apply abbreviation substitution to footnotes (fixes [#440], reported by Thomas Leese) - - Fix TOC entries by removing nested links (fixes [#434], reported by Nate Wernimont) - - Fix problems with brackets in certain situations when using the LaTeX converter (fixes [#414], - reported by Ryan Koppenhaver) - - Fix escaping of URLs in the LaTeX converter (reported by Moshe Kamensky in pull request [#67]) - -[#440]: https://github.com/gettalong/kramdown/issues/440 -[#434]: https://github.com/gettalong/kramdown/issues/434 -[#414]: https://github.com/gettalong/kramdown/issues/414 -[#67]: https://github.com/gettalong/kramdown/pull/67 diff --git a/doc/news/release_1_16_0.page b/doc/news/release_1_16_0.page deleted file mode 100644 index cb718354..00000000 --- a/doc/news/release_1_16_0.page +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: kramdown 1.16.0 released -no_output: true -sort_info: r1160 -created_at: 2017-11-27 19:45:00 +01:00 -modified_at: 2017-11-27 19:45:00 +01:00 ---- -## kramdown 1.16.0 released - -This release brings, amongst other things, support for setting default options for the kramdown -binary via a configuration file, two new options ('typographic_symbols' and -'footnote_backlink_inline') and the new server-side math engine [SsKaTeX] which doesn't need the -whole NodeJS stack to work properly. - -Please also note that the [MathjaxNode] math engine now relies on the `mathjax-node-cli` package -instead of the `mathjax-node` package to work correctly. Make sure you update your NodeJS -installation accordingly. - -Thanks to all the contributors and supporters that made this release possible! - - -## Changes - -* 8 minor change: - - - The `kramdown` binary now supports specifying default options via configuration file (fixes - [#453] requested by Kyle Barbour) - - New GFM quirk 'no_auto_typographic' for disabling typographic conversions (fixes [#459] via pull - request [#462], both by Kirill Kolyshkin) - - The [MathjaxNode] math engine now needs the package `mathjax-node-cli` to work. - - New math engine [SsKaTeX] for server-side rendering via KaTeX (patch [#455] by Christian - Cornelssen) - - When using the [Rouge] syntax highlighter, the `formatter` option can now be a String (patch - [#448] by Alpha Chen) - - New option 'typographic_symbols' to control how typographic symbols are output by the HTML and - LaTeX converters (fixes [#472] requested by Kyle Barbour) - - New option 'footnote_backlink_inline' to allow placing the footnote backlink into the last, - possibly nested paragraph or header instead of creating a new paragraph (fixes [#454] requested - by Kyle Barbour) - - The GFM parser now supports task lists (fixes [#172] and [#346], patch [#442] by Andrew) - -* 4 bug fixes: - - - Line breaks in a special situation were not respected (fixes [#461], reported by Buo-Ren Lin) - - Fix the [RemoveHtmlTags] converter to also process footnote content (patch [#458] by Maximilian - Scherr) - - Fix bug in paragraph parsing when the 'html_to_native' option is used (fixes [#466], reported by - eddibravo) - - Fix bug in kramdown converter when an image without a 'src' attribute is encountered (patch - [#470] by Uwe Kubosch) - - -[mathjaxnode]: ../math_engine/mathjaxnode.html -[sskatex]: ../math_engine/sskatex.html -[RemoveHtmlTags]: ../converter/remove_html_tags.html -[rouge]: ../syntax_highlighter/rouge.html -[#461]: https://github.com/gettalong/kramdown/issues/461 -[#459]: https://github.com/gettalong/kramdown/issues/459 -[#453]: https://github.com/gettalong/kramdown/issues/453 -[#462]: https://github.com/gettalong/kramdown/pull/462 -[#458]: https://github.com/gettalong/kramdown/pull/458 -[#455]: https://github.com/gettalong/kramdown/pull/455 -[#466]: https://github.com/gettalong/kramdown/issues/466 -[#448]: https://github.com/gettalong/kramdown/pull/448 -[#472]: https://github.com/gettalong/kramdown/issues/472 -[#454]: https://github.com/gettalong/kramdown/issues/454 -[#470]: https://github.com/gettalong/kramdown/pull/470 -[#172]: https://github.com/gettalong/kramdown/issues/172 -[#346]: https://github.com/gettalong/kramdown/issues/346 -[#442]: https://github.com/gettalong/kramdown/pull/442 diff --git a/doc/news/release_1_16_1.page b/doc/news/release_1_16_1.page deleted file mode 100644 index b554c8bb..00000000 --- a/doc/news/release_1_16_1.page +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: kramdown 1.16.1 released -no_output: true -sort_info: r1161 -created_at: 2017-11-28 05:45:00 +01:00 -modified_at: 2017-11-28 05:45:00 +01:00 ---- -## kramdown 1.16.1 released - -Hot on the heels of 1.16.0 this bug fix release fixes problems with the new GFM task list -implementation, so upgrading is recommended! - -## Changes - -* 1 bug fix: - - - Fix the GFM task list implementation (fixes [#476], reported by Brandon Zarrella) - -[#476]: https://github.com/gettalong/kramdown/issues/476 diff --git a/doc/news/release_1_16_2.page b/doc/news/release_1_16_2.page deleted file mode 100644 index d109f8c6..00000000 --- a/doc/news/release_1_16_2.page +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: kramdown 1.16.2 released -no_output: true -sort_info: r1162 -created_at: 2017-11-29 17:29:00 +01:00 -modified_at: 2017-11-29 17:29:00 +01:00 ---- -## kramdown 1.16.2 released - -And another quick bug fix release for a table parsing problem, upgrading is recommended! - -## Changes - -* 1 bug fix: - - - Fix parsing of tables with codespans and escaped pipes (fixes [#477], reported by François - #Dallaire) - -[#477]: https://github.com/gettalong/kramdown/issues/477 diff --git a/doc/news/release_1_17_0.page b/doc/news/release_1_17_0.page deleted file mode 100644 index 22aad574..00000000 --- a/doc/news/release_1_17_0.page +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: kramdown 1.17.0 released -no_output: true -sort_info: r1170 -created_at: 2018-05-31 07:55:00 +02:00 -modified_at: 2018-05-31 07:55:00 +02:00 ---- -## kramdown 1.17.0 released - -This release adds support for another server side [math engine][katex] based on KaTeX but with an -easier installation method. There are also various fixes, the most important one being a change in -the Setext and atx style header parsers to prevent performance and potential denial of service -problems. - -Thanks to all the people working on making kramdown better! - -## Changes - -* 3 minor change: - - - Add new math engine [katex] for easier server-side conversion (pull requests [#489], [#510] by - Gleb Mazovetskiy) - - New configuration options `--no-config-file` and `--config-file FILE` for the kramdown binary - (pull request [#499] by ccorn) - - Add information to AST whether a codeblock is indented or fenced (issue [#507] and pull request - [#508] by Dan Allen) - -* 4 bug fixes: - - - Fix the numeric values of the entities `cap` and `cup` (pull request [#487] by Ashe Connor) - - Fix problem with parsing an empty tag inside a table cell while using `html_to_native` (issue - [#514] and pull request [#515] by Dan Allen) - - Fix performance issue in Setext and atx style headers when parsing a lot of space (fixes [#505] - by Dmitry Krasnoukhov, pull request [#513] by Gleb Mazovetskiy) - - Prevent duplicate warning for reference style links with missing link identifier (fixes [#492] - reported by Gregory Pakosz) - -* 8 documentation and other changes: - - - Expand table of contents example for HTML converter (pull request [#484] by Milo Simpson) - - Use non-deprecated SCSS color function for kramdown homepage (pull request [#485] by ccorn) - - Add usage notes and comparison for KaTeX vs SsKaTeX (pull request [#493] by ccorn) - - Node version 6.0 is now used because of newer mathjax-node requirements (pull request [#498] by - ccorn) - - `Rakefile` adjustments for various math engines (pull request [#499] by ccorn) - - Add more files to `.gitignore` (pull request [#518] by Gleb Mazovetskiy) - - Remove some unneeded code for Ruby versions < 2.0 (pull request [#502] by Ashwin Maroli) - - Updated the kramdown website to be more privacy-friendly - - -[#484]: https://github.com/gettalong/kramdown/pull/484 -[#487]: https://github.com/gettalong/kramdown/pull/487 -[#485]: https://github.com/gettalong/kramdown/pull/485 -[#489]: https://github.com/gettalong/kramdown/pull/489 -[#493]: https://github.com/gettalong/kramdown/pull/493 -[#498]: https://github.com/gettalong/kramdown/pull/498 -[#499]: https://github.com/gettalong/kramdown/pull/499 -[#514]: https://github.com/gettalong/kramdown/issues/514 -[#515]: https://github.com/gettalong/kramdown/pull/515 -[#507]: https://github.com/gettalong/kramdown/issues/507 -[#508]: https://github.com/gettalong/kramdown/pull/508 -[#518]: https://github.com/gettalong/kramdown/pull/518 -[#505]: https://github.com/gettalong/kramdown/issues/505 -[#513]: https://github.com/gettalong/kramdown/pull/513 -[#502]: https://github.com/gettalong/kramdown/pull/502 -[#510]: https://github.com/gettalong/kramdown/pull/510 -[#492]: https://github.com/gettalong/kramdown/issues/492 - -[katex]: ../math_engine/katex.html diff --git a/doc/news/release_1_1_0.page b/doc/news/release_1_1_0.page deleted file mode 100644 index 8a815b17..00000000 --- a/doc/news/release_1_1_0.page +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: kramdown 1.1.0 released -no_output: true -sort_info: r0110 -created_at: 2013-07-02 20:40:00 +02:00 -modified_at: 2013-07-02 20:40:00 +02:00 ---- -## kramdown 1.1.0 released - -This is just an incremental release bringing two new features and several bug fixes. - - -## Changes - -* 2 minor changes: - - - Footnote markers can now be repeated (resolves [GH#62] and [GH#63] by Theodore Pak who provided - the initial patch) - - The LaTeX acronym package is now used for abbreviations (resolves [GH#55] by Tim Besard who - provided the initial patch) - -* 3 bug fixes: - - - Fixed [GH#60]: Numbers are now recognized in addition to word characters when converting - underscores (patch by Trevor Wennblom) - - Fixed [GH#66]: HTML elements ``, ``, `` and `` are now converted correctly by - the LaTeX converter (patch by Henning Perl) - - Fixed [GH#57]: Better smart quote handling when underscores are directly after or before - quotation marks (reported by Bill Tozier) - -[GH#60]: https://github.com/gettalong/kramdown/pull/60 -[GH#66]: https://github.com/gettalong/kramdown/pull/66 -[GH#63]: https://github.com/gettalong/kramdown/pull/63 -[GH#62]: https://github.com/gettalong/kramdown/issues/62 -[GH#55]: https://github.com/gettalong/kramdown/pull/55 -[GH#57]: https://github.com/gettalong/kramdown/issues/57 diff --git a/doc/news/release_1_2_0.page b/doc/news/release_1_2_0.page deleted file mode 100644 index 4cca03e3..00000000 --- a/doc/news/release_1_2_0.page +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: kramdown 1.2.0 released -no_output: true -sort_info: r0120 -created_at: 2013-08-31 09:00:00 +02:00 -modified_at: 2013-08-31 09:00:00 +02:00 ---- -## kramdown 1.2.0 released - -Some people wanted to see Github Flavored Markdown features in kramdown for a long time and now the -waiting is over, thanks to the new GFM parser by Arne Brasseur. - -Aside from this new feature some bugs were also fixed. One that may have affected many people was -the missing support for new stringex library versions. - -## Changes - -* 2 minor changes: - - - Added a parser for [Github Flavored Markdown](../parser/gfm.html) (resolves [GH#68] by Arne - Brasseur who provided the initial implementation) - - HTML attributes are now output for horizontal lines - -* 5 bug fixes: - - - The correct encoding on the result string is now set even when the template option is used - - Fixed [GH#72], [GH#74]: All ways to set a header ID now follow the same scheme which is - compliant with HTML IDs (except that dots are not allowed) (reported and initial patch by Matti - Schneider) - - Fixed [GH#73]: The default HTML template now has a DOCTYPE and sets the encoding correctly - (initial patch by Simon Lydell) - - Fixed [GH#67]: URLs of link elements are now escaped in the LaTeX converter to avoid problems - (patch by Henning Perl) - - Fixed [GH#70]: Any version of the stringex library is now supported (reported by Simon Lydell) - -[GH#72]: https://github.com/gettalong/kramdown/issues/72 -[GH#70]: https://github.com/gettalong/kramdown/issues/70 -[GH#74]: https://github.com/gettalong/kramdown/pull/74 -[GH#73]: https://github.com/gettalong/kramdown/pull/73 -[GH#67]: https://github.com/gettalong/kramdown/pull/67 -[GH#68]: https://github.com/gettalong/kramdown/pull/68 diff --git a/doc/news/release_1_3_0.page b/doc/news/release_1_3_0.page deleted file mode 100644 index 161564e7..00000000 --- a/doc/news/release_1_3_0.page +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: kramdown 1.3.0 released -no_output: true -sort_info: r0130 -created_at: 2013-12-08 20:45:00 +01:00 -modified_at: 2013-12-08 20:45:00 +01:00 ---- -## kramdown 1.3.0 released - -This release brings a pure Ruby PDF converter for kramdown based on the Prawn library. The PDF -output can be customized by sub-classing the converter or by using a template file that adjusts the -converter object. - - -## Changes - -* 1 major change: - - - A pure Ruby PDF converter based on Prawn is now available - -* 7 minor changes: - - - New option 'auto_id_stripping' can be used to strip HTML and other formatting before converting - a header text to an ID (fixed [GH#90] requested by Tuckie) - - New option 'hard_wrap' for configuring the line break behaviour of the GFM parser ([GH#83], - patch by Brandur) - - Location information (only line numbers) are now available in the :location option on most - kramdown elements ([GH#96] patch by Jo Hund) - - Minitest 5.x is now used for testing. - - A converter class can now specify whether a template should be applied before, after or before - and after the conversion. - - If a file specified with the "template" option is not found and the option starts with - "string://", the rest is assumed to be the template. - - Unknown option keys are now passed through and not removed anymore - -* 5 bug fixes: - - - Fixed [GH#77]: Line break inside inline math statement now works correctly (reported by - memeplex) - - Fixed problem with line breaks in GFM parser - - Fixed [GH#95]: Option coderay_bold_every now also accepts the value false (reported by Simon van - der Veldt) - - Fixed [GH#91]: Template extension is now the same as the converter name (initial patch by - Andreas Josephson) - - Fixed output of consecutive em/strong elements in kramdown converter - -* 3 documentation fixes: - - - The kramdown website is now hosted at - please update your - bookmarks! - - Fixed [GH#80]: Typo in README.md (patch by Luca Barbato) - - Fixed [GH#81]: Typo in options documentation (patch by Pete Michaud) - -* Deprecation notes: - - - Using `.convertername` instead of `.converter_name` is deprecated and will be removed in 2.0 - - The option 'auto_id_stripping' will be removed in 2.0 because it will be the default. - -[GH#77]: https://github.com/gettalong/kramdown/issues/77 -[GH#95]: https://github.com/gettalong/kramdown/issues/95 -[GH#90]: https://github.com/gettalong/kramdown/issues/90 -[GH#80]: https://github.com/gettalong/kramdown/pull/80 -[GH#81]: https://github.com/gettalong/kramdown/pull/81 -[GH#91]: https://github.com/gettalong/kramdown/pull/91 -[GH#83]: https://github.com/gettalong/kramdown/pull/83 -[GH#96]: https://github.com/gettalong/kramdown/pull/96 diff --git a/doc/news/release_1_3_1.page b/doc/news/release_1_3_1.page deleted file mode 100644 index 24f432b1..00000000 --- a/doc/news/release_1_3_1.page +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: kramdown 1.3.1 released -no_output: true -sort_info: r0131 -created_at: 2014-01-05 09:45:00 +01:00 -modified_at: 2014-01-05 09:45:00 +01:00 ---- -## kramdown 1.3.1 released - -This release mitigates a performance problem introduced due to the storing of the location -information. On Rubies prior to 2.0 the performance impact was negligible but on Ruby 2.0 and 2.1 -performance was much worse. - -With the fix the performance is not on prior levels but much better. See the [tests -page](../tests.html) which has been updated with current performance graphs. - -Also note that for PDF support you now need the newer Prawn versions (i.e. 0.13.x instead of -1.0.0.rc*)! - - -## Changes - -* 1 minor change: - - - Now depending on the newer Prawn versions, i.e. 0.13.x - -* 1 bug fix: - - - Mitigated a performance regression on Ruby 2.0 and Ruby 2.1 (introduced due to the storing of - the location information) diff --git a/doc/news/release_1_3_2.page b/doc/news/release_1_3_2.page deleted file mode 100644 index 481a6112..00000000 --- a/doc/news/release_1_3_2.page +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: kramdown 1.3.2 released -no_output: true -sort_info: r0132 -created_at: 2014-02-16 09:15:00 +01:00 -modified_at: 2014-02-16 09:15:00 +01:00 ---- -## kramdown 1.3.2 released - -This release brings some small performance optimizations and the ability to define custom rules for -updating predefined link definitions. The latter is used in [webgen](http://webgen.gettalong.org) -1.2.1 to drastically reduce the time for converting kramdown documents that use a lot of predefined -link definitions. - - -## Changes - -* 2 minor changes: - - - Small (mostly string) performance optimizations - - New method `Kramdown::Parser::Kramdown#update_link_definitions` method diff --git a/doc/news/release_1_3_3.page b/doc/news/release_1_3_3.page deleted file mode 100644 index 37367840..00000000 --- a/doc/news/release_1_3_3.page +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: kramdown 1.3.3 released -no_output: true -sort_info: r0133 -created_at: 2014-03-17 17:45:00 +01:00 -modified_at: 2014-03-17 17:45:00 +01:00 ---- -## kramdown 1.3.3 released - -This release just fixes a bug with the default HTML document template. - -## Changes - -* 1 bug fix: - - - The string `charset=` was missing from a `` tag in the HTML document template. diff --git a/doc/news/release_1_4_0.page b/doc/news/release_1_4_0.page deleted file mode 100644 index 5e01c0ae..00000000 --- a/doc/news/release_1_4_0.page +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: kramdown 1.4.0 released -no_output: true -sort_info: r0140 -created_at: 2014-06-18 06:00:00 +02:00 -modified_at: 2014-06-18 06:00:00 +02:00 ---- -## kramdown 1.4.0 released - -This release fixes all outstanding bugs, so it is recommended to update. The one new feature is that -the location of the footnotes can now be defined by attaching the reference name "footnotes" to an -ordered or unordered list (like with the table of contents). - -One major problem was that unescaped pipe characters `|` often led to involunatary tables. This -release introduces some changes that should prevent this for more cases than before. Additionally, -since this is the most common problem case, it is advised to use `\vert` instead of `|` in inline -math statements. Both do the same in LaTeX but the latter may inadvertently start a table, so better -use the former! - - -## Changes - -* 2 minor changes: - - - Implemented [#106]: Users can now define the location of the footnotes (feature request by Matt - Neuburg) - - Merged [#97]: `rake gemspec` now generates a local `kramdown.gemspec` file (pull request by - Nathanael Jones) - -* 9 bug fixes: - - - Fixed [#128]: `