Convert Figma logo to code with AI

getpelican logopelican

Static site generator that supports Markdown and reST syntax. Powered by Python.

12,482
1,806
12,482
72

Top Related Projects

74,645

The world’s fastest framework for building websites.

48,920

:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby

16,839

A simpler site generator. Transforms a directory of templates (of varying types) into HTML.

55,199

The best React-based framework with performance, scalability and security built in.

39,168

A fast, simple & powerful blog framework, powered by Node.js.

13,380

A fast static site generator in a single binary with everything built-in. https://www.getzola.org

Quick Overview

Pelican is a static site generator written in Python. It allows users to create content in Markdown or reStructuredText formats and generate static HTML websites. Pelican is flexible, customizable, and supports themes, plugins, and various output formats.

Pros

  • Easy to use and set up, especially for Python developers
  • Supports multiple content formats (Markdown, reStructuredText)
  • Extensive plugin ecosystem for added functionality
  • Highly customizable with themes and templates

Cons

  • Steeper learning curve compared to some other static site generators
  • Limited built-in features compared to dynamic content management systems
  • Requires command-line usage, which may be challenging for non-technical users
  • Documentation can be overwhelming for beginners

Code Examples

  1. Creating a new Pelican project:
from pelican import Pelican
from pelican.settings import read_settings

settings = read_settings('pelicanconf.py')
pelican = Pelican(settings)
pelican.run()
  1. Defining custom Jinja2 filters:
def custom_filter(value):
    return value.upper()

JINJA_FILTERS = {
    'custom_uppercase': custom_filter,
}
  1. Using a plugin in your Pelican configuration:
PLUGIN_PATHS = ['path/to/plugins']
PLUGINS = ['sitemap', 'related_posts']

Getting Started

  1. Install Pelican and Markdown:

    pip install pelican[markdown]
    
  2. Create a new project:

    mkdir my_site
    cd my_site
    pelican-quickstart
    
  3. Create content in content/ directory (e.g., content/first-post.md):

    Title: My First Post
    Date: 2023-05-01 10:00
    Category: Python
    
    This is my first post using Pelican!
    
  4. Generate the site:

    pelican content
    
  5. Serve the site locally:

    pelican --listen
    

Visit http://localhost:8000 to view your site.

Competitor Comparisons

74,645

The world’s fastest framework for building websites.

Pros of Hugo

  • Faster build times, especially for large sites
  • Built-in asset pipeline for processing CSS, JavaScript, and images
  • More extensive theming system with easier customization

Cons of Hugo

  • Steeper learning curve, especially for those new to Go templates
  • Less flexible content organization compared to Pelican's freedom
  • Smaller ecosystem of plugins and extensions

Code Comparison

Pelican (Python):

AUTHOR = 'Your Name'
SITENAME = 'My Cool Site'
SITEURL = 'http://example.com'

PATH = 'content'
TIMEZONE = 'Europe/Paris'

Hugo (TOML):

baseURL = "http://example.org/"
languageCode = "en-us"
title = "My Cool Site"
theme = "ananke"

[params]
  author = "Your Name"
  description = "Welcome to my website"

Both Pelican and Hugo are popular static site generators, but they cater to different needs. Pelican, written in Python, offers simplicity and flexibility, making it ideal for smaller projects and those familiar with Python. Hugo, on the other hand, excels in performance and built-in features, making it suitable for larger sites and those who prioritize speed. The choice between them often depends on the project requirements and the developer's familiarity with the respective ecosystems.

48,920

:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby

Pros of Jekyll

  • Larger community and ecosystem, with more themes and plugins available
  • Native support for GitHub Pages, enabling easy deployment
  • Built-in support for Sass and CoffeeScript

Cons of Jekyll

  • Ruby dependency can be challenging for non-Ruby developers
  • Slower build times for large sites compared to Pelican
  • Less flexibility in content organization and URL structure

Code Comparison

Jekyll (Liquid template):

{% for post in site.posts %}
  <h2>{{ post.title }}</h2>
  <p>{{ post.excerpt }}</p>
{% endfor %}

Pelican (Jinja2 template):

{% for article in articles %}
  <h2>{{ article.title }}</h2>
  <p>{{ article.summary }}</p>
{% endfor %}

Both Jekyll and Pelican are popular static site generators, but they cater to different audiences. Jekyll is more suitable for users familiar with Ruby and those who want to leverage GitHub Pages integration. Pelican, on the other hand, is ideal for Python developers and offers more flexibility in content management. The choice between the two depends on your programming language preference, deployment requirements, and desired level of customization.

16,839

A simpler site generator. Transforms a directory of templates (of varying types) into HTML.

Pros of Eleventy

  • More flexible templating options (supports multiple languages)
  • Faster build times for large sites
  • Simpler configuration and setup process

Cons of Eleventy

  • Less mature ecosystem and plugin availability
  • Steeper learning curve for beginners
  • Limited built-in features compared to Pelican

Code Comparison

Pelican (Python):

AUTHOR = 'Your Name'
SITENAME = 'My Cool Site'
SITEURL = 'http://example.com'

PATH = 'content'
TIMEZONE = 'Europe/Paris'

DEFAULT_LANG = 'en'

Eleventy (JavaScript):

module.exports = function(eleventyConfig) {
  return {
    dir: {
      input: "src",
      output: "dist"
    }
  };
};

Both Pelican and Eleventy are static site generators, but they cater to different audiences and use cases. Pelican is Python-based and offers a more traditional blogging experience, while Eleventy is JavaScript-based and provides greater flexibility in terms of templating and site structure. Eleventy's configuration is typically simpler, but it may require more setup for advanced features. Pelican, on the other hand, comes with more built-in functionality out of the box.

55,199

The best React-based framework with performance, scalability and security built in.

Pros of Gatsby

  • More extensive ecosystem with a large plugin library
  • Better performance optimization with built-in code splitting and prefetching
  • Supports dynamic content and can integrate with various data sources

Cons of Gatsby

  • Steeper learning curve, especially for developers new to React
  • Longer build times for large sites
  • Higher resource consumption due to its JavaScript-heavy nature

Code Comparison

Pelican (Python):

AUTHOR = 'Your Name'
SITENAME = 'My Cool Site'
SITEURL = ''
PATH = 'content'
TIMEZONE = 'Europe/Paris'

Gatsby (JavaScript):

module.exports = {
  siteMetadata: {
    title: `My Cool Site`,
    author: `Your Name`,
    description: `A starter blog demonstrating Gatsby`,
  },
  plugins: [
    `gatsby-plugin-react-helmet`,
    `gatsby-transformer-sharp`,
  ],
}

Summary

Pelican is a simpler, Python-based static site generator that's easy to set up and use. It's ideal for smaller projects and developers familiar with Python. Gatsby, on the other hand, is a more powerful and flexible React-based framework that excels in creating complex, high-performance websites. It offers more features and integrations but requires more JavaScript knowledge and resources.

39,168

A fast, simple & powerful blog framework, powered by Node.js.

Pros of Hexo

  • Faster build times for large sites
  • More extensive plugin ecosystem
  • Better support for internationalization (i18n)

Cons of Hexo

  • Steeper learning curve, especially for non-JavaScript developers
  • Less flexibility in content organization compared to Pelican
  • Smaller community and fewer themes available

Code Comparison

Pelican (Python):

from pelican import Pelican
from pelican.settings import read_settings

settings = read_settings('pelicanconf.py')
pelican = Pelican(settings)
pelican.run()

Hexo (JavaScript):

const Hexo = require('hexo');
const hexo = new Hexo(process.cwd(), {});

hexo.init().then(() => {
  return hexo.call('generate');
}).catch(console.error);

Both Pelican and Hexo are popular static site generators, but they cater to different audiences. Pelican is Python-based and offers simplicity and ease of use, making it ideal for developers familiar with Python. It provides a straightforward approach to content creation and site structure.

Hexo, on the other hand, is built with Node.js and offers faster build times, especially for larger sites. It has a more extensive plugin ecosystem, allowing for greater customization. However, Hexo has a steeper learning curve, particularly for those not familiar with JavaScript.

While Pelican excels in flexibility and simplicity, Hexo shines in performance and extensibility. The choice between the two often comes down to personal preference and specific project requirements.

13,380

A fast static site generator in a single binary with everything built-in. https://www.getzola.org

Pros of Zola

  • Faster build times due to being written in Rust
  • Single binary installation with no dependencies
  • Built-in syntax highlighting and search functionality

Cons of Zola

  • Smaller ecosystem and community compared to Pelican
  • Less flexibility in terms of customization and plugins
  • Steeper learning curve for those unfamiliar with Rust

Code Comparison

Zola configuration (config.toml):

base_url = "https://example.com"
title = "My Blog"
compile_sass = true
highlight_code = true

Pelican configuration (pelicanconf.py):

SITEURL = 'https://example.com'
SITENAME = 'My Blog'
THEME = 'mytheme'
PLUGIN_PATHS = ['plugins']
PLUGINS = ['sitemap']

Both Zola and Pelican are static site generators, but they differ in their approach and implementation. Zola offers speed and simplicity, while Pelican provides more extensive customization options and a larger ecosystem. The choice between the two depends on specific project requirements and developer preferences.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Pelican |build-status| |pypi-version| |downloads| |repology|

Pelican is a static site generator, written in Python_, that allows you to create web sites by composing text files in formats such as Markdown, reStructuredText, and HTML.

With Pelican, you can create web sites without worrying about databases or server-side programming. Pelican generates static sites that can be served via any web server or hosting service.

You can perform the following functions with Pelican:

  • Compose content in Markdown_ or reStructuredText_ using your editor of choice
  • Simple command-line tool (re)generates HTML, CSS, and JS from your source content
  • Easy to interface with version control systems and web hooks
  • Completely static output is simple to host anywhere

Features

Pelican’s feature highlights include:

  • Chronological content (e.g., articles, blog posts) as well as static pages
  • Integration with external services
  • Site themes (created using Jinja2_ templates)
  • Publication of articles in multiple languages
  • Generation of Atom and RSS feeds
  • Code syntax highlighting via Pygments_
  • Import existing content from WordPress, Dotclear, or RSS feeds
  • Fast rebuild times due to content caching and selective output writing
  • Extensible via a rich plugin ecosystem: Pelican Plugins_

Check out the Pelican documentation_ for further information.

How to get help, contribute, or provide feedback

See our contribution submission and feedback guidelines <CONTRIBUTING.rst>_.

Source code

Pelican’s source code is hosted on GitHub. For information on how it works, have a look at Pelican's internals.

Why the name “Pelican”?

“Pelican” is an anagram of calepin, which means “notebook” in French.

.. Links

.. _Python: https://www.python.org/ .. _reStructuredText: http://docutils.sourceforge.net/rst.html .. _Markdown: https://daringfireball.net/projects/markdown/ .. _Jinja2: https://palletsprojects.com/p/jinja/ .. _Pygments: https://pygments.org/ .. _Pelican Plugins: https://github.com/pelican-plugins .. _Pelican documentation: https://docs.getpelican.com/ .. _Pelican's internals: https://docs.getpelican.com/en/latest/internals.html .. _hosted on GitHub: https://github.com/getpelican/pelican

.. |build-status| image:: https://img.shields.io/github/actions/workflow/status/getpelican/pelican/main.yml?branch=main :target: https://github.com/getpelican/pelican/actions/workflows/main.yml?query=branch%3Amain :alt: GitHub Actions CI: continuous integration status .. |pypi-version| image:: https://img.shields.io/pypi/v/pelican.svg :target: https://pypi.org/project/pelican/ :alt: PyPI: the Python Package Index .. |downloads| image:: https://img.shields.io/pypi/dm/pelican.svg :target: https://pypi.org/project/pelican/ :alt: Monthly Downloads from PyPI .. |repology| image:: https://repology.org/badge/tiny-repos/pelican.svg :target: https://repology.org/project/pelican/versions :alt: Repology: the packaging hub