cv-ssg
commandline-ssg
Our great sponsors
cv-ssg | commandline-ssg | |
---|---|---|
11 | 5 | |
0 | 0 | |
- | - | |
0.0 | 0.0 | |
over 2 years ago | over 2 years ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
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.
cv-ssg
-
OSD600 - Adding Continuous Integration (CI)
After forking and cloning Dustin's repo to my local machine, I read through the CONTRIBUTING.md to set up and run the tool to make sure it work correctly.
-
OSD-600 Lab 07
As I'm using Javascript for my project, I have Prettier as the default code formatter.
-
Implement cool features for my static site generator
Fully support for markdown file
-
Rewriting history in Git
Before using classes I will have around 6 files in my helpers folder here
-
OSD600 - Using Git Remote And Git Merge For Collaboration
In lab4, I have another chance to contribute to my classmate's repo. This time I am going to add support for config files to Dustin's repo.
-
Adding new feature for a static site generator written in Javascript
Her issue link Her pull request My repo
-
Working with parallel branches in Git
The 2 issues I was talking about: First one Second one
-
Collaboration and pull requests
As a part of the Open Source Development course that I'm taking, this week I needed to make some contributions to someone else's repo. As I was looking through some projects about CLI for Static Site Generator, Dustin's repo immediately caught my attention. The code is also written in Javascript but Dustin used commander, which was different from me. I thought contributing to his repo would help me learn something new so I filed an issue to add a new feature to his tool.
-
Learnings from release 0.1
Well, it was very new for me to test review someone’s code as I was doing it for the first time, but I found myself comfortable and confident enough to test his work after reading this post in which he explains how to use his tool. The tool documentation being so good, it was easy for me to install, run and test in my local machine. Well, everything worked perfectly and according to the requirements, and that did not surprise me, but the surprising part was it was done so amazingly that it gave a hard time to find 3 issues in the code! The 2 of the 3 issues I found were related to commandline options and the third one was related to version. The options part had an issue that the output on the terminal was not align which I according to me, if improvised can give a better look of using the whole tools. The second issue regarding options was that the tool was using commandline arguments as program variables instead of options. Improving this can make the work easier for the developer and can also make the work more organized. The final issue was related to the tool version. The program was not able to pick the package.json file which gave an error when I tried seeing the version number through the commandline.
-
Process of reviewing my friend's code in Nodejs
MY REPO RITIK's REPO
commandline-ssg
-
Working on another repo
So this week for our lab we did more practice with working with another person's repo. This week I decided to mix it up a bit and work on a SSG in JavaScript, so I made a pull request for Ritik's repository. Our task was to add a new feature that would allow the user to input a JSON config file as an argument, that config file would contain a JSON object with all the arguments the user wanted to use for the HTML output. Such as input file, output location, stylesheet, language, etc.
-
Contributing code to open source repositories
Once I had approval from the owner, the .md ticket was assigned to me and I started off by forking the repository and creating a branch to work on the issue (dhillonks/commandline-ssg:issue-8). The code in the repo was already organized into modules which made it easier for me to expand the parsing functionality. I ended up splitting the parsing method to add a flow for .md files. This ensured that I wasn't affecting any old functionality, leaving the parsing for .txt as is. After some coding, I was able to parse .md files and detect headings h1-h6. I used the first h1 text as the placeholder for . The tool could now also generate paragraphs properly for separated lines which were not headings. Moreover, both
**bold**
and__bold__
markdown syntax forbold
text were supported. Along with these code changes, I also modified theReadme.md
file to document this new functionality.Creating a pull request to get the work accepted into the original repo
After I had thoroughly testing my changes, making sure that the new functionality worked and also ensuring that it didn't break any old functionality, I created a pull request on the original repository.
Link to the pr to commandline-ssg - Click here!
I included a description of the changes that were made, the functionality that was added and sample usage for
.md
files. I also pinged the code owner to review the pull request once it was created. Today, I just found out that my changes were approved and the pull request was merged!Reviewing a pull request to cli-ssg
I also received a pull request to the open source tool I had created earlier.
Link to the pr to my repo - Click here
The pr was also adding functionality to parse
.md
files including the headings, bold, italics, links and strikethrough. It looked good at a first glance and the functionality mostly worked but I ended up finding a few issues after looking closely.
The biggest problem was thatparagraphs were not being generated for non-headings. This was obviously an big problem which I need to highlight.
Also, it rendered bold usingand italics using
which is not the best way to markup emphasis. So I suggested that bold should instead use
and italics should instead use
.
My last suggestion was not a bug, but since the PR was also implementing the syntax support for links, I wanted to make sure that it also supported automatic links i.e. links within angled bracesshould be rendered to an anchor tag.
I highlighted these and requested changes when I added my review to the pr. I look forward to reviewing the pr again once these changes are made. -
Learnings from release 0.1
He also helped me in reviewing and testing my code. I was eager for him creating issues so that I can work on them and improve my tool. His issues did not surprise me as I was sure I might have made a few mistakes during the development. He was able to find 3 issues in my code as well! He found issues of a typo, picking version from the file and program giving errors in special cases. I had a typing mistake in my code where I misspelled ‘successfully’ to ‘successfullly’. The issue can be found here. The second issue was versioning related as he suggested me to pick the program version from package.json which could reduce programmers work manually updating it in every file that uses it. And the last issue he found was input file/folder related in which he entered a file which did not exist. Instead of my program warning the user, it created an empty folder which was never expected. I later worked on all the 3 issues and resolved them ASAP.
-
Process of reviewing my friend's code in Nodejs
At the beginning, I had no trouble reading his code because he's done it pretty clean and understandable. But everyone makes mistakes right, he also did :) He had a few typos in his code that could have been tracked by an extension in Visual Studio if he had used it (Code Spell Tracker) but that's no big deal at all Issue on github can be found here. After a few hours reading, I found another thing that could have been improved which is the program version. I read it online saying that the program version can be pulled off of the package.json so we don't need to hard code the program version everywhere Issue on github can be found here. The third problem that I found is quite important and it can lead to severe errors as he forgot to handle cases when users type in invalid files or folders Issue on github can be found here. Other than those small bugs, I couldn't find any other bugs as he did it very well.
-
commandline-ssg release 0.0.1
GitHub Repo
What are some alternatives?
Docusaurus - Easy to maintain open source documentation websites.
cli-ssg - Tool to generate html web site from txt input
cv-ssg - Static site generator
commandline-ssg
Commander.js - node.js command-line interfaces made easy