silkie
ssg-factory
Our great sponsors
silkie | ssg-factory | |
---|---|---|
12 | 10 | |
2 | 0 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | over 2 years ago | |
Python | JavaScript | |
MIT License | Apache License 2.0 |
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.
silkie
-
Publish a Python Project in 5 Steps
[metadata] name = silkie version = 1.0.7 ... description = Static site generator with the smoothness of silk long_description = file: README.md long_description_content_type = text/markdown url = https://github.com/oliver-pham/silkie project_urls = Bug Tracker = https://github.com/oliver-pham/silkie/issues classifiers = Programming Language :: Python :: 3 License :: OSI Approved :: MIT License Operating System :: OS Independent [options] packages = silkie python_requires = >=3.9 install_requires = click >= 8.0.0 markdown >= 3.3.0 yattag >= 1.14.0 python-frontmatter >= 1.0.0 [options.entry_points] console_scripts = silkie = silkie.cli:silkie
-
How I Set Up GitHub Actions for a Python Project
Last week, I already set up some automation tests for Silkie, my static site generator (SSG). Instead of running tests manually on each Pull Request (PR), I made an attempt to configure GitHub Actions to automate this Continuous Integration (CI) workflow. Moreover, I also helped my friend, Luke, add a test case to his SSG this week.
-
Lab9 Continuous Integration Pipelines and Test Automation
According to my parter's issue, I create a new test file named. I pull a new PR, the partner's Actions passed it. Before that, I found that many projects have the function of automatic error checking. I wonder how to do it. After lab9, I also created my own GitHub actions. I'm very excited.
-
How I Set Up Testing for My Python Project
After setting up static analysis tools last week, it's time to configure a testing framework for Continuous Integration (CI). There are several options for Silkie, my work-in-progress static site generator, but I decided to give Pytest a try. In this blog, I'll show you how I set up:
-
2 Static Analysis Tools to Enhance Your Productivity
If you are tired of maintaining your coding style, I have good news for you. Fortunately, there are developer tools that can automate and streamline mundane development tasks. In this blog, I'll show you how I integrated 2 static code analysis tools and a package manager for pre-commit hooks into Silke, my work-in-progress static site generator.
-
Prototype: Markdown Frontmatter Support for Silkie
After wandering the world of static site generators (SSG), I came across an eye-catching, well-documented, and developer-friendly one focusing on documentation sites: Docusaurus. After diving a bit deeper into their documentation, I realized they have many out-of-the-box features, which I can try integrating into Silke, an SSG I wrote from scratch.
-
How I Refactored my Code
This week, I noticed that some functions in my static site generator (SSG) were hardcoded with complex logic and "magic values", so I decided to focus on refactoring them. Without cleaning them up, maintaining them would be a tragedy. For instance, there was a function spanning 36 lines of code with 8 if/elif statements. Some of the statements even have nested if/elif statements themselves. You can find the function referenced in this issue.
-
Working with Remote Branches
This week on my Open Source journey, I attempted to add support for JSON formatted configuration files for an open source Static Site Generator (SSG). The owner of the repo, Tengzhen, also contributed the same feature to my SSG, Silkie. However, I made a step forward by testing his code from a tracking branch before merging it.
-
First Issue with Parallel Branches
After establishing Markdown support for my static site generator (SSG), I decided to enable parsing Markdown horizontal rules along with HTML document language support. However, I developed the two features on separate branches this time, so I could switch between the two if I encountered any obstacle. Little did I know the obstacle was awaiting me at the end.
-
3 Things I Learned From Contributing to Open Source
As for Eugene, he also contributed the same feature to Silkie, my SSG. I noticed his code might need to be fixed and refactored, so we worked together on both Slack and GitHub to resolve those issues. Given our time constraint and Eugene's lack of experience with Python, it was a success that we managed to add a new feature without breaking the existing ones.
ssg-factory
-
Adding Continuous Integration with GitHub Actions ðŸ›
After ensuring that the CI was working, I decided to file an issue to Tue's repo and asked if I could help him test his text to HTML conversion. We worked with each other through Slack and GitHub, with myself taking notes of what he wanted to check and what the expected results should be. After struggling with managing and rebase commits when changing the code based on Tue's review, I was able to merge my pull request.
-
Bugs are not allowed in
Afterwards, I pulled the repo to update my local and added more tests to my program as I recently refactored it to test easier. One of the commits passed testing after integrating GitHub Actions.
-
Adding more tools to control code quality
This week, I have a chance implement them into my project as an author to ensure my code stay consistent when different people contribute. The extensions I chose to add to the workflow are:
-
Inspired by Docusaurus
You can take a look at the commit and my Docusaurus demo site
-
Refactoring code
Checkout THE COMMIT
-
A way to review a Pull Request
You can take a look at Roxanne's repo here or mine
-
Initial Pull Requests
This week, I continued working with Git and Github to learn the basics of pull requests, code reviews and more. I collaborated with Tue Nguyen to add functionality to his Static Site Generator: tue-1st-ssg.
-
Adding markdown parsing to SSG
Francesco's SSG My SSG
-
Doing code review
The issues weren't severed, the program still functioned fine, but the HTML files generated had quite a few HTML markdown errors and the help command didn't print enough information. After some discussions, Oliver managed to fixed those issues easily, he also caused a bug but quickly patched it up.
-
My First Baby Steps in Open Source
It didn't take me a lot of time to fix the issue, so I decided, in return for his help, to test his program, which was also a SSG written in Javascript.
What are some alternatives?
Hyde - A Python Static Website Generator
SiteGen - Static Site Generator
Flake8 - flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
GMOT-SSG - My Static Site Generator!
tg-archive - A tool for exporting Telegram group chats into static websites like mailing list archives.
Magic-SSG
cmd-ssg - deliverable 0.1 for OSD600 open source course at seneca
black - The uncompromising Python code formatter
Python-Markdown - A Python implementation of John Gruber’s Markdown with Extension support.
htmd - Write Markdown and Jinja2 templates to create a website
Docusaurus - Easy to maintain open source documentation websites.
pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.