PaxHeader/Text-MultiMarkdown-1.000035 000755 777777 000024 00000000173 12362552430 020045 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405801752
23 SCHILY.dev=16777218
23 SCHILY.ino=69062064
19 SCHILY.nlink=15
Text-MultiMarkdown-1.000035/ 000755 € ;Ðâp000024 00000000000 12362552430 016730 5 ustar 00tdoran staff 000000 000000 Text-MultiMarkdown-1.000035/PaxHeader/Changes 000644 777777 000024 00000000172 12362522025 021406 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69053892
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/Changes 000644 € ;Ðâp000024 00000026527 12362522025 020234 0 ustar 00tdoran staff 000000 000000 This file documents the revision history for Perl extension Text::MultiMarkdown.
1.000035 2014-06-19T16:55:00
- Add a 'self_url' configuration parameter to the constructor. If set, the
value is prepended to the "#" anchor of footnotes.
- Metadata is now properly encoded - special characters (like angles,
ampersand, or quotes) are encoded to generate valid (X)HTML.
- Add HTML::Entities as an explicit dependency.
1.0.34 2011-04-26T10:25:00
- Add definition list support from the MultiMarkdown spec.
1.0.33 2010-03-20T23:08:00
- Fix installation of MultiMarkdown.pl script.
1.0.32 2010-12-19T10:31:00
- Removed File::Slurp dependency (v. 9999.13 fails tests on Strawberry
5.10.1) (dandv)
1.0.31 2009-10-25T19:19:30
- Version bump to depend on 2 part version number in latest
Text::Markdown to avoid dependency issues.
1.0.30 2009-10-22T22:04:40
- Add support for XHTML Headers: metadata
1.0.29 2009-10-06T08:25:40
- Update dependency versions in Makefile.PL (neglected in last release).
1.0.28 2009-10-05T20:24:40
- Changes to conform with the latest Text::Markdown version 1.0.26 API.
- Update README file and tie it to the code.
1.0.27 2009-08-27T00:49:50
- Change bug tracker metadata to the github issue tracker.
- Fix http://github.com/bobtfish/text-multimarkdown/issues#issue/5
regression causing specialchars to not be unhashed in footnotes.
1.0.26 2009-07-01T08:35:00
- Fix to depend on the Text::Markdown package.
1.0.25 2009-06-09T22:52:13
- Split Text::MultiMarkdown back out into it's own dist.
1.0.24 2008-11-16T14:33:30
- Add trust_list_start_value patch from Ricardo Signes (RT#40814)
to enable
output for list numbering.
This feature is disabled by default.
1.0.23 2008-11-02T18:24:30
- Ship a release with the correct contents so that the tests pass.
1.0.22 2008-10-23T18:24:44
- RT#37909 - Fix + in email addresses.
- RT#40303 - Fix use in Mason by adding "use re 'eval'" to both files.
- Add SVN repository to Makefile.PL
- Remove META.yml from source control so it is regenerated
automatically.
1.0.21 2008-07-24T08:33:00
- Fix hard tabs in Changelog
- Add unit test for core dumps issue from RT#36203
- Fix POD spelling.
- Fix warning from RT#34856.
- Add test for another tab width issue (related to generation)
from RT#37769. Fix this issue.
- More test additions and more splitting the test suites into MDTest
modules.
1.0.20 2008-07-11T23:30:00
- Update README.txt
- Allow scripts to be used on multiple input files at once (processing
in command line order)
- Update footnote behavior of Text::MutliMarkdown to be consistent
with the latest version of MultiMarkdown
- Added tests for the new footnote functionality.
- Added tests for all the MDTest corner cases brought up on the list.
Noted why / how I differ from original Markdown.
- Moved all the document tests to MDTest format. I have made MDTest
test suites for Text::Markdown and Text::MultiMarkdown, containing
**only** the bug fixes and behavior changes I've made, I've imported
the Markdown test suite from MDTest1.1, and the MultiMarkdown test
suite.
- RT#36537 doc patch to add POD to the scripts from Debian's Gunnar
Wolf.
- Mutilate the list processing somewhat to reduce the compilation
of recursive regexes, and so stop perl (<5.10) crapping itself
on lots of input. This isn't the full fix - really shouldn't be
using recursive regexes at all. RT#37297
1.0.19 2008-04-22T18:34:00
- Remove auto_install from Makefile.PL, this is a deprecated feature
and it shouldn't be being used at all.
1.0.18 2008-04-20T18:54:50
- Clean up local stuff for settings.
- Do a little cleanup of intialisation (more needed)
- Remove copy pasted regexes from Text::MultiMarkdown
- Fix bug with line breaks in links - http://bugs.debian.org/459885,
thanks to patches and test input / output provided by Adeodato Simó.
(See t/37anchormultilinebugs.t)
- Incorperated MDTest1.1's tests, and made most of the Text-Markdown
and Text-MultiMarkdown tests in MDTest format.
- Add and document an accessor for the parsed markdown URLs.
- Fix html4tags option in Markdown.pl and MultiMarkdown.pl
1.0.17 2008-03-17T01:54:00
- Add Markdown.pl and MultiMarkdown.pl, which work the same way as the
original Markdown.pl. These scripts *are not* installed by default,
but you will be prompted to install them when you run Makefile.PL
- Make _DeTab significantly quicker. Text::Balanced is still the main
performance sore point however. :(
- Re-organise the module code so that Text::Markdown is a standalone
module which does not require Text::MultiMarkdown.
Text::MultiMarkdown now inherits from Text::Markdown and adds the
additional MultiMarkdown functionality. This is a *large* change to
the module's internals, but is much more in the spirit of the
original Markdown project (and should silence most complaints about
how the code works, and possible even stop John Gruber hating my
guts).
If you were using Text::Markdown previously, but relying on an
implicit MultiMarkdown feature, this *could be a breaking change*.
Detailed description of any possible user visible changes below:
- Text::Markdown will no longer supports the additional attribute
specification for images and links feature, which was not in
original Markdown, but were previously supported after
the code merge of Text::Markdown and Text::MultiMarkdown.
If you are relying on this features, it is recommended that you
use Text::MultiMarkdown (configured as you prefer), as this is
not a supported feature in the original Markdown.
- Text::MultiMarkdown has changed the order of attributes in image
tags, the id attribute is moved from the first to the last
attribute (barring user supplied attributes). An example of the
expected change is included below:
Old output:
New output:
This is due to the code re-organisation, moving the id attribute
around shouldn't affect anything that isn't relying on the
attribute ordering (which is meant to be unimportant in HTML), and
allows for simplification of the unified code.
1.0.16 2008-02-25T14:24:00
- Fix bugs with tab_width in constructor / as an option.
- Fix bugs with tab width in pre/code blocks.
1.0.15 2008-02-23T11:13:07
- Start using ShipIt to package the distribution.
1.0.14 2008-02-21T22:41:33
- Fix a bug in the packaging of the last version.
- Add links to other implementations and some notes about them.
- Add a (failing) unit test for some unexpected behavior reported on
the list.
1.0.13 2008-02-19T23:54:33
- Due to the UFT8 support this module no longer works on perl <
5.8, note this in the Makefile.PL and modules.
- I managed to ship a module without Makefile.PL, WTF? Really
need to start using ShipIt.
1.0.12 2008-02-18T22:00:00
- Text::Markdown - borgborgborgborgborg.
- Added additional POD documentation.
- Cleaned up some tests, and some additional test cases.
- Options to turn off all the extra features introduced in
MultiMarkdown.
1.0.11 2008-01-24T00:12:00
- Fix syntax error in one of the tests. Note to self - just fixing
that warning in the test case, then shipping without retesting, NOT
SMART!
1.0.10 2008-01-23T15:40:00
- Fix bug with links processing in HTML blocks.
1.0.9 2008-01-22T20:28:00
- Ship non-broken dist at CPAN (oops, rushing!)
1.0.8 2008-01-22T19:20:00
- Do not encode amps or angle brackets in HTML comments + test case.
- Do not emit title attribute in tags unless we have contents
for it. This was a 'feature' of original Markdown where I've decided
to go with what php-markdown does (tests updated).
- Added php-markdown tests (most/all of the regular tests pass except
the email obfu one).
- Added php-markdown extra tests (all fail).
- Added python markdown tests (mostly pass, but marked broken).
- Add a way of stopping inline HTML blocks from suppressing markdown
processing. Feature request from #catalyst-dev
1.0.7 2008-01-07T16:31:00
- Encode isn't in core in all perls, add it to Makefile.PL
1.0.6 2008-01-06T13:36:00
- Merge latest Markdown test suite I can find, and make it all pass,
pulling in code from Markdown 1.0.2b8. Things fixed:
- Inline HTML
- Lists
- Metadata skipping by leading line breaks
- 3rd form of links
- Implement features to suppress id attributes in and tags
to be able to act more like original Markdown - now almost ready to
steal Text::Markdown (would want to turn off tables / citations and
bibliography for that)
- Move almost all the global variables into instance data.
- Fix unicode issues from CPAN.org's RT#27482
- Remove call to srand, it's not smart to do this more than once.
1.0.5 2008-01-04T18:07:57
- Add Markdown and MultiMarkdown test suites.
- Fix a big bug introduced in 1.0.4 in citations
- Fix footnotes (and other small things) to match the test suite
1.0.4 2008-01-02T02:03:50
- Refactor so that the processor instance has the same set of
persistent options as on the ->markdown method itself.
- Change all functions to be instance methods, moved a chunk of the
global data to the instance. The rest will follow shortly.
- The test suite now tests a reasonable set of the Markdown and
MultiMarkdown syntaxes.
- All known options and metadata keys have been documented.
1.0.3 2007-11-24T20:22:00
- way to keep me accountable, CPANTESTERS! Maybe I shouldn't have
Test::Pod::Coverage enabled unless it actually checks out. Added some
fairly useless stubbed METHODS to POD and moved POD around a bit.
1.0.2 2007-11-24T14:00:00
- move to Module::Install and clean various things up, mostly to make
CPANTS happy.
1.0.1 2006-10-20T00:00:00
- include patch from Uwe Voelker to allow setting of options in
markdown(); also added a test case from Uwe. Thanks, Uwe!
Also updated changelog references in POD somewhat.
1.0.0 2006-08-22T00:00:00
- first release
Text-MultiMarkdown-1.000035/PaxHeader/inc 000755 777777 000024 00000000172 12362552430 020615 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405801752
23 SCHILY.dev=16777218
23 SCHILY.ino=69062078
18 SCHILY.nlink=3
Text-MultiMarkdown-1.000035/inc/ 000755 € ;Ðâp000024 00000000000 12362552430 017501 5 ustar 00tdoran staff 000000 000000 Text-MultiMarkdown-1.000035/PaxHeader/lib 000755 777777 000024 00000000172 12362552430 020612 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405801752
23 SCHILY.dev=16777218
23 SCHILY.ino=69062247
18 SCHILY.nlink=3
Text-MultiMarkdown-1.000035/lib/ 000755 € ;Ðâp000024 00000000000 12362552430 017476 5 ustar 00tdoran staff 000000 000000 Text-MultiMarkdown-1.000035/PaxHeader/License.text 000644 777777 000024 00000000172 12362521047 022406 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051328
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/License.text 000644 € ;Ðâp000024 00000002744 12362521047 021227 0 ustar 00tdoran staff 000000 000000 Copyright (c) 2004, John Gruber
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name "Markdown" nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
This software is provided by the copyright holders and contributors "as
is" and any express or implied warranties, including, but not limited
to, the implied warranties of merchantability and fitness for a
particular purpose are disclaimed. In no event shall the copyright owner
or contributors be liable for any direct, indirect, incidental, special,
exemplary, or consequential damages (including, but not limited to,
procurement of substitute goods or services; loss of use, data, or
profits; or business interruption) however caused and on any theory of
liability, whether in contract, strict liability, or tort (including
negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage.
Text-MultiMarkdown-1.000035/PaxHeader/Makefile.PL 000644 777777 000024 00000000240 12362521720 022062 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
38 LIBARCHIVE.creationtime=1405788711
23 SCHILY.dev=16777218
23 SCHILY.ino=69051330
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/Makefile.PL 000644 € ;Ðâp000024 00000001722 12362521720 020702 0 ustar 00tdoran staff 000000 000000 # Load the Module::Install bundled in ./inc/
use inc::Module::Install;
# Define metadata
name 'Text-MultiMarkdown';
author 'Tomas Doran ';
license 'bsd';
all_from 'lib/Text/MultiMarkdown.pm';
resources repository => 'http://github.com/bobtfish/text-multimarkdown/';
resources bugtracker => 'http://github.com/bobtfish/text-multimarkdown/issues';
# Specific dependencies
perl_version '5.008';
requires 'Digest::MD5' => undef;
requires 'Text::Markdown' => '1.0.26';
requires 'Encode' => undef;
requires 'HTML::Entities' => undef;
build_requires 'Test::More' => '0.42';
build_requires 'Test::Exception' => undef;
build_requires 'List::MoreUtils' => undef;
build_requires 'FindBin' => undef;
if ($Module::Install::AUTHOR) {
system("pod2text lib/Text/MultiMarkdown.pm > README")
and die $!;
}
install_script 'script/MultiMarkdown.pl';
WriteAll;
Text-MultiMarkdown-1.000035/PaxHeader/MANIFEST 000644 777777 000024 00000000172 12362521621 021245 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405801752
23 SCHILY.dev=16777218
23 SCHILY.ino=69062179
18 SCHILY.nlink=1
Text-MultiMarkdown-1.000035/MANIFEST 000644 € ;Ðâp000024 00000040114 12362521621 020057 0 ustar 00tdoran staff 000000 000000 Changes
inc/Module/Install.pm
inc/Module/Install/Base.pm
inc/Module/Install/Can.pm
inc/Module/Install/Fetch.pm
inc/Module/Install/Makefile.pm
inc/Module/Install/Metadata.pm
inc/Module/Install/Scripts.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
lib/Text/MultiMarkdown.pm
License.text
Makefile.PL
MANIFEST This list of files
MANIFEST.skip
META.yml
README
Readme.text
script/MultiMarkdown.pl
t/01use.t
t/02pod.t
t/03podcoverage.t
t/03podspelling.t
t/04markdown.t
t/05options.t
t/06wiki.t
t/07fulldoc.t
t/08exporter.t
t/09base_url.t
t/10use_metadata.t
t/11docment_format.t
t/12empty_element_suffix.t
t/13multimarkdown-nometadata-firstpara.t
t/14unicode.t
t/16headingsinlists.t
t/17olulreportedonlist.t
t/18codespanextra.t
t/20fulldocs-text-multimarkdown.t
t/22fulldocs-multimarkdown-todo.t
t/23afulldocs-multimarkdown.t
t/24fulldocs-pythonmarkdown2-tm.t
t/29fulldocs-maruku-unittest.t
t/30disable_multimarkdown_features.t
t/35commandlinemultimarkdown.t
t/36footnotes.t
t/37deflists.t
t/38self_url.t
t/docs-maruku-unittest/abbreviations.html
t/docs-maruku-unittest/abbreviations.text
t/docs-maruku-unittest/alt.html
t/docs-maruku-unittest/alt.text
t/docs-maruku-unittest/blank.html
t/docs-maruku-unittest/blank.text
t/docs-maruku-unittest/blanks_in_code.html
t/docs-maruku-unittest/blanks_in_code.text
t/docs-maruku-unittest/bug_def.html
t/docs-maruku-unittest/bug_def.text
t/docs-maruku-unittest/bug_table.html
t/docs-maruku-unittest/bug_table.text
t/docs-maruku-unittest/code.html
t/docs-maruku-unittest/code.text
t/docs-maruku-unittest/code2.html
t/docs-maruku-unittest/code2.text
t/docs-maruku-unittest/code3.html
t/docs-maruku-unittest/code3.text
t/docs-maruku-unittest/convert.pl
t/docs-maruku-unittest/data_loss.html
t/docs-maruku-unittest/data_loss.text
t/docs-maruku-unittest/easy.html
t/docs-maruku-unittest/easy.text
t/docs-maruku-unittest/email.html
t/docs-maruku-unittest/email.text
t/docs-maruku-unittest/entities.html
t/docs-maruku-unittest/entities.text
t/docs-maruku-unittest/escaping.html
t/docs-maruku-unittest/escaping.text
t/docs-maruku-unittest/extra_dl.html
t/docs-maruku-unittest/extra_dl.text
t/docs-maruku-unittest/extra_header_id.html
t/docs-maruku-unittest/extra_header_id.text
t/docs-maruku-unittest/extra_table1.html
t/docs-maruku-unittest/extra_table1.text
t/docs-maruku-unittest/footnotes.html
t/docs-maruku-unittest/footnotes.text
t/docs-maruku-unittest/headers.html
t/docs-maruku-unittest/headers.text
t/docs-maruku-unittest/hex_entities.html
t/docs-maruku-unittest/hex_entities.text
t/docs-maruku-unittest/hrule.html
t/docs-maruku-unittest/hrule.text
t/docs-maruku-unittest/html2.html
t/docs-maruku-unittest/html2.text
t/docs-maruku-unittest/html3.html
t/docs-maruku-unittest/html3.text
t/docs-maruku-unittest/html4.html
t/docs-maruku-unittest/html4.text
t/docs-maruku-unittest/html5.html
t/docs-maruku-unittest/html5.text
t/docs-maruku-unittest/ie.html
t/docs-maruku-unittest/ie.text
t/docs-maruku-unittest/images.html
t/docs-maruku-unittest/images.text
t/docs-maruku-unittest/images2.html
t/docs-maruku-unittest/images2.text
t/docs-maruku-unittest/inline_html.html
t/docs-maruku-unittest/inline_html.text
t/docs-maruku-unittest/inline_html2.html
t/docs-maruku-unittest/inline_html2.text
t/docs-maruku-unittest/links.html
t/docs-maruku-unittest/links.text
t/docs-maruku-unittest/list1.html
t/docs-maruku-unittest/list1.text
t/docs-maruku-unittest/list2.html
t/docs-maruku-unittest/list2.text
t/docs-maruku-unittest/list3.html
t/docs-maruku-unittest/list3.text
t/docs-maruku-unittest/list4.html
t/docs-maruku-unittest/list4.text
t/docs-maruku-unittest/lists.html
t/docs-maruku-unittest/lists.text
t/docs-maruku-unittest/lists11.html
t/docs-maruku-unittest/lists11.text
t/docs-maruku-unittest/lists6.html
t/docs-maruku-unittest/lists6.text
t/docs-maruku-unittest/lists7.html
t/docs-maruku-unittest/lists7.text
t/docs-maruku-unittest/lists7b.html
t/docs-maruku-unittest/lists7b.text
t/docs-maruku-unittest/lists8.html
t/docs-maruku-unittest/lists8.text
t/docs-maruku-unittest/lists9.html
t/docs-maruku-unittest/lists9.text
t/docs-maruku-unittest/lists_after_paragraph.html
t/docs-maruku-unittest/lists_after_paragraph.text
t/docs-maruku-unittest/lists_ol.html
t/docs-maruku-unittest/lists_ol.text
t/docs-maruku-unittest/loss.html
t/docs-maruku-unittest/loss.text
t/docs-maruku-unittest/misc_sw.html
t/docs-maruku-unittest/misc_sw.text
t/docs-maruku-unittest/olist.html
t/docs-maruku-unittest/olist.text
t/docs-maruku-unittest/one.html
t/docs-maruku-unittest/one.text
t/docs-maruku-unittest/paragraph.html
t/docs-maruku-unittest/paragraph.text
t/docs-maruku-unittest/paragraphs.html
t/docs-maruku-unittest/paragraphs.text
t/docs-maruku-unittest/smartypants.html
t/docs-maruku-unittest/smartypants.text
t/docs-maruku-unittest/syntax_hl.html
t/docs-maruku-unittest/syntax_hl.text
t/docs-maruku-unittest/table_attributes.html
t/docs-maruku-unittest/table_attributes.text
t/docs-maruku-unittest/test.html
t/docs-maruku-unittest/test.text
t/docs-maruku-unittest/wrapping.html
t/docs-maruku-unittest/wrapping.text
t/docs-maruku-unittest/xml.html
t/docs-maruku-unittest/xml.text
t/docs-maruku-unittest/xml2.html
t/docs-maruku-unittest/xml2.text
t/docs-maruku-unittest/xml3.html
t/docs-maruku-unittest/xml3.text
t/docs-maruku-unittest/xml_instruction.html
t/docs-maruku-unittest/xml_instruction.text
t/docs-multimarkdown-todo/Amps_and_angle_encoding.html
t/docs-multimarkdown-todo/Amps_and_angle_encoding.text
t/docs-multimarkdown-todo/Email_Obfuscation.html
t/docs-multimarkdown-todo/Email_Obfuscation.text
t/docs-multimarkdown-todo/Tidyness.html
t/docs-multimarkdown-todo/Tidyness.text
t/docs-pythonmarkdown2-tm-cases-pass/auto_link.html
t/docs-pythonmarkdown2-tm-cases-pass/auto_link.text
t/docs-pythonmarkdown2-tm-cases-pass/auto_link_safe_mode.html
t/docs-pythonmarkdown2-tm-cases-pass/auto_link_safe_mode.opts
t/docs-pythonmarkdown2-tm-cases-pass/auto_link_safe_mode.text
t/docs-pythonmarkdown2-tm-cases-pass/basic_safe_mode.html
t/docs-pythonmarkdown2-tm-cases-pass/basic_safe_mode.opts
t/docs-pythonmarkdown2-tm-cases-pass/basic_safe_mode.text
t/docs-pythonmarkdown2-tm-cases-pass/basic_safe_mode_escape.html
t/docs-pythonmarkdown2-tm-cases-pass/basic_safe_mode_escape.opts
t/docs-pythonmarkdown2-tm-cases-pass/basic_safe_mode_escape.text
t/docs-pythonmarkdown2-tm-cases-pass/blockquote.html
t/docs-pythonmarkdown2-tm-cases-pass/blockquote.text
t/docs-pythonmarkdown2-tm-cases-pass/blockquote_with_pre.html
t/docs-pythonmarkdown2-tm-cases-pass/blockquote_with_pre.text
t/docs-pythonmarkdown2-tm-cases-pass/code_block_with_tabs.html
t/docs-pythonmarkdown2-tm-cases-pass/code_block_with_tabs.text
t/docs-pythonmarkdown2-tm-cases-pass/code_safe_emphasis.html
t/docs-pythonmarkdown2-tm-cases-pass/code_safe_emphasis.opts
t/docs-pythonmarkdown2-tm-cases-pass/code_safe_emphasis.text
t/docs-pythonmarkdown2-tm-cases-pass/codeblock.html
t/docs-pythonmarkdown2-tm-cases-pass/codeblock.text
t/docs-pythonmarkdown2-tm-cases-pass/codespans.html
t/docs-pythonmarkdown2-tm-cases-pass/codespans.text
t/docs-pythonmarkdown2-tm-cases-pass/codespans_safe_mode.html
t/docs-pythonmarkdown2-tm-cases-pass/codespans_safe_mode.opts
t/docs-pythonmarkdown2-tm-cases-pass/codespans_safe_mode.text
t/docs-pythonmarkdown2-tm-cases-pass/emacs_head_vars.html
t/docs-pythonmarkdown2-tm-cases-pass/emacs_head_vars.text
t/docs-pythonmarkdown2-tm-cases-pass/emacs_tail_vars.html
t/docs-pythonmarkdown2-tm-cases-pass/emacs_tail_vars.text
t/docs-pythonmarkdown2-tm-cases-pass/emphasis.html
t/docs-pythonmarkdown2-tm-cases-pass/emphasis.text
t/docs-pythonmarkdown2-tm-cases-pass/escapes.html
t/docs-pythonmarkdown2-tm-cases-pass/escapes.text
t/docs-pythonmarkdown2-tm-cases-pass/footnotes.html
t/docs-pythonmarkdown2-tm-cases-pass/footnotes.opts
t/docs-pythonmarkdown2-tm-cases-pass/footnotes.text
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_letters.html
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_letters.opts
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_letters.text
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_markup.html
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_markup.opts
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_markup.text
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_safe_mode_escape.html
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_safe_mode_escape.opts
t/docs-pythonmarkdown2-tm-cases-pass/footnotes_safe_mode_escape.text
t/docs-pythonmarkdown2-tm-cases-pass/header.html
t/docs-pythonmarkdown2-tm-cases-pass/header.text
t/docs-pythonmarkdown2-tm-cases-pass/hr.html
t/docs-pythonmarkdown2-tm-cases-pass/hr.text
t/docs-pythonmarkdown2-tm-cases-pass/img_in_link.html
t/docs-pythonmarkdown2-tm-cases-pass/img_in_link.text
t/docs-pythonmarkdown2-tm-cases-pass/inline_links.html
t/docs-pythonmarkdown2-tm-cases-pass/inline_links.text
t/docs-pythonmarkdown2-tm-cases-pass/issue2_safe_mode_borks_markup.html
t/docs-pythonmarkdown2-tm-cases-pass/issue2_safe_mode_borks_markup.opts
t/docs-pythonmarkdown2-tm-cases-pass/issue2_safe_mode_borks_markup.text
t/docs-pythonmarkdown2-tm-cases-pass/link_defn_alt_title_delims.html
t/docs-pythonmarkdown2-tm-cases-pass/link_defn_alt_title_delims.text
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns.html
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns.opts
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns.text
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns_double_hit.html
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns_double_hit.opts
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns_double_hit.text
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns_edge_cases.html
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns_edge_cases.opts
t/docs-pythonmarkdown2-tm-cases-pass/link_patterns_edge_cases.text
t/docs-pythonmarkdown2-tm-cases-pass/lists.html
t/docs-pythonmarkdown2-tm-cases-pass/lists.text
t/docs-pythonmarkdown2-tm-cases-pass/mismatched_footnotes.html
t/docs-pythonmarkdown2-tm-cases-pass/mismatched_footnotes.opts
t/docs-pythonmarkdown2-tm-cases-pass/mismatched_footnotes.text
t/docs-pythonmarkdown2-tm-cases-pass/missing_link_defn.html
t/docs-pythonmarkdown2-tm-cases-pass/missing_link_defn.text
t/docs-pythonmarkdown2-tm-cases-pass/nested_list.html
t/docs-pythonmarkdown2-tm-cases-pass/nested_list.text
t/docs-pythonmarkdown2-tm-cases-pass/nested_list_safe_mode.html
t/docs-pythonmarkdown2-tm-cases-pass/nested_list_safe_mode.opts
t/docs-pythonmarkdown2-tm-cases-pass/nested_list_safe_mode.text
t/docs-pythonmarkdown2-tm-cases-pass/parens_in_url_4.html
t/docs-pythonmarkdown2-tm-cases-pass/parens_in_url_4.text
t/docs-pythonmarkdown2-tm-cases-pass/raw_html.html
t/docs-pythonmarkdown2-tm-cases-pass/raw_html.text
t/docs-pythonmarkdown2-tm-cases-pass/ref_links.html
t/docs-pythonmarkdown2-tm-cases-pass/ref_links.text
t/docs-pythonmarkdown2-tm-cases-pass/sublist-para.html
t/docs-pythonmarkdown2-tm-cases-pass/sublist-para.text
t/docs-pythonmarkdown2-tm-cases-pass/syntax_color.html
t/docs-pythonmarkdown2-tm-cases-pass/syntax_color.opts
t/docs-pythonmarkdown2-tm-cases-pass/syntax_color.text
t/docs-pythonmarkdown2-tm-cases-pass/tricky_anchors.html
t/docs-pythonmarkdown2-tm-cases-pass/tricky_anchors.text
t/docs-pythonmarkdown2-tm-cases-pass/underline_in_autolink.html
t/docs-pythonmarkdown2-tm-cases-pass/underline_in_autolink.text
t/MultiMarkdown.mdtest/Backslash_escapes.text
t/MultiMarkdown.mdtest/Backslash_escapes.xhtml
t/MultiMarkdown.mdtest/Footnotes.text
t/MultiMarkdown.mdtest/Footnotes.xhtml
t/MultiMarkdown.mdtest/Inline_HTML_(Advanced).text
t/MultiMarkdown.mdtest/Inline_HTML_(Advanced).xhtml
t/MultiMarkdown.mdtest/Inline_HTML_(Simple).text
t/MultiMarkdown.mdtest/Inline_HTML_(Simple).xhtml
t/MultiMarkdown.mdtest/Inline_HTML_comments.text
t/MultiMarkdown.mdtest/Inline_HTML_comments.xhtml
t/MultiMarkdown.mdtest/Links_inline_style.text
t/MultiMarkdown.mdtest/Links_inline_style.xhtml
t/MultiMarkdown.mdtest/Links_reference_style.text
t/MultiMarkdown.mdtest/Links_reference_style.xhtml
t/MultiMarkdown.mdtest/Literal_quotes_in_titles.text
t/MultiMarkdown.mdtest/Literal_quotes_in_titles.xhtml
t/MultiMarkdown.mdtest/Nested_blockquotes.text
t/MultiMarkdown.mdtest/Nested_blockquotes.xhtml
t/MultiMarkdown.mdtest/Ordered_and_unordered_lists.text
t/MultiMarkdown.mdtest/Ordered_and_unordered_lists.xhtml
t/Text-MultiMarkdown.mdtest/Amps_and_angle_encoding.html
t/Text-MultiMarkdown.mdtest/Amps_and_angle_encoding.text
t/Text-MultiMarkdown.mdtest/Amps_and_angles_encoding-advanced.text
t/Text-MultiMarkdown.mdtest/Amps_and_angles_encoding-advanced.xhtml
t/Text-MultiMarkdown.mdtest/Auto_links.text
t/Text-MultiMarkdown.mdtest/Auto_links.xhtml
t/Text-MultiMarkdown.mdtest/Backslash_escapes.html
t/Text-MultiMarkdown.mdtest/Backslash_escapes.text
t/Text-MultiMarkdown.mdtest/Blockquotes_with_code_blocks.html
t/Text-MultiMarkdown.mdtest/Blockquotes_with_code_blocks.text
t/Text-MultiMarkdown.mdtest/Citations.text
t/Text-MultiMarkdown.mdtest/Citations.xhtml
t/Text-MultiMarkdown.mdtest/complex_escaping.text
t/Text-MultiMarkdown.mdtest/complex_escaping.xhtml
t/Text-MultiMarkdown.mdtest/Cross-References.text
t/Text-MultiMarkdown.mdtest/Cross-References.xhtml
t/Text-MultiMarkdown.mdtest/Emphasis.text
t/Text-MultiMarkdown.mdtest/Emphasis.xhtml
t/Text-MultiMarkdown.mdtest/Footnotes.text
t/Text-MultiMarkdown.mdtest/Footnotes.xhtml
t/Text-MultiMarkdown.mdtest/Hard-wrapped_paragraphs_with_list-like_lines.text
t/Text-MultiMarkdown.mdtest/Hard-wrapped_paragraphs_with_list-like_lines.xhtml
t/Text-MultiMarkdown.mdtest/Horizontal_rules.text
t/Text-MultiMarkdown.mdtest/Horizontal_rules.xhtml
t/Text-MultiMarkdown.mdtest/HTML-Comment-encoding.text
t/Text-MultiMarkdown.mdtest/HTML-Comment-encoding.xhtml
t/Text-MultiMarkdown.mdtest/Images.text
t/Text-MultiMarkdown.mdtest/Images.xhtml
t/Text-MultiMarkdown.mdtest/Inline_HTML_(Advanced).text
t/Text-MultiMarkdown.mdtest/Inline_HTML_(Advanced).xhtml
t/Text-MultiMarkdown.mdtest/Inline_HTML_(Simple).text
t/Text-MultiMarkdown.mdtest/Inline_HTML_(Simple).xhtml
t/Text-MultiMarkdown.mdtest/Inline_HTML_comments.text
t/Text-MultiMarkdown.mdtest/Inline_HTML_comments.xhtml
t/Text-MultiMarkdown.mdtest/Link_Attributes.text
t/Text-MultiMarkdown.mdtest/Link_Attributes.xhtml
t/Text-MultiMarkdown.mdtest/Links_brackets.text
t/Text-MultiMarkdown.mdtest/Links_brackets.xhtml
t/Text-MultiMarkdown.mdtest/Links_inline_style.text
t/Text-MultiMarkdown.mdtest/Links_inline_style.xhtml
t/Text-MultiMarkdown.mdtest/Links_multiline_bugs_1.html
t/Text-MultiMarkdown.mdtest/Links_multiline_bugs_1.text
t/Text-MultiMarkdown.mdtest/Links_multiline_bugs_2.html
t/Text-MultiMarkdown.mdtest/Links_multiline_bugs_2.text
t/Text-MultiMarkdown.mdtest/Links_reference_style.text
t/Text-MultiMarkdown.mdtest/Links_reference_style.xhtml
t/Text-MultiMarkdown.mdtest/Lists-multilevel-md5-edgecase.text
t/Text-MultiMarkdown.mdtest/Lists-multilevel-md5-edgecase.xhtml
t/Text-MultiMarkdown.mdtest/Lists.text
t/Text-MultiMarkdown.mdtest/Lists.xhtml
t/Text-MultiMarkdown.mdtest/Literal_quotes_in_titles.text
t/Text-MultiMarkdown.mdtest/Literal_quotes_in_titles.xhtml
t/Text-MultiMarkdown.mdtest/Markdown_Documentation_-_Basics.text
t/Text-MultiMarkdown.mdtest/Markdown_Documentation_-_Basics.xhtml
t/Text-MultiMarkdown.mdtest/Markdown_Documentation_-_Syntax.text
t/Text-MultiMarkdown.mdtest/Markdown_Documentation_-_Syntax.xhtml
t/Text-MultiMarkdown.mdtest/Metadata_(Complete).text
t/Text-MultiMarkdown.mdtest/Metadata_(Complete).xhtml
t/Text-MultiMarkdown.mdtest/Metadata_(Snippet).html
t/Text-MultiMarkdown.mdtest/Metadata_(Snippet).text
t/Text-MultiMarkdown.mdtest/Nested_blockquotes.text
t/Text-MultiMarkdown.mdtest/Nested_blockquotes.xhtml
t/Text-MultiMarkdown.mdtest/Ordered_and_unordered_lists.text
t/Text-MultiMarkdown.mdtest/Ordered_and_unordered_lists.xhtml
t/Text-MultiMarkdown.mdtest/PHP-ASP_tags.text
t/Text-MultiMarkdown.mdtest/PHP-ASP_tags.xhtml
t/Text-MultiMarkdown.mdtest/Special_Characters.text
t/Text-MultiMarkdown.mdtest/Special_Characters.xhtml
t/Text-MultiMarkdown.mdtest/Strong_and_em_together.text
t/Text-MultiMarkdown.mdtest/Strong_and_em_together.xhtml
t/Text-MultiMarkdown.mdtest/Tables.text
t/Text-MultiMarkdown.mdtest/Tables.xhtml
t/Text-MultiMarkdown.mdtest/Tabs.text
t/Text-MultiMarkdown.mdtest/Tabs.xhtml
t/Text-MultiMarkdown.mdtest/Warnings-rt34856.text
t/Text-MultiMarkdown.mdtest/Warnings-rt34856.xhtml
t/Text-MultiMarkdown.mdtest/Wiki_Features.text
t/Text-MultiMarkdown.mdtest/Wiki_Features.xhtml
t/Text-MultiMarkdown.mdtest/XHTML_Headers.text
t/Text-MultiMarkdown.mdtest/XHTML_Headers.xhtml
Todo
Text-MultiMarkdown-1.000035/PaxHeader/MANIFEST.skip 000644 777777 000024 00000000172 12362521047 022214 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790060
23 SCHILY.dev=16777218
23 SCHILY.ino=69062245
18 SCHILY.nlink=1
Text-MultiMarkdown-1.000035/MANIFEST.skip 000644 € ;Ðâp000024 00000001230 12362521047 021022 0 ustar 00tdoran staff 000000 000000 ^TODO$
^Text-MultiMarkdown-
# Avoid version control files.
\bRCS\b
\bCVS\b
\bSCCS\b
,v$
\B\.svn\b
\B\.git\b
\b_darcs\b
# Avoid Makemaker generated and utility files.
\bMANIFEST\.bak
\bMakefile$
\bblib/
\bMakeMaker-\d
\bpm_to_blib\.ts$
\bpm_to_blib$
\bblibdirs\.ts$ # 6.18 through 6.25 generated this
# Avoid Module::Build generated and utility files.
\bBuild$
\b_build/
# Avoid temp and backup files.
~$
\.old$
\#$
\b\.#
\.bak$
# Avoid Devel::Cover files.
\bcover_db\b
### DEFAULT MANIFEST.SKIP ENDS HERE ####
\.DS_Store$
\.sw.$
(\w+-)*(\w+)-\d\.\d+(?:\.tar\.gz)?$
\.t\.log$
\.gitignore$
MANIFEST.SKIP$
\.prove$
\.shipit$
# XS shit
\.(?:bs|c|o)$
Text-MultiMarkdown-1.000035/PaxHeader/META.yml 000644 777777 000024 00000000172 12362522056 021370 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790060
23 SCHILY.dev=16777218
23 SCHILY.ino=69062320
18 SCHILY.nlink=1
Text-MultiMarkdown-1.000035/META.yml 000644 € ;Ðâp000024 00000001512 12362522056 020201 0 ustar 00tdoran staff 000000 000000 ---
abstract: 'Convert MultiMarkdown syntax to (X)HTML'
author:
- 'Tomas Doran '
build_requires:
ExtUtils::MakeMaker: 6.59
FindBin: 0
List::MoreUtils: 0
Test::Exception: 0
Test::More: 0.42
configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
dynamic_config: 1
generated_by: 'Module::Install version 1.08'
license: bsd
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: Text-MultiMarkdown
no_index:
directory:
- inc
- t
requires:
Digest::MD5: 0
Encode: 0
HTML::Entities: 0
Text::Markdown: 1.0.26
perl: 5.8.0
resources:
bugtracker: http://github.com/bobtfish/text-multimarkdown/issues
license: http://opensource.org/licenses/bsd-license.php
repository: http://github.com/bobtfish/text-multimarkdown/
version: 1.000035
Text-MultiMarkdown-1.000035/PaxHeader/README 000644 777777 000024 00000000240 12362522056 020773 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
38 LIBARCHIVE.creationtime=1405788711
23 SCHILY.dev=16777218
23 SCHILY.ino=69051331
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/README 000644 € ;Ðâp000024 00000021672 12362522056 017621 0 ustar 00tdoran staff 000000 000000 NAME
Text::MultiMarkdown - Convert MultiMarkdown syntax to (X)HTML
SYNOPSIS
use Text::MultiMarkdown 'markdown';
my $html = markdown($text);
use Text::MultiMarkdown 'markdown';
my $html = markdown( $text, {
empty_element_suffix => '>',
tab_width => 2,
use_wikilinks => 1,
} );
use Text::MultiMarkdown;
my $m = Text::MultiMarkdown->new;
my $html = $m->markdown($text);
use Text::MultiMarkdown;
my $m = Text::MultiMarkdown->new(
empty_element_suffix => '>',
tab_width => 2,
use_wikilinks => 1,
);
my $html = $m->markdown( $text );
DESCRIPTION
Markdown is a text-to-HTML filter; it translates an easy-to-read /
easy-to-write structured text format into HTML. Markdown's text format
is most similar to that of plain text email, and supports features such
as headers, *emphasis*, code blocks, blockquotes, and links.
Markdown's syntax is designed not as a generic markup language, but
specifically to serve as a front-end to (X)HTML. You can use span-level
HTML tags anywhere in a Markdown document, and you can use block level
HTML tags ("
", "
" etc.). Note that by default Markdown isn't
interpreted in HTML block-level elements, unless you add a "markdown=1""
attribute to the element. See Text::Markdown for details.
This module implements the MultiMarkdown markdown syntax extensions
from:
http://fletcherpenney.net/multimarkdown/
SYNTAX
For more information about (original) Markdown's syntax, see:
http://daringfireball.net/projects/markdown/
This module implements MultiMarkdown, which is an extension to
Markdown..
The extension is documented at:
http://fletcherpenney.net/multimarkdown/
and borrows from php-markdown, which lives at:
http://michelf.com/projects/php-markdown/extra/
This documentation is going to be moved/copied into this module for
clearer reading in a future release..
OPTIONS
MultiMarkdown supports a number of options to it's processor which
control the behaviour of the output document.
These options can be supplied to the constructor, on in a hash with the
individual calls to the markdown method. See the synopsis for examples
of both of the above styles.
The options for the processor are:
use_metadata
Controls the metadata options below.
strip_metadata
If true, any metadata in the input document is removed from the
output document (note - does not take effect in complete document
format).
empty element suffix
This option can be used to generate normal HTML output. By default,
it is ' />', which is xHTML, change to '>' for normal HTML.
img_ids
Controls if tags generated have an id attribute. Defaults to
true. Turn off for compatibility with the original markdown.
heading_ids
Controls if tags generated have an id attribute. Defaults to
true. Turn off for compatibility with the original markdown.
bibliography_title
The title of the generated bibliography, defaults to 'Bibliography'.
tab_width
Controls indent width in the generated markup, defaults to 4
disable_tables
If true, this disables the MultiMarkdown table handling.
disable_footnotes
If true, this disables the MultiMarkdown footnotes handling.
disable_bibliography
If true, this disables the MultiMarkdown bibliography/citation
handling.
disable_definition_lists
If true, this disables the MultiMarkdown definition list handling.
A number of possible items of metadata can also be supplied as options.
Note that if the use_metadata is true then the metadata in the document
will overwrite the settings on command line.
Metadata options supported are:
document_format
use_wikilinks
base_url
self_url - The document url is prepended to the "#" anchor of footnotes.
METADATA
MultiMarkdown supports the concept of 'metadata', which allows you to
specify a number of formatting options within the document itself.
Metadata should be placed in the top few lines of a file, on value per
line as colon separated key/value pairs. The metadata should be
separated from the document with a blank line.
Most metadata keys are also supported as options to the constructor, or
options to the markdown method itself. (Note, as metadata, keys contain
space, whereas options the keys are underscore separated.)
You can attach arbitrary metadata to a document, which is output in HTML
tags if unknown, see t/11document_format.t for more info.
A list of 'known' metadata keys, and their effects are listed below:
document format
If set to 'complete', MultiMarkdown will render an entire xHTML
page, otherwise it will render a document fragment
css Sets a CSS file for the file, if in 'complete' document format.
title
Sets the page title, if in 'complete' document format.
use wikilinks
If set to '1' or 'on', causes links that are WikiWords to
automatically be processed into links.
base url
This is the base URL for referencing wiki pages. In this is not
supplied, all wiki links are relative.
METHODS
new
A simple constructor, see the SYNTAX and OPTIONS sections for more
information.
markdown
The main function as far as the outside world is concerned. See the
SYNOPSIS for details on use.
BUGS
To file bug reports or feature requests please send email to:
bug-Text-Markdown@rt.cpan.org
Please include with your report: (1) the example input; (2) the output
you expected; (3) the output Markdown actually produced.
VERSION HISTORY
See the Changes file for detailed release notes for this version.
AUTHOR
John Gruber
http://daringfireball.net/
PHP port and other contributions by Michel Fortin
http://michelf.com/
MultiMarkdown changes by Fletcher Penney
http://fletcher.freeshell.org/
CPAN Module Text::MultiMarkdown (based on Text::Markdown by Sebastian
Riedel) originally by Darren Kulp (http://kulp.ch/)
This module is maintained by: Tomas Doran http://www.bobtfish.net/
THIS DISTRIBUTION
Please note that this distribution is a fork of Fletcher Penny's
MultiMarkdown project, and it *is not* in any way blessed by him.
Whilst this code aims to be compatible with the original MultiMarkdown
(and incorporates and passes the MultiMarkdown test suite) whilst fixing
a number of bugs in the original - there may be differences between the
behaviour of this module and MultiMarkdown. If you find any differences
where you believe Text::MultiMarkdown behaves contrary to the
MultiMarkdown spec, please report them as bugs.
SOURCE CODE
You can find the source code repository for Text::Markdown and
Text::MultiMarkdown on GitHub at
.
COPYRIGHT AND LICENSE
Original Code Copyright (c) 2003-2004 John Gruber
All rights reserved.
MultiMarkdown changes Copyright (c) 2005-2006 Fletcher T. Penney
All rights reserved.
Text::MultiMarkdown changes Copyright (c) 2006-2009 Darren Kulp
and Tomas Doran
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name "Markdown" nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
This software is provided by the copyright holders and contributors "as
is" and any express or implied warranties, including, but not limited
to, the implied warranties of merchantability and fitness for a
particular purpose are disclaimed. In no event shall the copyright owner
or contributors be liable for any direct, indirect, incidental, special,
exemplary, or consequential damages (including, but not limited to,
procurement of substitute goods or services; loss of use, data, or
profits; or business interruption) however caused and on any theory of
liability, whether in contract, strict liability, or tort (including
negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage.
Text-MultiMarkdown-1.000035/PaxHeader/Readme.text 000644 777777 000024 00000000172 12362521047 022221 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051332
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/Readme.text 000644 € ;Ðâp000024 00000026071 12362521047 021041 0 ustar 00tdoran staff 000000 000000 # WARNING
This Readme is from the original version of Markdown; not all of the
information contained herein is applicable to Test::Markdown the CPAN
module that includes this file. See the module's POD and the README file for
more information.
Markdown
========
Version 1.0.1 - Tue 14 Dec 2004
by John Gruber
Introduction
------------
Markdown is a text-to-HTML conversion tool for web writers. Markdown
allows you to write using an easy-to-read, easy-to-write plain text
format, then convert it to structurally valid XHTML (or HTML).
Thus, "Markdown" is two things: a plain text markup syntax, and a
software tool, written in Perl, that converts the plain text markup
to HTML.
Markdown works both as a Movable Type plug-in and as a standalone Perl
script -- which means it can also be used as a text filter in BBEdit
(or any other application that supporst filters written in Perl).
Full documentation of Markdown's syntax and configuration options is
available on the web: .
(Note: this readme file is formatted in Markdown.)
Installation and Requirements
-----------------------------
Markdown requires Perl 5.6.0 or later. Welcome to the 21st Century.
Markdown also requires the standard Perl library module `Digest::MD5`.
### Movable Type ###
Markdown works with Movable Type version 2.6 or later (including
MT 3.0 or later).
1. Copy the "Markdown.pl" file into your Movable Type "plugins"
directory. The "plugins" directory should be in the same directory
as "mt.cgi"; if the "plugins" directory doesn't already exist, use
your FTP program to create it. Your installation should look like
this:
(mt home)/plugins/Markdown.pl
2. Once installed, Markdown will appear as an option in Movable Type's
Text Formatting pop-up menu. This is selectable on a per-post basis.
Markdown translates your posts to HTML when you publish; the posts
themselves are stored in your MT database in Markdown format.
3. If you also install SmartyPants 1.5 (or later), Markdown will offer
a second text formatting option: "Markdown with SmartyPants". This
option is the same as the regular "Markdown" formatter, except that
automatically uses SmartyPants to create typographically correct
curly quotes, em-dashes, and ellipses. See the SmartyPants web page
for more information:
4. To make Markdown (or "Markdown with SmartyPants") your default
text formatting option for new posts, go to Weblog Config ->
Preferences.
Note that by default, Markdown produces XHTML output. To configure
Markdown to produce HTML 4 output, see "Configuration", below.
### Blosxom ###
Markdown works with Blosxom version 2.x.
1. Rename the "Markdown.pl" plug-in to "Markdown" (case is
important). Movable Type requires plug-ins to have a ".pl"
extension; Blosxom forbids it.
2. Copy the "Markdown" plug-in file to your Blosxom plug-ins folder.
If you're not sure where your Blosxom plug-ins folder is, see the
Blosxom documentation for information.
3. That's it. The entries in your weblog will now automatically be
processed by Markdown.
4. If you'd like to apply Markdown formatting only to certain posts,
rather than all of them, see Jason Clark's instructions for using
Markdown in conjunction with Blosxom's Meta plugin:
### BBEdit ###
Markdown works with BBEdit 6.1 or later on Mac OS X. (It also works
with BBEdit 5.1 or later and MacPerl 5.6.1 on Mac OS 8.6 or later.)
1. Copy the "Markdown.pl" file to appropriate filters folder in your
"BBEdit Support" folder. On Mac OS X, this should be:
BBEdit Support/Unix Support/Unix Filters/
See the BBEdit documentation for more details on the location of
these folders.
You can rename "Markdown.pl" to whatever you wish.
2. That's it. To use Markdown, select some text in a BBEdit document,
then choose Markdown from the Filters sub-menu in the "#!" menu, or
the Filters floating palette
Configuration
-------------
By default, Markdown produces XHTML output for tags with empty elements.
E.g.:
Markdown can be configured to produce HTML-style tags; e.g.:
### Movable Type ###
You need to use a special `MTMarkdownOptions` container tag in each
Movable Type template where you want HTML 4-style output:
... put your entry content here ...
The easiest way to use MTMarkdownOptions is probably to put the
opening tag right after your `` tag, and the closing tag right
before ``.
To suppress Markdown processing in a particular template, i.e. to
publish the raw Markdown-formatted text without translation into
(X)HTML, set the `output` attribute to 'raw':
... put your entry content here ...
### Command-Line ###
Use the `--html4tags` command-line switch to produce HTML output from a
Unix-style command line. E.g.:
% perl Markdown.pl --html4tags foo.text
Type `perldoc Markdown.pl`, or read the POD documentation within the
Markdown.pl source code for more information.
Bugs
----
To file bug reports or feature requests please send email to:
.
Version History
---------------
1.0.1 (14 Dec 2004):
+ Changed the syntax rules for code blocks and spans. Previously,
backslash escapes for special Markdown characters were processed
everywhere other than within inline HTML tags. Now, the contents
of code blocks and spans are no longer processed for backslash
escapes. This means that code blocks and spans are now treated
literally, with no special rules to worry about regarding
backslashes.
**NOTE**: This changes the syntax from all previous versions of
Markdown. Code blocks and spans involving backslash characters
will now generate different output than before.
+ Tweaked the rules for link definitions so that they must occur
within three spaces of the left margin. Thus if you indent a link
definition by four spaces or a tab, it will now be a code block.
[a]: /url/ "Indented 3 spaces, this is a link def"
[b]: /url/ "Indented 4 spaces, this is a code block"
**IMPORTANT**: This may affect existing Markdown content if it
contains link definitions indented by 4 or more spaces.
+ Added `>`, `+`, and `-` to the list of backslash-escapable
characters. These should have been done when these characters
were added as unordered list item markers.
+ Trailing spaces and tabs following HTML comments and `` tags
are now ignored.
+ Inline links using `<` and `>` URL delimiters weren't working:
like [this]()
+ Added a bit of tolerance for trailing spaces and tabs after
Markdown hr's.
+ Fixed bug where auto-links were being processed within code spans:
like this: ``
+ Sort-of fixed a bug where lines in the middle of hard-wrapped
paragraphs, which lines look like the start of a list item,
would accidentally trigger the creation of a list. E.g. a
paragraph that looked like this:
I recommend upgrading to version
8. Oops, now this line is treated
as a sub-list.
This is fixed for top-level lists, but it can still happen for
sub-lists. E.g., the following list item will not be parsed
properly:
+ I recommend upgrading to version
8. Oops, now this line is treated
as a sub-list.
Given Markdown's list-creation rules, I'm not sure this can
be fixed.
+ Standalone HTML comments are now handled; previously, they'd get
wrapped in a spurious `
` tag.
+ Fix for horizontal rules preceded by 2 or 3 spaces.
+ `
` HTML tags in must occur within three spaces of left
margin. (With 4 spaces or a tab, they should be code blocks, but
weren't before this fix.)
+ Capitalized "With" in "Markdown With SmartyPants" for
consistency with the same string label in SmartyPants.pl.
(This fix is specific to the MT plug-in interface.)
+ Auto-linked email address can now optionally contain
a 'mailto:' protocol. I.e. these are equivalent:
+ Fixed annoying bug where nested lists would wind up with
spurious (and invalid) `
` tags.
+ You can now write empty links:
[like this]()
and they'll be turned into anchor tags with empty href attributes.
This should have worked before, but didn't.
+ `***this***` and `___this___` are now turned into
this
Instead of
this
which isn't valid. (Thanks to Michel Fortin for the fix.)
+ Added a new substitution in `_EncodeCode()`: s/\$/$/g; This
is only for the benefit of Blosxom users, because Blosxom
(sometimes?) interpolates Perl scalars in your article bodies.
+ Fixed problem for links defined with urls that include parens, e.g.:
[1]: http://sources.wikipedia.org/wiki/Middle_East_Policy_(Chomsky)
"Chomsky" was being erroneously treated as the URL's title.
+ At some point during 1.0's beta cycle, I changed every sub's
argument fetching from this idiom:
my $text = shift;
to:
my $text = shift || return '';
The idea was to keep Markdown from doing any work in a sub
if the input was empty. This introduced a bug, though:
if the input to any function was the single-character string
"0", it would also evaluate as false and return immediately.
How silly. Now fixed.
Donations
---------
Donations to support Markdown's development are happily accepted. See:
for details.
Copyright and License
---------------------
Copyright (c) 2003-2004 John Gruber
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name "Markdown" nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
This software is provided by the copyright holders and contributors "as
is" and any express or implied warranties, including, but not limited
to, the implied warranties of merchantability and fitness for a
particular purpose are disclaimed. In no event shall the copyright owner
or contributors be liable for any direct, indirect, incidental, special,
exemplary, or consequential damages (including, but not limited to,
procurement of substitute goods or services; loss of use, data, or
profits; or business interruption) however caused and on any theory of
liability, whether in contract, strict liability, or tort (including
negligence or otherwise) arising in any way out of the use of this
software, even if advised of the possibility of such damage.
Text-MultiMarkdown-1.000035/PaxHeader/script 000755 777777 000024 00000000172 12362552430 021350 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405801752
23 SCHILY.dev=16777218
23 SCHILY.ino=69062224
18 SCHILY.nlink=3
Text-MultiMarkdown-1.000035/script/ 000755 € ;Ðâp000024 00000000000 12362552430 020234 5 ustar 00tdoran staff 000000 000000 Text-MultiMarkdown-1.000035/PaxHeader/t 000755 777777 000024 00000000173 12362552430 020310 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405801752
23 SCHILY.dev=16777218
23 SCHILY.ino=69062065
19 SCHILY.nlink=35
Text-MultiMarkdown-1.000035/t/ 000755 € ;Ðâp000024 00000000000 12362552430 017173 5 ustar 00tdoran staff 000000 000000 Text-MultiMarkdown-1.000035/PaxHeader/Todo 000644 777777 000024 00000000172 12362521047 020746 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051333
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/Todo 000644 € ;Ðâp000024 00000004032 12362521047 017557 0 ustar 00tdoran staff 000000 000000 Todo pre 1.0.23:
. Tests for $footnote =~ s/^glossary:\s*//i
. Tests for $footnote_closing_tag
. Add an option to Text::Markdown to have original brand markdown style
emphasis within words support.
. Re-merge Movable Type and Bloxom compatibility to the scripts, and add
tests.
. Need a dingus, write a small / demo app then ask the catalyst guys to
host?
. Re-write this Todo list.
Todo pre 1.0.24:
. Make Markdown.pl and MultiMarkdown.pl warn if unexpected options are
used, and also have docs on what options are available. Expose the other
module options in the scripts.
. http://rt.cpan.org/Ticket/Display.html?id=33443
. More tests in t/15inlinehtmldoesnoturnoffmarkdown.t, I bet turning this
feature on breaks things.
. Document the markdown (and multimarkdown) syntaxes in the module
properly.
Todo pre 1.0.25:
. Fix the list bug (see t/17ulolreportedonlist.t and Markdown mailing
list) This probably involves the first draught of the new parser...
. Text::Balanced is the slowest thing ever.
The syntax guide looks like this:
49.4 0.569 0.568 113 0.0050 0.0050 Text::Balanced::_match_tagged
18.1 0.209 0.791 3 0.0696 0.2637 Text::MultiMarkdown::_HashHTMLBlocks
Todo pre 1.0.26:
. Have a look at extra features in
http://code.google.com/p/python-markdown2/wiki/Extras and put anything
we consider useful on the roadmap.
. Integrate maruku (ruby port) test cases properly, and go looking for
more.
. Make a Text::Markdown::Extra with the Markdown extra features?
Todo pre 1.1:
. Either remove Text::MultiMarkdown::_FixFootnoteParagraphs or add tests to
exercise it. Currently, removing it doesn't affect any test.
. Build a parse tree when parsing (which can be returned), rather than just
using strings. This would make the output format much more flexible, and
would remove a load of nasty hacks which escape, then un-escape things
again whist processing..
Text-MultiMarkdown-1.000035/t/PaxHeader/01use.t 000644 777777 000024 00000000172 12362521047 021503 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051340
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/01use.t 000644 € ;Ðâp000024 00000000125 12362521047 020313 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 1;
use_ok('Text::MultiMarkdown');
Text-MultiMarkdown-1.000035/t/PaxHeader/02pod.t 000644 777777 000024 00000000172 12362521047 021472 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051341
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/02pod.t 000644 € ;Ðâp000024 00000000330 12362521047 020300 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
eval "use Test::Pod 1.14";
plan skip_all => 'Test::Pod 1.14 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
all_pod_files_ok();
Text-MultiMarkdown-1.000035/t/PaxHeader/03podcoverage.t 000644 777777 000024 00000000172 12362521047 023207 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051342
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/03podcoverage.t 000644 € ;Ðâp000024 00000000357 12362521047 022026 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
eval "use Test::Pod::Coverage 1.04";
plan skip_all => 'Test::Pod::Coverage 1.04 required' if $@;
plan skip_all => 'set TEST_POD to enable this test' unless $ENV{TEST_POD};
all_pod_coverage_ok();
Text-MultiMarkdown-1.000035/t/PaxHeader/03podspelling.t 000644 777777 000024 00000000172 12362521047 023231 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051343
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/03podspelling.t 000644 € ;Ðâp000024 00000001214 12362521047 022041 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
eval 'use Test::Spelling 0.11';
plan skip_all => 'Test::Spelling 0.11 not installed' if $@;
plan skip_all => 'set TEST_SPELLING to enable this test' unless $ENV{TEST_SPELLING};
set_spell_cmd('aspell list');
add_stopwords();
all_pod_files_spelling_ok();
__DATA__
merchantability
Doran
FIXME
Gruber
Gruber's
daringfireball
Kulp
METADATA
Metadata
MultiMarkdown
WikiWords
blockquotes
metadata
textMetaData
url
wiki
wikilinks
xHTML
xhtmlMetaData
lua
haskell
maruku
javascript
php
reStructuredText
Pandoc
API
MDTest
preprocess
urls
STDIN
STDOUT
XHTML
html
shortversion
quux
GitHub
Redistributions
Gunnar
Text-MultiMarkdown-1.000035/t/PaxHeader/04markdown.t 000644 777777 000024 00000000172 12362521047 022534 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051344
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/04markdown.t 000644 € ;Ðâp000024 00000000521 12362521047 021344 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 3;
use_ok( 'Text::MultiMarkdown', 'markdown' );
my $m = Text::MultiMarkdown->new;
my $html1 = $m->markdown(<<"EOF");
Foo
Bar
EOF
is( $html1, <<"EOF" );
Foo
Bar
EOF
my $html2 = $m->markdown(<<"EOF");
Foo
Bar
EOF
is( $html2, <<"EOF" );
Foo
Bar
EOF
Text-MultiMarkdown-1.000035/t/PaxHeader/05options.t 000644 777777 000024 00000000172 12362521047 022406 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051345
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/05options.t 000644 € ;Ðâp000024 00000000662 12362521047 021224 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 3;
use_ok( 'Text::MultiMarkdown', 'markdown' );
my $m = Text::MultiMarkdown->new;
my $html1 = $m->markdown(<<"EOF");
[test][] the link!
EOF
is( <<"EOF", $html1 );
[test][] the link!
EOF
my $html2 = $m->markdown(<<"EOF", {urls => {test => 'http://example.com'}});
[test][] the link!
EOF
is( <<"EOF", $html2 );
un*fucking*believable - *this text is surrounded by literal asterisks*, but the text before that should be bold according to the docs, but isn't FIXME!
Text-MultiMarkdown-1.000035/t/PaxHeader/08exporter.t 000644 777777 000024 00000000172 12362521047 022566 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051348
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/08exporter.t 000644 € ;Ðâp000024 00000001264 12362521047 021403 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 5;
use Test::Exception;
use_ok( 'Text::MultiMarkdown', 'markdown' );
my $instr = q{A trivial block of text};
my $outstr = q{
A trivial block of text
};
lives_ok {
$outstr = markdown($instr);
} 'Functional markdown works without an exception';
chomp($outstr);
is(
$outstr => '
\n};
is( #2
$m->markdown($instr) => $expstr,
'Markdown with wiki links, and base url, metadata switched on in instance'
);
$m = Text::MultiMarkdown->new(
use_metadata => 0,
);
my $expstr2 = qq{
use wikilinks: on\nbase url: http://www.test.com/
\n\n
A trivial block of text with a WikiWord
\n};
is( #3
$m->markdown($instr) => $expstr2,
'Markdown with wiki links, with base url in instance (no metadata)'
);
is( #4
$m->markdown($instr, { use_metadata => 1 }) => $expstr,
'Markdown with wiki links, and base url, metadata switched on in options'
);
is( #5
$m->markdown($instr) => $expstr2,
'Markdown with wiki links, with base url in instance (no metadata) - try 2 to ensure option to markdown does not frob setting'
);
$m = Text::MultiMarkdown->new(
use_metadata => 0,
strip_metadata => 1,
);
$expstr = qq{
A trivial block of text with a WikiWord
\n};
is( #6
$m->markdown($instr) => $expstr,
'Markdown with wiki links, with metadata off and stripped'
);
$expstr = qq{
\n\n};
is( #3
$m->markdown($instr, {document_format => 'Complete'}) => $outstr,
'Markdown with complete xhtml doc'
);
$instr = q{title: A page title
css: somestyle.css
other: some metadata
A trivial block of text};
$outstr = qq{
\n\t\n\t\t
\t\t
\t\tA page title\n\t\n\n
A trivial block of text
\n\n};
is( #4
$m->markdown($instr, {document_format => 'complete'}) => $outstr,
'Markdown with complete xhtml doc (and metadata)'
);
$outstr = qq{css: somestyle.css \nother: some metadata \ntitle: A page title \n
A trivial block of text
\n};
is( #5
$m->markdown($instr) => $outstr,
'Markdown withmetadata, but no complete doc'
);
Text-MultiMarkdown-1.000035/t/PaxHeader/12empty_element_suffix.t 000644 777777 000024 00000000172 12362521047 025144 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051352
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/12empty_element_suffix.t 000644 € ;Ðâp000024 00000001002 12362521047 023747 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 3;
#1
use_ok( 'Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new();
my $instr = qq{some metadata: here\n\nSome text};
my $outstr = qq{some metadata: here \n\n
Some text
\n};
is( #2
$m->markdown($instr) => $outstr,
'Normal element suffix as expected'
);
$outstr = qq{some metadata: here \n\n
Some text
\n};
is( #3
$m->markdown($instr, {empty_element_suffix => '>'}) => $outstr,
'HTML element suffix also as expected'
);
Text-MultiMarkdown-1.000035/t/PaxHeader/13multimarkdown-nometadata-firstpara.t 000644 777777 000024 00000000172 12362521047 027713 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051353
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/13multimarkdown-nometadata-firstpara.t 000644 € ;Ðâp000024 00000000553 12362521047 026530 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 2;
use_ok( 'Text::MultiMarkdown', 'markdown' );
my $m = Text::MultiMarkdown->new;
# A line of whitespace should cause metadata to be skipped..
my $html1 = $m->markdown(<<"EOF");
Simple block on one line:
foo
EOF
is( $html1, <<"EOF" );
Simple block on one line:
foo
EOF
Text-MultiMarkdown-1.000035/t/PaxHeader/14unicode.t 000644 777777 000024 00000000172 12362521047 022341 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051354
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/14unicode.t 000644 € ;Ðâp000024 00000000733 12362521047 021156 0 ustar 00tdoran staff 000000 000000 use utf8;
use strict;
use warnings;
use Test::More tests => 3;
# This also has a test case in the .mdtest directory.
use_ok('Text::MultiMarkdown', 'markdown');
my $m = Text::MultiMarkdown->new;
my $html1;
$html1 = eval { $m->markdown(<<"EOF"); };
> Fo—o
μοÏεοϋεÏ
> ßåř
EOF
ok(!$@, "No exception from markdown ($@)");
is( $html1, <<"EOF" );
Fo—o
μοÏεοϋεÏ
ßåř
EOF
Text-MultiMarkdown-1.000035/t/PaxHeader/16headingsinlists.t 000644 777777 000024 00000000172 12362521047 024105 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051355
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/16headingsinlists.t 000644 € ;Ðâp000024 00000001231 12362521047 022714 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 3;
use_ok('Text::MultiMarkdown', 'markdown');
my $m = Text::MultiMarkdown->new(
heading_ids => 0
);
# This case works.
my $html1 = $m->markdown(<<"EOF");
- # Heading 1
- ## Heading 2
EOF
is( $html1, <<"EOF" );
Heading 1
Heading 2
EOF
# This case fails.
my $html2 = $m->markdown(<<"EOF");
- # Heading 1
- ## Heading 2
EOF
{
local $TODO = 'Fails as lack of space between list elements means we only run span level tags, and headings are block level';
is( $html2, <<'EOF' );
Heading 1
Heading 2
EOF
};
Text-MultiMarkdown-1.000035/t/PaxHeader/17olulreportedonlist.t 000644 777777 000024 00000000172 12362521047 024667 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051356
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/17olulreportedonlist.t 000644 € ;Ðâp000024 00000000570 12362521047 023503 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 2;
use_ok('Text::MultiMarkdown', 'markdown');
my $m = Text::MultiMarkdown->new();
my $html1 = $m->markdown(<<"EOF");
- a
- b
1. 1
2. 2
EOF
{
local $TODO = 'Does not work as expected in current Markdown, known bug.';
is( $html1, <<"EOF" );
a
b
1
2
EOF
}; Text-MultiMarkdown-1.000035/t/PaxHeader/18codespanextra.t 000644 777777 000024 00000000172 12362521047 023557 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051357
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/18codespanextra.t 000644 € ;Ðâp000024 00000001555 12362521047 022377 0 ustar 00tdoran staff 000000 000000 # Test a 'bug' reported by Nathan Waddell/J. Shirley from the #catalyst-dev community.
# I don't think that this is a bug at all ;)
use strict;
use warnings;
use Test::More tests => 4;
use_ok('Text::MultiMarkdown', 'markdown');
my $m = Text::MultiMarkdown->new(
use_metadata => 0,
);
my $html1 = $m->markdown(<<'EOF');
`cpan Module::Install`
`cpan Task::Catalyst`
EOF
is( $html1, <<'EOF' );
EOF
Text-MultiMarkdown-1.000035/t/PaxHeader/20fulldocs-text-multimarkdown.t 000644 777777 000024 00000000172 12362521047 026400 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051358
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/20fulldocs-text-multimarkdown.t 000644 € ;Ðâp000024 00000006251 12362521047 025216 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
use FindBin qw($Bin);
use List::MoreUtils qw(uniq);
use Encode;
our $TIDY = 0;
### Generate difftest subroutine, pretty prints diffs if you have Text::Diff, use uses
### Test::More::is otherwise.
eval {
require Text::Diff;
};
if (!$@) {
*difftest = sub {
my ($got, $expected, $testname) = @_;
$got .= "\n";
$expected .= "\n";
if ($got eq $expected) {
pass($testname);
return;
}
print "=" x 80 . "\nDIFFERENCES: + = processed version from .text, - = template from .html\n";
print encode('utf8', Text::Diff::diff(\$expected => \$got, { STYLE => "Unified" }) . "\n");
fail($testname);
};
}
else {
warn("Install Text::Diff for more helpful failure messages! ($@)");
*difftest = \&Test::More::is;
}
sub tidy {
$TIDY = 1;
eval "use HTML::Tidy; ";
if ($@) {
plan skip_all => 'This test needs HTML::Tidy installed to pass correctly, skipping';
exit;
}
}
### Actual code for this test - unless(caller) stops it
### being run when this file is required by other tests
unless (caller) {
my $docsdir = "$Bin/Text-MultiMarkdown.mdtest";
my @files = get_files($docsdir);
plan tests => scalar(@files) + 2;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new(
use_metadata => 1,
);
{
my $has_warned = 0;
local $SIG{__WARN__} = sub {
$has_warned++;
warn(@_);
};
run_tests($m, $docsdir, @files);
is($has_warned, 0, 'No warnings expected');
};
}
sub get_files {
my ($docsdir) = @_;
my $DH;
opendir($DH, $docsdir) or die("Could not open $docsdir");
my @files = uniq map { s/\.(xhtml|html|text)$// ? $_ : (); } readdir($DH);
closedir($DH);
return @files;
}
sub slurp {
my ($filename) = @_;
open my $file, '<', $filename or die "Couldn't open $filename: $!";
local $/ = undef;
return <$file>;
}
sub run_tests {
my ($m, $docsdir, @files) = @_;
foreach my $test (@files) {
my ($input, $output);
eval {
if (-f "$docsdir/$test.html") {
$output = slurp("$docsdir/$test.html");
}
else {
$output = slurp("$docsdir/$test.xhtml");
}
$input = slurp("$docsdir/$test.text");
};
$input .= "\n\n";
$output .= "\n\n";
if ($@) {
fail("1 part of test file not found: $@");
next;
}
$output =~ s/\s+\z//; # trim trailing whitespace
my $processed = $m->markdown($input);
$processed =~ s/\s+\z//; # trim trailing whitespace
if ($TIDY) {
local $SIG{__WARN__} = sub {};
my $t = HTML::Tidy->new;
$output = $t->clean($output);
$processed = $t->clean($processed);
}
# Un-comment for debugging if you have space diffs you can't see..
$output =~ s/ / /g;
$output =~ s/\t/&tab;/g;
$processed =~ s/ / /g;
$processed =~ s/\t/&tab;/g;
difftest($processed, $output, "Docs test: $test");
}
}
1;
Text-MultiMarkdown-1.000035/t/PaxHeader/22fulldocs-multimarkdown-todo.t 000644 777777 000024 00000000172 12362521047 026363 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051359
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/22fulldocs-multimarkdown-todo.t 000644 € ;Ðâp000024 00000000606 12362521047 025177 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
use FindBin qw($Bin);
require "$Bin/20fulldocs-text-multimarkdown.t";
my $docsdir = "$Bin/docs-multimarkdown-todo";
my @files = get_files($docsdir);
plan tests => scalar(@files) + 1;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new();
{
local $TODO = 'These tests are known broken';
run_tests($m, $docsdir, @files);
};
Text-MultiMarkdown-1.000035/t/PaxHeader/23afulldocs-multimarkdown.t 000644 777777 000024 00000000172 12362521047 025562 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051360
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/23afulldocs-multimarkdown.t 000644 € ;Ðâp000024 00000000520 12362521047 024371 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
use FindBin qw($Bin);
require "$Bin/20fulldocs-text-multimarkdown.t";
tidy();
my $docsdir = "$Bin/MultiMarkdown.mdtest";
my @files = get_files($docsdir);
plan tests => scalar(@files) + 1;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new();
run_tests($m, $docsdir, @files);
Text-MultiMarkdown-1.000035/t/PaxHeader/24fulldocs-pythonmarkdown2-tm.t 000644 777777 000024 00000000172 12362521047 026311 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051361
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/24fulldocs-pythonmarkdown2-tm.t 000644 € ;Ðâp000024 00000001203 12362521047 025117 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
use FindBin qw($Bin);
require "$Bin/20fulldocs-text-multimarkdown.t";
my $docsdir = "$Bin/docs-pythonmarkdown2-tm-cases-pass";
my @files = get_files($docsdir);
tidy();
plan tests => scalar(@files) + 1;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new(
use_metadata => 0,
heading_ids => 0, # Remove MultiMarkdown behavior change in tags.
img_ids => 0, # Remove MultiMarkdown behavior change in tags.
);
{
local $TODO = 'Not many of the python markdown tests pass, but they ran off and did their own thing';
run_tests($m, $docsdir, @files);
};
Text-MultiMarkdown-1.000035/t/PaxHeader/29fulldocs-maruku-unittest.t 000644 777777 000024 00000000172 12362521047 025713 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051362
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/29fulldocs-maruku-unittest.t 000644 € ;Ðâp000024 00000001205 12362521047 024523 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More;
use FindBin qw($Bin);
require "$Bin/20fulldocs-text-multimarkdown.t";
my $docsdir = "$Bin/docs-maruku-unittest";
my @files = get_files($docsdir);
tidy();
plan tests => scalar(@files) + 1;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new(
use_metadata => 0,
heading_ids => 0, # Remove MultiMarkdown behavior change in tags.
img_ids => 0, # Remove MultiMarkdown behavior change in tags.
);
{
local $TODO = 'Ruby (maruku) tests, do not pass, but mostly due to spacing - pick them all up and go through them..';
run_tests($m, $docsdir, @files);
};
Text-MultiMarkdown-1.000035/t/PaxHeader/30disable_multimarkdown_features.t 000644 777777 000024 00000000172 12362521047 027167 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051363
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/30disable_multimarkdown_features.t 000644 € ;Ðâp000024 00000002345 12362521047 026005 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 4;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new(
disable_tables => 1,
disable_footnotes => 1,
disable_bibliography => 1,
);
my $instr = q{Here is some text containing a footnote.[^somesamplefootnote]
[^somesamplefootnote]: Here is the text of the footnote itself};
my $expstr = q{
Here is some text containing a footnote.[^somesamplefootnote]
[^somesamplefootnote]: Here is the text of the footnote itself
};
is($m->markdown($instr) => $expstr, 'disable_footnotes works as expected');
$instr = q{This is a borrowed idea[p. 23][#Doe:1996].
[#Doe:1996]: John Doe. *Some Book*. Blog Books, 1996.
};
# NOTE expstr doesn't have the footnote, as that syntax is original markdown's link syntax, so
# it is now resolved to a link
$expstr = qq{
This is a borrowed idea[p. 23][#Doe:1996].
\n};
is($m->markdown($instr) => $expstr, 'disable_bibliography works as expected');
$instr = q{------------ | :-----------: | -----------: |
Content | Long Cell ||
Content | Cell | Cell |};
$expstr = '
' . $instr . "
\n";
is( $m->markdown($instr) => $expstr, 'disable_tables works as expected');
Text-MultiMarkdown-1.000035/t/PaxHeader/35commandlinemultimarkdown.t 000644 777777 000024 00000000172 12362521047 026022 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051364
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/35commandlinemultimarkdown.t 000644 € ;Ðâp000024 00000001024 12362521047 024631 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use FindBin qw($Bin);
use Test::More tests => 2;
use Test::Exception;
my $filename = "$Bin/Text-MultiMarkdown.mdtest/Markdown_Documentation_-_Syntax";
unshift(@ARGV, "$filename.text");
open my $file, '<', "$filename.xhtml" or die "Couldn't open $filename: $!";
my $expected = do {local $/ = undef; <$file>};
lives_ok {
require "$Bin/../script/MultiMarkdown.pl";
} 'require MultiMarkdown.pl works';
my $out = main();
is($out, $expected, 'MultiMarkdown.pl does the right thing with the syntax guide');
Text-MultiMarkdown-1.000035/t/PaxHeader/36footnotes.t 000644 777777 000024 00000000172 12362521047 022737 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051365
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/36footnotes.t 000644 € ;Ðâp000024 00000001147 12362521047 021554 0 ustar 00tdoran staff 000000 000000 use strict;
use warnings;
use Test::More tests => 2;
use_ok('Text::MultiMarkdown');
my $m = Text::MultiMarkdown->new(
disable_footnotes => 0
);
my $instr = <This is buggy1.
Text-MultiMarkdown-1.000035/t/Text-MultiMarkdown.mdtest/PaxHeader/Amps_and_angle_encoding.text 000644 777777 000024 00000000172 12362521047 033043 x ustar 00tdoran staff 000000 000000 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051391
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/Text-MultiMarkdown.mdtest/Amps_and_angle_encoding.text 000644 € ;Ðâp000024 00000000644 12362521047 031661 0 ustar 00tdoran staff 000000 000000 AT&T has an ampersand in their name.
AT&T is another way to write it.
This & that.
4 < 5.
6 > 5.
Here's a [link] [1] with an ampersand in the URL.
Here's a link with an amersand in the link text: [AT&T] [2].
Here's an inline [link](/script?foo=1&bar=2).
Here's an inline [link]().
[1]: http://example.com/?foo=1&bar=2
[2]: http://att.com/ "AT&T"
But this <>.
As is << this>>/.
t/Text-MultiMarkdown.mdtest/PaxHeader/Amps_and_angles_encoding-advanced.text 000644 777777 000024 00000000172 12362521047 034712 x ustar 00tdoran staff 000000 000000 Text-MultiMarkdown-1.000035 18 uid=1003545200
20 ctime=1405801752
20 atime=1405790061
23 SCHILY.dev=16777218
23 SCHILY.ino=69051392
18 SCHILY.nlink=2
Text-MultiMarkdown-1.000035/t/Text-MultiMarkdown.mdtest/Amps_and_angles_encoding-advanced.text 000644 € ;Ðâp000024 00000000317 12362521047 033604 0 ustar 00tdoran staff 000000 000000 Test bare block & < > Test