Elderjs screenshot

Elderjs

Author Avatar Theme by Elderjs
Updated: 21 Nov 2022
2123 Stars

Elder.js is an opinionated static site generator and web framework for Svelte built with SEO in mind.

Overview:

Elder.js is a static site generator and web framework designed with SEO in mind. It supports both server-side rendering (SSR) and static site generation. It is a highly optimized tool with a build process that utilizes multiple CPU cores to generate sites quickly. Elder.js also leverages Svelte for SSR templates, resulting in smaller HTML and bundle sizes. The framework offers a straightforward data flow by allowing users to associate a data function in their route.js, giving them control over fetching, preparing, and manipulating data before sending it to the Svelte template. Elder.js supports multiple data sources and provides the flexibility to extend the functionality of a site through community plugins. It also offers features like shortcodes to future-proof content and minimize JavaScript (JS) usage. With its partial hydration capability, Elder.js allows users to hydrate only specific parts of the client that require interactivity, reducing payloads while maintaining control over component lazy-loading, preloading, and eager-loading.

Features:

  • Build Hooks: Customize and plug into any part of the entire page generation process.
  • Highly Optimized Build Process: Utilizes multiple CPU cores for faster site building.
  • Svelte Everywhere: Uses Svelte for SSR templates and partial hydration on the client.
  • Straightforward Data Flow: Complete control over data fetching, preparation, and manipulation before passing it to the Svelte template.
  • Multiple Data Sources: Support for fetching data from multiple sources.
  • Community Plugins: Extend the functionality of Elder.js with prebuilt plugins.
  • Shortcodes: Future-proof content using smart placeholders, even from different sources.
  • 0KB JS: Defaults to 0KB of JS if a page doesn’t require JS.
  • Partial Hydration: Allows selective hydration of client components for reduced payloads.

Installation:

To install Elder.js, follow the steps below:

  1. Step 1: Install Node.js and npm (Node Package Manager) if not already installed.

    # Example command for installing Node.js and npm using Homebrew on macOS
    brew install node
    
  2. Step 2: Create a new directory for your Elder.js project.

    # Example command for creating a new directory named "my-elderjs-project"
    mkdir my-elderjs-project
    cd my-elderjs-project
    
  3. Step 3: Initialize a new npm project in the directory.

    npm init -y
    
  4. Step 4: Install Elder.js as a dependency.

    npm install elderjs
    
  5. Step 5: Create the necessary files and directories for your Elder.js project.

    # Example command for creating the required files and directories
    npx elder init
    
  6. Step 6: Start the development server and begin building your site.

    # Example command for starting the Elder.js development server
    npm run elder
    

For more detailed instructions and configuration options, refer to the official Elder.js documentation.

Summary:

Elder.js is an opinionated static site generator and web framework designed with SEO in mind. It offers a range of features including highly optimized builds, support for Svelte SSR templates, straightforward data flow, community plugins, shortcodes, minimal JavaScript usage, and partial hydration. The framework provides stability and is being used on several flagship SEO properties. Elder.js aims to make static site generation viable for sites of all sizes, offering flexibility and control over the site-building process. It provides a mature solution while continuously delivering bug fixes and incremental changes to improve the tool further.