palpatine
Gatsby
palpatine | Gatsby | |
---|---|---|
17 | 357 | |
16 | 55,016 | |
- | 0.1% | |
10.0 | 9.3 | |
over 1 year ago | 7 days ago | |
C++ | 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.
palpatine
-
December goals
I have been working on building my static site generator palpatine for the last two months. However, I have not had the chance yet to package it up to create my first release yet. When I attempted to package it up a few days ago, I ended up with a lot of errors and bugs that would require lots of time to debug. I plan on sitting with it next week again.
-
Makefiles can be helpful in your CI Workflow
While developing palpatine, I used Makefile to automate the process of building and running the project.
-
The perfect open-sourcer does not exist
One of the personal projects I love developing is palpatine. I blogged about it here and I am constantly adding new features to it! So far it has reached 5 starts and keeps growing with the help of the open-source community.
-
C++ unit testing with Catch2 🧪👨🔬
Writing unit tests for my static site generator - palpatine, taught me an entirely new testing framework called Catch2. For my Hacktoberfest pull request this year I had done a unit testing contribution for a repository and I am currently working on building a microservice for my cloud computing class which requires us to use Jest for JavaScript unit testing. So, I can say that I have some experience with unit testing and continuing to develop my skills in it.
-
Static analysis tooling with CMake
See the directory called cmake in the root directory of palpatine. Having cmake modules within the directory cmake is commonly used, the purpose of doing is to include() custom CMake functions to be used later in the project.
-
Easter eggs in Hacktoberfest 🪺
I have been developing a CLI tool called palpatine for a while now. It is a static site generator (SSG) written in C++ and still under development, ready for the support of the community in GitHub. This Hacktoberfest, I experienced the role of a contributor in open source but in the next Hacktoberfest, I will be participating as a maintainer of palpatine!
-
Unit testing like a Hacker
Ensuring everything is working as intended makes sense in principle, for example, I currently am developing a static site generator in cpp, palpatine, and as I develop it I stress about writing unit tests for it. Soon enough whenever a bug occurs I will be writing unit tests before debugging it. While writing unit tests though, I need to keep in mind that they won't stick around forever, my ssg tool is rapidly evolving; refactoring, adding new features, fixing bugs and shipping new releases day by day. That said, the unit tests will be obsolete soon enough and I might end up spending more time maintaining unit tests than actually developing the tool. Thus my philosophy at writing unit tests is to write them when they are actually needed, maybe when the consequences of breaking the code are high or when they are solving a specific problem.
-
A good code thief
While developing palpatine, I found myself browsing through the internet and getting inspired by how other static site generators (SSG) tackled my problems (i.e. supporting md files, stylesheets, exception handling). During this process, it was obvious to me that JavaScript dominated the field of static site generators, as almost all the options I looked at, were Javascript-based. Some of the interesting ones I found were: Docusaurus, Gatsby, Jekyll and Eleventy. They all have their unique features, competing with all other SSGs, and are constantly being maintained by the community in GitHub. Docusaurus has a showcase page where you can see how other serious projects are using their tool, such as Jest website built with Docusaurus, it is inspiring when you see their pages professionally done. So I initially read their documentation on how to get started, very straightforward, and within minutes I was able to set up my docusaurus site! Key features to note are: easy to use, beautiful themes, precise documentation and customizable.
-
palpatine on time machine
I ended up with new file FileHandler.h with the base class Handler and the classes MarkdownHandler , TextHandler which inherits the base class. They have virtual functions that are overridden in the derived classes, so that I can use the concept of polymorphism respectively.
-
Implementing Difficult Features While Learning New Things in C++
To add a new feature to palpatine which is an awesome static site generator written in C++ by Batuhan, I started by filing an issue. While I worked on his repo for adding this new feature, he worked on mine to add the same feature. Here are the detailed instructions for this week's lab. Batuhan also worked on my repo for adding the –config feature for my static site generator, rwar, written in Python. These are awesome repos to check out!
Gatsby
-
Building static websites
The first time I started building static websites is when I discovered Gatsby. I built several projects using Gatsby and hosted it on Netlify free tier. It felt like a really robust architecture and I loved that it was free.
-
Gatsby tutorial: Build a static site with a headless CMS
A Gatsby site uses Gatsby, which leverages React and GraphQL to create fast and optimized web experiences. Gatsby is often used for building static websites, progressive web apps (PWAs), and even full-blown dynamic web applications.
-
Building a High-Performance Website with Next.js and WordPress
While Next.js is a powerful framework for building server-rendered React applications, it's not the only option for developers looking to create high-performance websites. One notable alternative is Gatsby, a static site generator that leverages React and GraphQL.
-
The Current State of React Server Components: A Guide for the Perplexed
The other piece of important information to acknowledge here is that when we say RSCs need a framework, “framework” effectively just means “Next.js.” There are some smaller frameworks (like Waku) that support RSCs. There are also some larger and more established frameworks (like Redwood) that have plans to support RSCs or (like Gatsby) only support RSCs in beta. We will likely see this change once we get React 19 and RSCs are part of the Stable version. However, for now, Next.js is currently the only framework recommended in the official React docs that supports server components.
-
A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev
GatsbyjsCMS - Gatsby is the fast and flexible framework that makes building websites with any CMS, API, or database fun again. Build and deploy headless websites that drive more traffic, convert better, and earn more revenue!
- The gatsby build command will not complete or terminate
-
ReactJS Good Practices
GatsbyJS
-
Abstract Syntax Trees and Practical Applications in JavaScript
Babel plugins are everywhere. From being used to remove unwanted exports from files in Gatsby to being used to disallow users from doing re-exports in Nextjs.
-
How To Choose the Best Static Site Generator and Deploy it to Kinsta for Free
In terms of GitHub stars, SSGs like Next.js, Hugo, Gatsby, Docusaurus, Nuxt.js, and Jekyll top the list. Some popular SSGs even host conferences and workshops, providing resources and networking opportunities for those looking to explore more advanced topics in depth.
-
Finding the Best React CMS: A Comprehensive Guide
Flexibility : Developers have complete control over the frontend so they can use their preferred tools and frameworks like React, Next.js, Gatsby, or Remix.
What are some alternatives?
vscode-pets - Adds playful pets 🦀🐱🐶 in your VS Code window
Svelte - Cybernetically enhanced web apps
cve-bin-tool - The CVE Binary Tool helps you determine if your system includes known vulnerabilities. You can scan binaries for over 200 common, vulnerable components (openssl, libpng, libxml2, expat and others), or if you know the components used, you can get a list of known vulnerabilities associated with an SBOM or a list of components and versions.
astro - The web framework for content-driven websites. ⭐️ Star to support our work!
rwar - rwar - A simple bare-bones Static Site Generator (SSG) with minimal features. An SSG allows a user to generate a complete HTML website from raw data and files, without having to write out the HTML. Rwar is a command line tool that takes .txt files as input and generates .html files as output.
SvelteKit - web development, streamlined
termcolor - Termcolor is a header-only C++ library for printing colored messages to the terminal. Written just for fun with a help of the Force.
Express - Fast, unopinionated, minimalist web framework for node.
argparse - Argument Parser for Modern C++
eleventy 🕚⚡️ - A simpler site generator. Transforms a directory of templates (of varying types) into HTML.
json_test_data - Test data for nlohmann/json
Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core