npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pod6

v0.0.49

Published

Pod6 is an easy-to-use markup language

Downloads

57

Readme

pod6

Pod6 is an easy-to-use markup language.

Usage

yarn add pod6

Export to html:

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

Get parser's tree:

 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

Test Pod6 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 scoped synonyms for longer Pod sequences, (meta) object declarators from the code, or even entire chunks of ambient source. These synonyms can then be inserted into subsequent Pod using the A<>

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 conditions
	laid out by A<VENDOR>, as specified at:

A<TERMS_URLS>

Try pod6 online

You can test pod6 at pod6.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 by Alexandr Zahatski

Copyright

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

For the full text of the license, see the LICENSE 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