-
Notifications
You must be signed in to change notification settings - Fork 52
Similar to projectz #15
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
Comments
Whoa. ProjectZ looks cool. More reactions forthcoming as I have time. |
I think the distinction here, is between small discrete module vs all encompassing framework - both good in their own ways |
|
I'd kinda like to bring https://github.com/zeke/standard-markdown into the mix somehow too, though maybe that's too opinionated. |
fwiw the plan is to make projectz have a plugin system - bevry/projectz#85 - the only thing preventing this is established need and developer time |
What I'd love is a stupidly simple system. My idea would be to take
And after the tool has delegated each section of the README to its plugin, it just concatenates them back together. And this is the critical bit: Any The plugin system I think would work using peer dependencies. E.g. you install Then I'd say we just steal the browserify syntax for plugins:
This would not be nearly as general and versatile as Ooh, one final thought: Instead of hard-coding it to README.md, we could make the filename an argument. Then you could make plugins for each separate file:
Hmm. Maybe a better name than |
Hey @bahmutov I see |
Hi everyone, Thanks @wmhilton any day when I am mentioned in one sentence with mafintosh like that is a great day and a reason to toast a beer at lunch 😄 I have no objections to refactoring |
Alright, I'm excited about this and am gonna see if I can pump out a stupidly simple MVP in the next few hours. https://github.com/update-doc/update-doc |
Alright, it's taking longer than I expected because as I thought deeper about how Markdown files are structured I decided to make a hierarchical parser that deals with One of my goals is for a perfect identity transform (you could also call it idempotency I guess?) so that I have 100% confidence that a) re-running the tool won't create extraneous diffs that create noise in the git history and b) that plugins will only touch that one area of the README and everything else stays completely untouched. Because there's nothing more frustrating than adding a tool to automate your life and make everything easier and then finding it subtly interferes with other things. (Maybe changes in the README trigger the build process to update the project's docs website, maybe you're using a separate linter, maybe you have no newline at the end of the README file specifically because it gets concatenated some weird way and bundled into the JS...) I rambled there a bit. Anyway, I'm addressing the problem by brute force, by testing
on every package in the npm registry. My current record is 23,149 readmes before an error, but I'm about to fix that error and then hopefully it'll get through all 400,000 packages in the registry. |
https://github.com/bevry/projectz has been around for a few years now and seems to already accomplish what this project aims to do. It is used on all bevry and docpad repos. Plan is to extend it with a plugin system in the coming months. Happy to improve it as necessary.
The text was updated successfully, but these errors were encountered: