-
Notifications
You must be signed in to change notification settings - Fork 20
Description
Hello, all!
Spurned on by @aimee-gm's #118 and the ensuing conversation in #microformats chat, I'd like to open this discussion with some thoughts on we might improve this project and repo for its users.
At a high level, this project provides a set of input (HTML) and output (JSON) files for microformats parser developers to test their projects against. The core focus of development on this project should be in improving the quality, breadth, and depth of those inputs and outputs. They should reflect the consensus of the community and its documentation (the wiki, mostly).
My strongest opinion is that anything beyond those inputs and outputs is superfluous to the primary function of this project and should be removed from the code. This would include the Node.js-specific code, CSS, etc.
Now, that's a very strong opinion, so I'll propose a few alternatives as well. 😄
Continuous Integration
Configuring continuous integration has been brought up before (#88) and came up again in chat. In my mind, we'd use CI for a few things:
- Formatting conformance (linting of HTML and JSON)
- Tagging a commit to
masteras a "release" (maybe using the datetimeYYYYMMDDHHMM?) and pushing that tag to GitHub
The latter is more useful if we create language-specific packages in this repo. @aimie-gm noted this in #microformats chat:
I would only suggest going the route of maintaining packages in the various package managers if they were automatically published in ci
Which brings us to…
Language-Specific Packages
We could use this repository to build and distribute language-specific packages (Node.js packages, Ruby gems, Python packages, PHP… things ). That'd get us into mono-repo territory and would introduce some organizational challenges, etc. But… it's possible.
Google does this with their Protocol Buffers repo. It's not impossible, but would def. add some overhead. A CODEOWNERS file would come in super handy in this case. We'd then use CI to generate, tag, and push those various packages to their distribution sites.
Meta
A grab bag of things we could add to this project:
- A
CODEOWNERSfile (helpful for PR reviewers, etc.) - Issue and Pull Request templates (generally following this documentation
- Ditching the hand-rolled
change-log.htmlfiles in favor of relying on the Git commit history (which truthfully does the exact same thing…) - More obviously direct people to other microformats repositories that discuss the spec, parser updates, etc. and to IndieWeb chat,
- Document the process by which change requests are reviewed and merged
…that's what I've got right now. I'm excited to hear your feedback. Thanks for reading!