diff2html
edna
diff2html | edna | |
---|---|---|
3 | 1 | |
2 | 5 | |
- | - | |
0.0 | 9.8 | |
almost 3 years ago | 16 days ago | |
Shell | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
diff2html
-
Scripts should be written using the project main language
The performance concerns might creep up for scripts and tricky to figure out the issue if you are not internal abstractions.
Example, https://github.com/berry-thawson/diff2html
-
Learn GNU Awk with hundreds of examples and exercises
confession: plug
I once wrote a diff2html script ported from bash and it was much, much faster (for obvious reasons). And awk makes it much more readable than bash script. And I could learn the language, debug, understand bugs and fix them in a night.
https://github.com/berry-thawson/diff2html/blob/master/diff2...
-
The Awk State Machine Parser Pattern (2018)
https://github.com/berry-thawson/diff2html
This is first attempt in writing awk script. Would like to know how readable it is.
edna
-
Scripts should be written using the project main language
I do that in my Go projects.
In fact my "scripts" are actually part of the main executable. I use cmd-line args to invoke the needed functionality.
For example, in the past I would have written a Python script to deploy my Go binary to a server, possibly using tools like Fabric that provide functionality to make it easier.
Today I add `-deploy-hetzner` cmd-line to my Go binary and it does the work. It builds itself, copies the binary to the server, kills the old instances, configures caddy if needed, starts newly uploaded instance etc.
For example my deploy.go is 409 lines of code, which is not that bad. You can see exactly how this works: https://github.com/kjk/edna/blob/main/server/deploy.go
I standardized on how I deploy things so deploy.go is mostly re-used among several projects.
Writing this code isn't much more difficult that what I used to write in Python.
This kind of code can be shorter because I don't have to handle errors, I just panic if something goes wrong.
I like that I don't have to switch between different languages and that I have full control and understanding over what happens. Fabric used to be a bit of a black box.
I even wrote an article about this idea: https://blog.kowalczyk.info/article/4b1f9201181340099b698246...
What are some alternatives?
md2html.awk