DocOps / DocOps/openstyles

Components of this project

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
7
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Here are what I see as the necessary components of the Open Styles project.

**The Basics**

1. a source format/structure
2. an entry method
3. a parser for rendering output into HTML, PDF, Vale YAML, etc

For the **source format**, I am proposing YAML files that can be concatenated to make up a full listing. This means any tooling must be able to assemble the complete data object out of 1+ files. I hope the advantages of a flat-file database over an RDB are clear, as they enable source/version control and forking. My recommended "schema" is [here](https://github.com/DocOps/openstyles/blob/main/opensgy-schema.yml).

For the **entry method**, we can obviously just edit YAML files, but we might consider repurposing a web interface like NetlifyCMS or another headless CMS that can be schemed to generate entry forms for YAML objects. That doesn't feel like a core part of the project, but it could be if people find the data format too overwhelming.

Finally, we will need to be able to generate new source files and rendered artifacts alike. My preference here is to go via AsciiDoc for HTML and PDF, so our templates can be used to build both HTML and PDF. We also need to parse rules into Vale or other linter formats. My go-to here is Liquid, which I've had some success teaching. But I also think we just need exemplary tooling, and this is simple enough that folks will create rendering systems through their preferred environments.

**Nice-to-haves/Stretch Goals**

4. Front-end tools that recognize terms and present popovers, [as I've done with my Jekyll theme's glossary](https://asciidocsy.netlify.app/docs/style/asciidoc/semantics). This is done in rudimentary jQuery, but it would be great to make it available under other frameworks or even just clean it up really good.

5. Packaging (and maybe a renderer) that will excite front-end developers, which probably means NodeJS/npm on the back end and something modern like React or Vue on the front end.

What am I missing?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.