Skip to content

Discussion: Project/Repository Ideas #119

@jgarber623

Description

@jgarber623

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 master as a "release" (maybe using the datetime YYYYMMDDHHMM?) 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 CODEOWNERS file (helpful for PR reviewers, etc.)
  • Issue and Pull Request templates (generally following this documentation
  • Ditching the hand-rolled change-log.html files 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!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions