Skip to content

meta-repo for contributions to the unnifedjs community

License

Notifications You must be signed in to change notification settings

federalies/unified-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unified-projects

meta-repo for contributions to the unnifedjs community

Projects:

Remark plugins

Rehype plugins

Unist-utils

  • unist-utill-slice
    • chops up a unist node/tree into non-overlapping slices based on designated separator nodes
  • unist-util-chunk
    • process a unist node/tree into possibly overlapping segments based on designated start/stop nodes

Utils for Plugin Developers

  • vfile-create-effects
    • util that allows plugin authors to emit new data that models side effects that still needing to be processed
  • vfile-handle-effects
    • a batteries inluded plugin that installs and uses all the following default vfile-handle-effects-* functions.
  • vfile-handle-effects-fs
    • util that allows plugin authors to emit new data that models side effects that still needing to be processed - where the data represents files to be written to the fs.
  • vfile-handle-effects-http
    • util that allows plugin authors to emit new data that models side effects that still needing to be processed - where the data is an http call needing to be requested.
  • vfile-handle-effects-socket
    • util that allows plugin authors to emit new data that models side effects that still needing to be processed - where the data is a message to drop on a socket/websocket/zeromq connection etc. [FUTURE]
  • vfile-handle-effects-dom
    • util that allows plugin authors to emit new data that models side effects that still needing to be processed - where the effect is a virtual-DOM tree needing to be applied at some tree location. [FUTURE]
  • vfile-subscriptions
    • [FUTURE Project] vfile effects could then be used as inputs for other plugins and effects

Templast Ecosystem (All work in progress)

Handlebars Support

mustache Support

doT Support

apacheVTL Support

js Tempalte Literals

EJS Support

EJS Support

JADE Support

Roadmap

  • type-system guarentees
  • help needed for jade
  • help needed for pug
  • subset of EJS
  • subset of ERB
  • explore supporting some subset of "PHP templates"

Usage

npm start will download a ton of other git repos into the packages folder. Where each of the packages have their own repo and lifecycle.

Then use the npx meta command to manage all those sub-repos in some type of lerna-overlord-style

PIPEDREAMS

  • to-and-fro-Apache-Velocity-Templates

    • Parse VTL to unist
    • Parse mustache to unist
    • Parse mustache to unist
    • VTL to mustache ?? https://mustache.github.io/mustache.5.html?
      • hash lookups
      • hash context windows - and subsequent attribute lookups
      • comments
      • partials
    • VTL to handlebars
      • hash lookups
      • hash context windows - and subsequent attribute lookups
      • HTML escaping
      • block expressions
      • consider it a foreach
        • Sets context to a list and allows attributes to be read for each item
      • nested attr.path
      • context stack can be traversed upward
      • comments
      • helpers can be registered
        • built in #with and #each
      • partials
    • TemplateAST
      • Mustache
      • Handlebars
      • Apache VTL
      • JS Template Strings
      • doT
      • EJS
      • Pug
      • Marko?
      • Jade
    • VTL to MDX?
    • mustache to VTL
    • handlebars to VTL
  • Babel7Ast-to-mdxast

  • TSast-to-mdxast

  • MDXAST

    • MDAST +

    • JSX -> script

    • COMMENT

    • Import

    • Export

  • MDXHAST

    • HAST + type: element tagName: div, span, form, input, properties: {} children:[] ƒ h(tagType, {props}, [ children ] )

    • imports

    • exports

    • inlineCode

means that an .mdx file is really a fancy JS file a certain type of JS file that has some convention allowing it to be rendered when invoked with proper context

About

meta-repo for contributions to the unnifedjs community

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published