Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kentnl/metapod

An evolution of POD
https://github.com/kentnl/metapod

Last synced: 4 days ago
JSON representation

An evolution of POD

Awesome Lists containing this project

README

        

# NAME

MetaPOD - An evolution of POD

# VERSION

version v0.4.1

# What is MetaPOD

## 1. Documentation About Documentation

MetaPOD is a system intended to express the relationships between different documents, and express the importance and context of
other things within the documents, and express how the documents as a whole fit together

## 2. Documentation about Meta

MetaPOD also is a system by which one can express relationships about code, code which has documentation, but how the
documentation is related to other documentation requires you to normally understand the meta-level information within the code
works, so, this system aims to make the "meta level" more visible from the surface, so the meta-level information can be more
easily used to

- Aggregate multiple documents to a single document in line with how the Meta layer works
- Show pretty graphs and things showing how classes are related to each other

# What can MetaPOD do for me

At present, there is not much built on top of the MetaPOD `API`, so it is marginally limited.

And at present, there is not much on `CPAN` with MetaPOD annotations, so any such functionality is presently limited by that.

However, for a taste of what we might see with widespread use of MetaPOD, here is what we can easily determine from the present
`API`, with the existing annotations in within MetaPOD itself:
[`self_structure.png`](http://kentnl.github.io/MetaPOD/media/self_structure.png)



![Graphviz Graph of MetaPOD](http://kentnl.github.io/MetaPOD/media/self_structure.png)

# People who are writing MetaPOD

Eventually, the goal is to have the MetaPOD itself able to be generated via tools during development, so that the meta-layer
information is cemented into the POD itself, before, or during release.

In that vein, I hope to make a `Dist::Zilla` plug-in that does this for you.

In the mean time, the documents you want to be reading are

- [`MetaPOD::Spec`](https://metacpan.org/pod/MetaPOD::Spec) - The general specification for all forms of MetaPOD
- [`MetaPOD::JSON`](https://metacpan.org/pod/MetaPOD::JSON) - Information specific to the `JSON` based implementation of MetaPOD

# People who are wanting to read MetaPOD

- [`MetaPOD::Assembler`](https://metacpan.org/pod/MetaPOD::Assembler) - The tool that translates documents containing `MetaPOD` into
[`MetaPOD::Result` Objects](https://metacpan.org/pod/MetaPOD::Result)

# AUTHOR

Kent Fredric

# COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Kent Fredric .

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.