![Introduction to Common Blog Frameworks](https://e0a3423.webp.li/justgoidea/uPic/2023/09/08/Introduction to Common Blog Frameworks.png)
A Brief History of Blog Development in China#
December 1997: American Jorn Barger first used the term "Weblog," marking the birth of blogs.
1999: Peter Merholz first used the abbreviation "blog."
2001: In early 2001, a translated article from "Industry Standard" magazine appeared in the domestic magazine "Digital Wealth," where Nicholas Carr's "Plastic Media" served as the basic enlightenment for blogs in China. On September 11 of the same year, the terrorist attack on the U.S. World Trade Center made blogs an important source of information and personal experiences during disasters. From then on, blogs officially entered the mainstream view of American society.
July 2002: The Chinese name for "blog" was officially translated by Fang Xingdong and Wang Junxiu as "博客." In August of the same year, the website "Blog China" was launched, marking the comprehensive enlightenment and promotion of blogs in China.
2003: In March, the Nankai University Lily Blog System was launched, and the University of Science and Technology of China Blog System entered the testing phase, leading to rapid development of blogs in universities. Starting June 19, the online diary published by the Chinese blog network user "Muzi Mei" brought huge traffic to Chinese blog sites. That year, "博客" became a popular keyword in online search engines.
2004: The year of blog commercialization, blogs began to become a common phenomenon on the internet.
2005: Sina Blog was launched. In the same year, the number of blog users in China reached 1 million.
2006: The number of blog users in China reached 5 million.
2007: Microblogs represented by "Hai Nei," "Fan Fu," "Ji Wai," and "Zuo Sha" emerged and gained popularity.
From 2009 to present: In September, Sina Weibo was launched, marking the beginning of the independent blog era.
Why Write a Blog#
Using a blog to record your valuable thoughts brings many benefits without any obvious downsides.
Many people have discussed the topic of "why to write a blog," so I won't elaborate further.
A representative article is Mr. Liu Weipeng's “Why You Should (Start Now) Write a Blog”, which introduces the benefits of blogging, including sharing one's thoughts and summaries, as well as improving one's ideas through communication and reflection. The article also mentions that issues lingering in the subconscious for a long time can lead to deeper thinking and more perspectives, making blogging a great way to think and learn.
Choosing a Blog Framework#
Before starting blog writing, an important decision is to choose the appropriate blog framework for independent deployment. Blog frameworks are mainly divided into two types: dynamic blogs and static blogs. Additionally, if you do not wish to deploy independently, there are some all-in-one blogging platforms to choose from.
Dynamic Blogs#
Dynamic blogs are the most common form of blogging. Dynamic blog systems like WordPress, Typecho, and Ghost dynamically generate web pages on the server, meaning that every time a user visits the blog, the content is generated dynamically and then sent to the browser.
Advantages:
- Ease of Use: Dynamic blog systems typically provide user-friendly interfaces, allowing you to publish and edit content conveniently without programming knowledge.
- Rich Features: Dynamic blog systems offer a wealth of plugins and extensions, making it easy to add new features such as social media sharing, comment systems, analytics tools, etc.
- Flexibility: Dynamic blog systems can be easily customized and modified to meet different needs.
Disadvantages:
- Speed: Since each page is generated in real-time, loading speeds may be slightly slower.
- Database Requirement: Dynamic blog systems require a database to store and retrieve content, which may increase configuration and management complexity.
- Security Issues: Due to their complexity, dynamic blog systems may be more susceptible to security attacks.
![](https://e0a3423.webp.li/justgoidea/uPic/2023/09/08/Dynamic Blog Framework.png)
WordPress is an open-source content management system (CMS) developed in PHP. It was initially a tool for creating blogs but has since evolved into a powerful platform for creating various types of websites.
- Its main features include:
- Usability: WordPress provides a user-friendly interface that allows you to easily publish and manage your content without any coding skills.
- Highly Customizable: WordPress is highly customizable, with thousands of free and paid themes available for you to choose from, and you can also write or modify your own themes.
- Plugin Ecosystem: WordPress has a vast plugin ecosystem, with over 50,000 available plugins to extend functionality, such as SEO, social media sharing, e-commerce, etc.
- Community Support: WordPress has a large and active community where users can find plugins, themes, and help with any questions about using WordPress.
- SEO Friendly: WordPress offers many built-in SEO tools and a wealth of SEO plugins to help your site rank higher in search engines.
- Example Blog: hyuanverse
Typecho is an open-source lightweight blogging system written in PHP and relying on a MySQL database. Its goal is to allow users to publish their opinions easily, with a simple yet extensible functionality.
- Its main features include:
- Simple to Use: Typecho seems to be designed for "simplicity," with quick and easy installation, a clear interface, and intuitive usage.
- Extreme Performance: Typecho is lightweight and fast, achieving near-instantaneous speed in a PHP 5.1+ environment.
- Highly Extensible: Typecho has very high extensibility, allowing you to add new features by writing plugins and customizing themes.
- Markdown Support: Typecho supports Markdown syntax, allowing you to write articles more easily.
- Multi-User System: Typecho supports creating multiple users to meet team collaboration needs.
- Easy Backup: You can export your articles and comments as XML files for easy website migration.
- Example Blog: Friend C
Ghost is an open-source blogging platform written in Node.js, designed for simplicity and focused on providing a clean writing and reading experience, while also offering customization options such as theme design and plugin extensions.
- Its main features include:
- Markdown Support: Ghost supports Markdown syntax, allowing for a more concise writing style.
- Clean Design: Ghost has a simple interface that focuses on content, providing authors and readers with a distraction-free reading and writing experience.
- High Performance: Ghost is written in Node.js, which provides excellent performance.
- Theme Customization: Ghost supports custom themes, allowing users to create new themes based on their needs or use themes developed by others.
- Built-in SEO: Ghost integrates several SEO tools internally to optimize its SEO performance.
- Integrated Publishing Tools: Ghost allows you to publish directly from the Ghost blog to various platforms, such as Email, AMP, Facebook Instant Articles, etc.
- Example Blog: Dailyio
Static Blogs#
Static blogs, such as Jekyll, Hexo, or Hugo, generate static HTML files directly, which can be deployed on any web server.
Advantages:
- Fast Speed: Since the pages are pre-generated, they load quickly, providing a better user experience.
- More Secure: Static blogs do not rely on databases and do not require server-side dynamic processing, making them more secure.
- Low Maintenance Cost: Static blogs generate static files that can be deployed on any service supporting HTTP, requiring no complex maintenance or updates.
Disadvantages:
- Limited Functionality: Static blogs have relatively simple functionality; if more dynamic features (like user comments) are needed, additional tools and services are required.
- Complex Updates: Every time content is updated, the website needs to be regenerated and redeployed, which may be inconvenient for frequently updated sites.
- Requires Some Technical Knowledge: Creating and managing static blogs typically requires some programming and command-line knowledge.
![](https://e0a3423.webp.li/justgoidea/uPic/2023/09/08/Static Blog Framework.png)
Jekyll is an open-source static site generator developed in Ruby, seamlessly integrated with GitHub Pages, making it ideal for building blogs and personal pages.
- Its main features include:
- Simple: Jekyll allows you to write content using Markdown or Textile and the Liquid template engine, then generates a complete static website that can be easily hosted on any server.
- Static: Jekyll converts Markdown (or other formats) text files into static HTML files. This means you can host your project page, blog, or website for free using GitHub Pages.
- Blog Awareness: Jekyll is designed for blogging, making it easy to create and manage posts. For example, it can automatically sort your posts by date.
- Free Hosting: If you use GitHub Pages, you can host your Jekyll blog for free.
- Example Blog: Orai Flow
Hexo is a fast, simple, and powerful blogging framework written in Node.js. It parses articles using Markdown (or other rendering engines) and generates static web pages during the build phase.
- Its main features include:
- Fast Generation: Hexo can quickly process files and generate static web pages, making the entire site generation speed very fast.
- Markdown Support: Hexo supports all features of GitHub Flavored Markdown, making it easier to write articles.
- One-Click Deployment: Hexo has a powerful one-click deployment feature, supporting GitHub Pages, Heroku, etc.
- Rich Plugins: The Hexo ecosystem has a large number of plugins that can provide RSS, search, comments, and other functionalities.
- Diverse Themes: Hexo has many optional themes, allowing you to choose based on your taste and style.
- Example Blog: Macin’s Blog
Hugo is a static site generator written in Go. It is designed for speed and flexibility, making website creation faster and simpler.
- Its main features include:
- Fast Speed: Since Hugo is written in Go, it generates web pages extremely quickly.
- Easy Installation: Hugo is a single binary file that can run on various platforms, making installation simple without third-party dependencies.
- Static Sites: Hugo converts Markdown (or other formats) documents into static HTML files, allowing you to easily deploy it on any server.
- Real-Time Preview: Hugo has a built-in server that allows you to quickly preview website changes while you write content.
- Rich Themes: You can choose from Hugo's rich theme library to quickly change the appearance and feel of your site.
- Powerful and Flexible: Hugo supports custom URLs, blog content, paths, site-wide data, etc., making it extremely user-friendly.
- Example Blog: pseudoyu
Zola is a static site generator written in Rust, aiming for simplicity and speed, focusing on providing fast generation tools.
- Its main features include:
- Fast Speed: Zola is written in Rust, a language designed for performance and concurrency, resulting in fast web page generation.
- Single Binary: Zola is released as a single binary file, meaning no complex environment setup or dependencies.
- Markdown Support: Zola quickly creates content using Markdown and supports custom links and inline HTML.
- Template Engine: Zola provides a complete template engine that supports conditions, loops, includes, inheritance, etc.
- Sass & SCSS Support: Zola has built-in support for Sass/SCSS.
- Built-in Tera: Zola uses the Tera template system, a template engine written in Rust.
- Automatic Hot Reload/Real-Time Preview: Zola has a built-in server system that allows you to see real-time website building effects.
- Example Blog: Pinch Lime
Astro is a front-end framework for building fast, optimized websites and applications. Astro allows you to write modern JavaScript or TypeScript while ensuring better performance by sending minimal static JS scripts to the client.
- Its main features include:
- Zero Runtime JavaScript Compression: The main goal of the Astro framework is to enable you to build websites while minimizing client-side JavaScript to improve site performance.
- Framework Compatibility: Astro supports using components from React, Vue, Svelte, Preact, or Vanilla.js in the same project as needed, allowing you to mix and match your favorite UI components.
- Markdown Support: Astro has excellent Markdown support, allowing Markdown documents to be directly converted into pages.
- Partial Rendering: Astro has partial rendering capabilities, allowing for on-demand loading of JS, providing rich interactive experiences while building performance.
- SEO Friendly: Since Astro generates static HTML files, it is SEO friendly.
- No Bundling Required: Astro does not use bundling during development, resulting in a faster development experience.
- Example Blog: 402 Sunday
Next.js is an open-source JavaScript framework based on React, providing server-side rendering (SSR) and static site generation (SSG) solutions.
- Its main features include:
- Mixed Rendering: Next.js allows users to choose between pre-rendering (SSG) and server-rendering (SSR) pages within the same application, offering flexibility based on each page's needs.
- File System Routing: The only constraint of Next.js is that the file system must serve as the main routing mechanism; you can create files in the pages directory that automatically convert to corresponding routes.
- Built-in CSS and SCSS Support: Next.js provides built-in support for CSS and SCSS, and you can import other style libraries and CSS-in-JS solutions.
- Hot Reloading: Next.js offers hot module replacement in the development environment, automatically updating and rendering in the browser when you modify code.
- API Routes: Next.js supports API routes, allowing you to build your API endpoints, which the framework automatically handles and responds to.
- Fully Compatible with React: Next.js is fully compatible with the React ecosystem, allowing you to apply most React-related libraries and tools in your project.
- Example Blog: Cali
Gatsby is a free and open-source framework based on React, particularly suitable for complex websites and web applications, allowing easy data fetching from various sources.
- Its main features include:
- Performance Optimization: Gatsby generates static files for your project, resulting in a high-performance site. It also includes many performance optimization features like preloading and code splitting.
- Data Integration: Gatsby uses GraphQL to pull data and pre-generate static HTML, allowing data to come from CMS, APIs, databases, etc., not just Markdown.
- Powerful Plugin Ecosystem: Gatsby has a rich plugin ecosystem that makes it easy to add more functionality.
- Hot Reloading: Gatsby uses hot reloading on the development server, automatically updating the page when you modify your JavaScript, CSS, or data.
- Based on React: Since Gatsby is built on React, you can use all the features and ecosystem of React during development.
11ty is a simple and easy-to-use static site generator based on JavaScript. It aims to be a JavaScript alternative to Jekyll, allowing users to use it in a Node.js environment without needing to install Ruby.
- Its main features include:
- Flexible Data: 11ty is very flexible, allowing you to use JavaScript data files, global data files, and data-driven content creation (like blog posts).
- Diverse Template Support: 11ty supports various template languages, including Nunjucks, Liquid, Pug, Markdown, HTML, JavaScript, etc.
- Non-Intrusive: 11ty does not impose any build steps on your project, allowing you to freely organize and handle static files.
- Excellent Performance: 11ty generates websites quickly, making it a good choice when people select static site generators.
- Plugin System: 11ty supports using plugins to extend functionality, such as adding image optimization or RSS support.
- Excellent Documentation: 11ty's official documentation is detailed and easy to understand, making it easy to get started.
VuePress is a minimalist static site generator developed by the Vue.js team, particularly suitable for documentation websites.
- Its main features include:
- Based on Vue: Every page generated by VuePress is a single-page application (SPA) dynamically rendered by Vue, Vue Router, and webpack, providing a Vue development environment.
- Markdown Support: VuePress supports GFM (GitHub Flavored Markdown) and extends some default plugins, such as tables and scrollable directories. This also means you can directly use Vue components in Markdown.
- Rich Themes: VuePress provides a default theme aimed at creating technical documentation but also supports using or creating custom themes.
- Built-in Search: VuePress's built-in search engine creates search indexes based on titles, page content, and default subtitles without additional configuration.
- Performance Optimization: VuePress pre-renders static HTML for each page while transforming it into a complete SPA upon loading, optimizing initial load times.
Pelican is a static site generator written in Python. It can convert Markdown, reStructuredText, or AsciiDoc documents into HTML, PDF, and more.
- Its main features include:
- Easy Writing: Pelican supports writing content in Markdown, reStructuredText, and AsciiDoc formats, making writing easy and free.
- Rich Themes: The Pelican community offers several themes, allowing you to choose based on personal needs and styles or customize your own theme.
- Powerful Plugins: Pelican's plugin ecosystem is rich, covering everything from SEO optimization to social media integration, allowing you to find nearly all the functionalities you need.
- Simple Deployment: Pelican can publish your content through FTP, SFTP, Rsync, GitHub Pages, or Amazon S3.
- Dynamic Content Generation: Although Pelican is a static site generator, it supports generating some content that appears dynamic, such as comments and article sharing.
Notion-Based#
- Nobelium is a static blogging system implemented with NextJS + Notion API, deployed on Vercel. Designed for Notion and all creators.
- Example Blog: Wonder Space
- Osmium is a free, open-source, backend-less static blogging tool based on Notion, developed using Next.js. It is derived from Nobelium, which has received positive feedback from Notion blog users, incorporating many developers' personal interpretations of "Notion Blogs."
- NotionNext is a static blogging tool implemented with NextJS + Notion API, supporting various deployment options, requiring no server and zero barriers to building websites, designed for Notion and all creators.
- Example Blog: Tangly Blog
- Notablog is a free, open-source static blogging tool based on Notion.
- Example Blog: Alexander’s Garden
- Next.js Notion Starter Kit is a free, open-source website building tool based on Next.js and Notion.
- Example Blog: transitvebullsh
- Super is a paid website building tool based on Notion.
- Feather is a paid blogging tool based on Notion.
Others#
- xLog is an all-in-one blockchain blogging tool with a good community ecosystem.
- Example Blog: Hi DIYgog
- Gridea is a full-featured blog tool that provides writing, hosting, and custom domain options.
- Example Blog: Island Heart hey
- Obsidian Publish is a publishing tool launched by Obsidian that allows notes to be directly published as blogs.
- Montaigne is a blogging tool based on Apple Notes.