Awesome Open Source
Awesome Open Source

#+TITLE: Orga

#+HTML:

#+BEGIN_QUOTE org-mode with JavaScript #+END_QUOTE

  • What Is It

=Orga= is a flexible org-mode syntax parser. It parses org content into AST ([[https://en.wikipedia.org/wiki/Abstract_syntax_tree][Abstract Syntax Tree 🌲]]), then what you can do with it is limited only by your imagination.

  • Why

The reason why markdown is so popular is that org-mode is kind of trapped inside of emacs (I am joking, sort of. 😉). I want to share the awesomeness with the rest of the world. JavaScript runs everywhere nowadays, so, why not.

  • What You Can Do with it NOW
  • Build a full-featured gatsby blog in seconds, customize it progressively, bits by bits. [[https://www.huxiaoxing.com/building-a-website-with-org-mode-files][Here is the post]].
  • Build a bare-bone gatsby website (for those of you tinkerers), start building your website from raw data.
  • Integrate org-mode into any of your JavaScript projects. E.g. a real-time org-mode -> HTML transformer on your website, like [[https://orga.js.org][this one]].
  • What You Can Do Potentially
  • emacs-less cli for org-mode
  • org-mode desktop app with [[https://www.electronjs.org][electron]], or a [[https://code.visualstudio.com][Visual Studio Code]] extension.
  • org-mode mobile app with [[https://reactnative.dev][react native]].
  • Compatible Eco-systems

Nobody likes to reinvent wheels more than us programmers. But when you see a pretty solid wheel, it's wise to take advantage of it.

** [[https://unifiedjs.com][Unified]]

#+BEGIN_QUOTE ☔️ interface for parsing, inspecting, transforming, and serializing content through syntax trees #+END_QUOTE

The =orga= parser is completely compatible with unified. Which means you get to take advantage of the works of others put into the pipeline. [[https://github.com/retextjs/retext][linting for natural language]], [[https://alexjs.com][correct your writing]], [[https://wooorm.com/write-music/][write music]]? etc.

** [[https://www.gatsbyjs.com][Gatsby]]

#+BEGIN_QUOTE Build blazing fast, modern apps and websites with React #+END_QUOTE

One of the best static website/app generator out there. Trust me; I have tried a lot. Don't be put off by words like =React= or =JavaScript=. Like it or not, they are taking over the web. orga is deeply integrated with gatsby (via [[file:packages/gatsby-transformer-orga/README.md][plugins]] and [[file:packages/gatsby-theme-blorg/README.md][themes]]) to create the tools for building powerful websites without much hassle. Also, We can leverage other plugins people build for markdown-based websites. Which is a much richer eco-system, now it's ours too.

  • How Does It Work
  • [[file:packages/orga/README.org][Learn more about the parser]]
  • [[file:packages/orga/src/types.ts][Learn more about the definition of the AST]]
  • [[file:examples/example/][Learn by example how to transform org-mode syntax into HTML]]
  • [[https://orgapp.github.io/gatsby-starter-blorg/][Learn more about building websites with org files]]
  • Documentation [[https://orga.js.org][Here]].
  • Contribute

After you clone the code:

#+begin_src shell

Bootstrap the Project

yarn run bootstrap

Run Unit Tests

yarn test

Play with the Website

cd www yarn run develop #+end_src

If you find any issue, try to reproduce it on [[https://orga.js.org][this convenient web page]], generate a permalink with the button, and attach it to your GitHub issue.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (70,419) 
typescript (11,661) 
ast (167) 
gatsbyjs (100) 
org-mode (85) 
unified (16)