DEV Community

Cover image for Podlite v1.0 released: A lightweight block-oriented markup language for organizing knowledge
Alexandr Zahatski
Alexandr Zahatski

Posted on • Originally published at podlite.org

Podlite v1.0 released: A lightweight block-oriented markup language for organizing knowledge

What is Podlite?

Podlite, a lightweight block-oriented markup language that's all about flexibility and ease of use.

  • Unbound by any specific domain, programming language, or concept, Podlite stands out as a universal markup language

  • In addition, the support for Markdown markup as a standard block adds convenience and allows for the use of familiar syntax for text formatting

  • It's perfect for documentation, educational materials, blogging, and much more for organizing knowledge.

  • One of the key features of Podlite is its extensibility. This allows for defining unique and domain-specific blocks and expanding the language's functionality according to the requirements of your project.

  • The Podlite specification is published under the Artistic license 2.0.

Key Features of Podlite

  • Block-based structure: At the core of Podlite is the concept of "blocks," which are the fundamental units of any document. These blocks can have defined attributes and support the inclusion of rich content.

  • Rich linking capabilities: Podlite allows blocks, terms, definitions to be linked with various types of relationships, enhancing the interconnectivity and navigability of your documents.

  • Support for formulas and Markdown: Whether you need to insert complex mathematical formulas or prefer the simplicity of Markdown, Podlite has you covered. It seamlessly integrates both, giving you the flexibility to choose how you want to write.

  • Extensible and customizable: Extend Podlite with custom blocks and inline codes, tailoring the language to meet your specific needs.

Podlite v1.0 Release Notes

Podlite has introduced a range of new features designed to enhance the flexibility and usability of the markup language:

Customization and Extensibility

  • Refactoring of Custom blocks: Enhanced customization through refactored named custom blocks.

  • Inline Markup extension: M<> now extends inline markup features, allowing for more expressive text formatting.

Processing and data handling

  • Markdown support: The `=markdown block is now a standard block. Integration of a new markdown mode for the parser.

  • MIME type specification: Added :mime-type attribute for =include and =data blocks, facilitating better handling of diverse data types.

  • Data schema introduction: Implemented data: schema for use in =picture and =table blocks, simplifying data embedding.

  • Embedding binary data: Support for embedding binary data directly into documents with :filename and :encoding attributes in =data blocks.

  • CSV tables: Capability to render tables directly from CSV files with the enhanced =table block.

Content Structuring and Navigation

  • Selectors: Introduced selectors for dynamic content interaction and manipulation.

  • Comprehensive TOC: Enhanced =toc block for generating detailed tables of contents.

  • Including external content: New =include block for incorporating external files and documents seamlessly.

  • Advanced table formatting: New =row and =cell blocks with :header, :rowspan, and :colspan attributes for intricate table designs.

  • Additional attributes for linking: Addition of :id, :caption, and :lang attributes to enrich document metadata and accessibility.

  • Contextual backlinks: W<> for creating contextual backlinks, enhancing document navigation and reference capabilities.

  • Foldable content: New :folded attribute to toggle visibility of content, and :folded-levels for nested visibility control in table of contents (TOC) blocks.

Document Presentation Enhancements

  • Notification blocks: Introduced notification blocks with a :notify attribute, improving interactivity within documents.

  • Task lists: Introduction of task lists with the =item block and a :checked attribute to manage to-do items effectively.

  • Mistake marking: Introduced O<> for highlighting and marking mistakes, useful in educational and review settings.

  • Text positioning: New attributes J<> for justifying and H<> for horizontal positioning of text.

  • Emojis: Added support for emojis with E<>, enriching the expressiveness of documents.

  • Picture insertions: New features in the =picture block and P<> for improved image handling.

  • Mathematical formulas: Enhanced support for complex mathematical formulas with =formula and F<>.

Deprecated/removed

With the introduction of new functionalities, certain features have been deprecated or removed to streamline Podlite:

  • P<toc:> due to =toc block,

  • P<man:>P<doc:> due to =include block,

  • :margin attribute, =encoding directive, Declarator block been removed due to redundancy.

  • Contextual aliases, the =finish directive, and markers in comments, P<> - placement links, :formatted attribute, :like attribute have been removed due to redundancy and enhancements in other areas.

Summary of Release

This release of Podlite introduces significant enhancements aimed at improving the flexibility, customization, and user interaction of the markup language. With the addition of new blocks, attributes, and support for rich media, Podlite is better equipped to handle a variety of documentation needs.

Concurrently, the deprecation and removal of certain features have simplified the toolset, reducing overlap and enhancing user experience. These changes reflect a commitment to the continuous improvement of Podlite, ensuring it remains a versatile and powerful tool for content creators.

Feedback and Contributions

Feedback is encouraged and can be provided through Github Discussions. This input is crucial for the ongoing development and enhancement of Podlite.

Thank You!

Find out more:

Stay tuned for more updates and happy documenting!

Top comments (0)