- Notifications
You must be signed in to change notification settings - Fork0
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
zag/js-pod6
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Pod6 is an easy-to-use markup language.
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
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
=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
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>
You can test pod6 atpod6.in site.I'd appreciate it if you'd report any mistakes to the tracker[4]
Desktop version of pod6 editor -Podlite is available also [5].Its free.
js-pod6 was written byAlexandr Zahatski
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.
[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