109 lines
3.0 KiB
Markdown
109 lines
3.0 KiB
Markdown
# Content & Expression Engine based on Liquid (JS Implementation)
|
|
|
|
## Installation
|
|
|
|
```sh
|
|
# local
|
|
npm install @plastichub/osrl
|
|
|
|
#global
|
|
npm -g @plastichub/osrl
|
|
|
|
# CLI help
|
|
osrl compile --help
|
|
|
|
```
|
|
|
|
### References
|
|
|
|
- [LiquidJS Docs](https://liquidjs.com/api/classes/liquid_.liquid.html)
|
|
- [Liquid Docs - Shopify](https://shopify.github.io/liquid/)
|
|
|
|
### Usage
|
|
|
|
Please find examples in ['./examples](./examples)
|
|
|
|
## Todos
|
|
|
|
- [ ] Filter/Tags
|
|
- [x] Datasources
|
|
- [x] Google Sheet
|
|
- [x] Local Sheet
|
|
- see [exceljs](https://github.com/exceljs/exceljs)
|
|
- [x] CSV
|
|
- [x] selectors
|
|
- [ ] Iterators (scopes)
|
|
- [ ] Enums
|
|
- [ ] CSS Parser
|
|
- [ ] Files / Refs / Variables
|
|
- [ ] PDF tables, see [site:tabula](https://github.com/tabulapdf/tabula)
|
|
- [ ] JS
|
|
- [x] Bind Datasources in local scope
|
|
- [x] Default bootstrap
|
|
- [x] Plastichub
|
|
- [-] OSR
|
|
- [x] Default functions: unit conv, string manipulation
|
|
- [x] User Plugins
|
|
- [x] Refine Engine for scoping
|
|
- [ ] RT Security
|
|
- Options
|
|
- [Secure VM (native)](https://github.com/laverdet/isolated-vm)
|
|
- [VM2](https://github.com/patriksimek/vm2#debugging-a-sandboxed-code)
|
|
- [ ] fix fucking globals
|
|
- [ ] run plugins in cached vm.Script contexts
|
|
- [-] Multi Env
|
|
- [x] support multi env in profiles
|
|
- [x] Settings / Profile
|
|
- [-] should read local profil per consumed directory within ```include``` calls
|
|
- [-] Instrumentation
|
|
- add support for clinic.js | clinic.doctor
|
|
- [ ] Platform / Services
|
|
- [x] Discourse - API (related, category feed, custom search, topic acc)
|
|
- [-] Magento - API (related, components, configurations, options)
|
|
- [-] Media Wiki
|
|
- [-] CSCart API
|
|
- [ ] Documentation
|
|
- [ ] Auto - JS Bootstrap docs
|
|
- [ ] Generate documented tests
|
|
- [ ] Watcher
|
|
- [x] OSRL commons (plugins)
|
|
- [x] Partials cache
|
|
- [x] osr-cache
|
|
- [-] VFS & RQL
|
|
- [-] OSR-Search
|
|
- [-] consume/provide elastic-search queries
|
|
- [ ] PDF mining : https://pypi.org/project/pdfminer/
|
|
- [x] basics
|
|
- [x] new include tag 'emerge' based on the original 'include'
|
|
- [x] context/implicit: evaluate conditional statement as variable
|
|
- [-] implicit: forward output format (New: AST/partials), gives format agnostic results
|
|
- [-] explicit: cache expiration (=>osr-tasks)
|
|
- [ ] track i/o access in context meta db
|
|
- [ ] i/o: re-impl. old vfs/service API
|
|
- [-] output masking via profile json(-get) paths
|
|
- [-] support pandoc for input/output pre/post processing
|
|
- [x] OSR-i18n
|
|
- [x] tags
|
|
- [ ] typings
|
|
- [ ] partials => store
|
|
- [ ] OSR-AI
|
|
- [x] prompt tags
|
|
- [ ] Doxygen
|
|
- [ ] Binaries
|
|
- [ ] Pipes
|
|
- [ ] Watcher
|
|
- [ ] watch glob
|
|
- [ ] Targets
|
|
- [ ] Logging
|
|
- [ ] Typescript
|
|
|
|
## References
|
|
|
|
- https://docs.asciidoctor.org/
|
|
- https://github.com/asciidoctor/asciidoctor.js
|
|
- [MDAST & Co](https://github.com/syntax-tree/mdast-util-to-markdown)
|
|
- https://www.npmjs.com/package/link-preview-js
|
|
- https://github.com/microlinkhq/metascraper
|
|
- https://github.com/arcetros/scrape-recipe-schema/blob/main/src/index.ts
|
|
- https://github.com/digitalbazaar/jsonld.js
|