Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: proofread README.org #186

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 13 additions & 40 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,20 @@
#+layout: './website/src/components/landing'

* 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 🌲]]). And it's written in JavaScript.
=Orga= is a flexible org-mode syntax parser written in JavaScript. It parses org content into an AST ([[https://en.wikipedia.org/wiki/Abstract_syntax_tree][Abstract Syntax Tree]]).

* Why
org-mode is simply a superior format than other more popular ones, but it's mostly trapped inside of emacs. It's so good that it was the #1 reason to learn and use emacs for a lot of people (me included). But it's too good to not share with the rest of the world. If it can run in JavaScript, it can run on anything.

* Compatible Eco-systems
It integrates natively with popular tools.

** [[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. Here is [[https://github.com/orgapp/orgajs/tree/develop/examples/getting-started][an example]].

** [[https://webpack.js.org][Webpack]]
=@orgajs/loader= is a webpack loader that made orga native citizen of webpack ecosystem. Coupled with plugins, it works smoothly. Take a look at [[https://github.com/orgapp/orgajs/tree/develop/examples/webpack][the example project]].

* Compatible Ecosystems
** Unified
The =orga= parser is compliant with the [[https://unifiedjs.com/][unified]] spec, any output can be piped into another function that supports a unified AST as an input.

** [[https://reactjs.org/][React]]
#+begin_quote
A JavaScript library for building user interfaces
#+end_quote
** Webpack
=@orgajs/loader= is Orga's [[https://webpack.js.org][Webpack]] component.

You can render react components directly in your org file. Something like this:
** React
[[https://reactjs.org/][React]] components can be directly rendered in your org files.
#+begin_src org
,* Hello World

Expand All @@ -45,27 +32,13 @@ Let's render *the box*.
,#+end_export
#+end_src

[[https://orga.js.org/playground/?text=*%20Hello%20World%0A%0ALet's%20render%20*the%20box*.%0A%0A%23%2Bbegin_export%20jsx%0A%3Cdiv%20style%3D%7B%7B%0A%20%20backgroundColor%3A%20'gold'%2C%20%0A%20%20padding%3A%20'1em'%2C%0A%20%20border%3A%20'1px%20solid%20black'%2C%0A%20%20boxShadow%3A%20'5px%205px'%0A%7D%7D%3EI%20am%20a%20box%20with%20shadow%3C%2Fdiv%3E%0A%23%2Bend_export%0A][Try it our yourself in the playground]].

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

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

=gatsby-plugin-orga= is a powerful plugin that plug org-mode into gatsby system. This website is built with gatsby and =gatsby-theme-orga-docs= theme. Here is a [[https://github.com/orgapp/orgajs/tree/develop/examples/gatsby][minimal example project]].

** [[https://nextjs.org][Nextjs]]
#+begin_quote
The React Framework
#+end_quote

Because orga is native to webpack, it's fairly simply to intergrate with nextjs. [[https://github.com/orgapp/orgajs/tree/develop/examples/next][Example project]].
[[https://orga.js.org/playground/?text=*%20Hello%20World%0A%0ALet's%20render%20*the%20box*.%0A%0A%23%2Bbegin_export%20jsx%0A%3Cdiv%20style%3D%7B%7B%0A%20%20backgroundColor%3A%20'gold'%2C%20%0A%20%20padding%3A%20'1em'%2C%0A%20%20border%3A%20'1px%20solid%20black'%2C%0A%20%20boxShadow%3A%20'5px%205px'%0A%7D%7D%3EI%20am%20a%20box%20with%20shadow%3C%2Fdiv%3E%0A%23%2Bend_export%0A][Try it out yourself in the playground]].

** Gatsby
=gatsby-plugin-orga= is a powerful plugin that allows the use of org-mode from [[https://www.gatsbyjs.com][Gatsby]]. This website is built with gatsby and the =gatsby-theme-orga-docs= theme.

* Examples
Take a look at the [[https://github.com/orgapp/orgajs/tree/main/examples][collection of examples]] to quickly get started.

* Contribute

See the [[file:CONTRIBUTING.org][contributing file]] for ways to get started.
* Contributing
See the [[file:CONTRIBUTING.org]] for ways to get started.