Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Pod6 is an easy-to-use markup language. It can be used for writing language documentation, for documenting programs and modules, as well as for other types of document composition

License

NotificationsYou must be signed in to change notification settings

zag/js-pod6

Repository files navigation

Pod6 is an easy-to-use markup language.

Usage

yarn add pod6

Export tohtml:

var toHtml = require('pod6').toHtmltoHtml().run(`=begin pod This is an ordinary paragraph=end pod`)

Get parser'stree:

 var parse = require('pod6').parse var tree =  parse(`=begin pod This is an ordinary paragraph    While this is not    This is a code block        =head1 Mumble mumble        Suprisingly, this is not a code block        (with fancy indentation too)But this is just a text. Again=end pod`)

Convert pod6 from cli:

npx -p pod6 pod6html < example.pod6 > example.html

TestPod6 online at https://pod6.in

Pod configuration

Example of configuration information for the block:

=begin pod=for DESCRIPTION :title<presentation template>=                :author<John Brown> :pubdate(2011)=end pod

This information is used in different ways by different types of blocks,but is always specified using Raku-ish option pairs [2]. That is, any of:

Value is...       Specify with...           Or with...            Or with...===============   =======================   =================   ===========List              :key[$e1,$e2,...]         :key($e1,$e2,...)List              :key<1 2 3>                :key[1,2,3]       key => [1,2,3]Hash              :key{$k1=>$v1,$k2=>$v2}Boolean (true)    :key                      :key(True)Boolean (false)   :!key                     :key(False)String            :key<str>                 :key('str')         :key("str")Number            :key(42)                  :key(2.3)

For example:

=begin table :k1(2.3) :k2[-2.3] :k3[+1e4] :k4(3.1e+04) :k5[-3.1E-04]foo=end table

or

=begin table :k1{a => 1, 2 => 'b', c => True, d => 2.3, e => False}foo=end table

Tables

=begin table        The Shoveller   Eddie Stevens     King Arthur's singing shovel        Blue Raja       Geoffrey Smith    Master of cutlery        Mr Furious      Roy Orson         Ticking time bomb of fury        The Bowler      Carol Pinnsler    Haunted bowling ball=end table
=table    Constants           1    Variables           10    Subroutines         33    Everything else     57
=for table    mouse    | mice    horse    | horses    elephant | elephants
=table    Animal | Legs |    Eats    =======================    Zebra  +   4  + Cookies    Human  +   2  +   Pizza    Shark  +   0  +    Fish
=table        Superhero     | Secret          |                      | Identity        | Superpower        ==============|=================|================================        The Shoveller | Eddie Stevens   | King Arthur's singing shovel
=begin table :caption('Super table')                        Secret        Superhero       Identity          Superpower        =============   ===============   ===================        The Shoveller   Eddie Stevens     King Arthur's                                          singing shovel        Blue Raja       Geoffrey Smith    Master of cutlery        Mr Furious      Roy Orson         Ticking time bomb                                          of fury        The Bowler      Carol Pinnsler    Haunted bowling ball=end table
=table    X | O |   ---+---+---      | X | O   ---+---+---      |   | X
=table    X   O   ===========        X   O   ===========            X

Macro aliases

The=alias directive provides a way to define lexically scopedsynonyms for longer Pod sequences, (meta) object declarators from thecode, or even entire chunks of ambient source. These synonyms can thenbe inserted into subsequent Pod using theA<>

For example:

=alias PROGNAME    Earl Irradiatem Evermore=alias VENDOR      4D Kingdoms=alias TERMS_URLS  =item L<http://www.4dk.com/eie>=                  =item L<http://www.4dk.co.uk/eie.io/>=                  =item L<http://www.fordecay.ch/canttouchthis>The use of A<PROGNAME> is subject to the terms and conditionslaid out by A<VENDOR>, as specified at:A<TERMS_URLS>

Try pod6 online

You can test pod6 atpod6.in site.I'd appreciate it if you'd report any mistakes to the tracker[4]

Desktop version

Desktop version of pod6 editor -Podlite is available also [5].Its free.

Authors

js-pod6 was written byAlexandr Zahatski

Copyright

Copyright (C) 2019-2023Alexandr Zahatski.Free use of this software is granted under the terms of the MIT License.

For the full text of the license, see theLICENSE file.

Links

[1] Specification of pod6:Synopsis 26

[2] Synopsis 2:Bits and Pieces

[3] Pod6 online editor:pod6 online editor

[4] pod6 issues tracker:https://github.com/zag/js-pod6/issues

[5] Free and open-sourced desktop pod6 editor:Podlite

About

Pod6 is an easy-to-use markup language. It can be used for writing language documentation, for documenting programs and modules, as well as for other types of document composition

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp