InstantClick VS eleventy 🕚⚡️

Compare InstantClick vs eleventy 🕚⚡️ and see what are their differences.

InstantClick

InstantClick makes following links in your website instant. (by dieulot)

eleventy 🕚⚡️

A simpler site generator. Transforms a directory of templates (of varying types) into HTML. (by 11ty)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
InstantClick eleventy 🕚⚡️
4 244
5,515 16,213
- 1.8%
0.0 9.3
almost 6 years ago 3 days ago
JavaScript JavaScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

InstantClick

Posts with mentions or reviews of InstantClick. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-09.
  • Instantclick.js – making navigation effectively instant
    1 project | news.ycombinator.com | 28 Mar 2024
  • Show HN: Hyvor Blogs – Multi-language blogging platform
    9 projects | news.ycombinator.com | 9 May 2023
    Redis for cache

    PHP isn’t dead. It definitely has some weirdness introduced in older versions that cannot be removed due to backward compatibility promises. However, recent versions of PHP have improved performance and developer experience significantly. Also, we use strict types and PHPStan [https://phpstan.org] (max level) to ensure type safety. And, we try to have 95%+ coverage using Pest PHP [https://pestphp.com]. With those tools, writing PHP is fun. Laravel saves a lot of time by abstracting away many HTTP, queue, and CLI-related tasks. MYSQL is the single source of truth. We sync data to Meilisearch for search. Laravel Scout makes syncing effortless. Redis is used for caching and queues.

    More details on the open-source software we use are available here: [https://blogs.hyvor.com/docs/oss]

    Theme Development:

    In Hyvor Blogs, all themes are fully customizable. We wanted to make the theme development process as friendly as possible for developers. Being a hosted software, this is quite hard. Developers aren’t fond of (including me) editing a file on the browser to make something work. Providing an online web editor to create themes wasn’t an option. So, we created a simple CLI tool [https://github.com/hyvor/hyvor-blogs-cli] that developers can install locally via NPM. This CLI tool listens for file changes and syncs all theme files to a development blog in our production system. So, developers can make changes in their local editor and see changes with almost no delay. This has worked pretty well so far!

    Theme Structure:

    We wanted to keep the theme structure simple. No Javascript frameworks - just plain old-school HTML because it works the best with search engines, minimizes the data transfer required between the server and the browser, and even provides a better experience for end users.

    We obviously needed a templating language to render HTML from data. There were many options like Handlebars, Liquid, and Twig. All do the job. We went with Twig because its original package is written in PHP and managed by the Symfony team so we could trust it and easily integrate it into our system.

    Another thing we cared about a lot is creating standardized theme guidelines. For example, if you take WordPress themes, most themes have their own structure and are very different from each other. This adds a learning curve to each theme. To prevent that, we created standardized theme guidelines for all published themes to follow. We also standardized how common things in blogs like color theme switching, searching, language switching, etc. work. This helps users switch between and customize their themes effortlessly.

    Then, there is one important thing we realized. “The structure of a blog is very simple”. First, you might think you need several stylesheets, jQuery, bootstrap, etc. NO! Just one stylesheet and barely some vanilla javascript for interactive elements like search. Realizing this helped us further improve theme performance. In our themes, the developer writes several SCSS files inside the /styles directory. This makes it easier for them to manage styles in chunks. Then, we convert all SCSS files into a single styles.css when loading it in the blog. That way, only 1 HTTP request is needed for styles - it’s super fast!

    You can see more about theme development here: [https://blogs.hyvor.com/docs/themes-overview]

    All official themes are free and open-source. [https://github.com/hyvor/hyvor-blogs-themes]

    We have ported multiple open-source themes, and now working on a couple of original themes as well.

    Caching:

    We incrementally cache content using “first-request caching”. If you visit a post in the blog, the response is dynamically created and cached. Subsequent responses are served from the cache until the blogger updates the post.

    This is highly efficient and scalable. Also, there is no building step involved as in Netlify or similar static hosting platforms. You can immediately see changes but also benefit from caching.

    The cache is saved on a Redis server in our data centers, but we may try CDN edge caching in the future.

    Multi-language support:

    Multi-language support is probably the most unique selling point of Hyvor Blogs. The first version of Hyvor Blogs did not have a multi-language feature. Adding that feature took a lot of careful thought and effort, but it was totally worth it. I can safely say there’s no other hosted blogging platform that makes managing multiple languages as easy as Hyvor Blogs does.

    First, we had to figure out what data was translatable. For example, post content, description, etc. Then instead of saving that data in the `posts` table, we created a new `post_variants` table to save them linked to a specific `language_id`. The blogger can create multiple languages and each entity (`post` , `tag` , `user`) can have variants for each language.

    Additionally, we integrated DeepL [https://deep.com] to let bloggers automatically translate posts into many languages.

    Data API filtering:

    Our Data API [https://blogs.hyvor.com/docs/api-data] returns public data of the blog. This is also internally used in themes to fetch additional data. If you think about filtering data (ex: posts), one may want to filter `published_at < {time}` while another wants `published_at > {time}`. If we went with the normal API approach, we’d need many query parameters like `published_at_greater_than`, `published_at_less_than`, etc. That’s ineffective. So, we wrote a little query language called FilterQ to take a single `filter` input parameter and safely convert it to the `WHERE` part of the SQL query. With it, you can call the API with `filter=published_at>{time}` param. And, it’s even possible to use `and` / `or` and grouping for complex filtering.

    Library (implemented in Laravel): https://github.com/hyvor/laravel-filterq

    Sub-directory hosting:

    We designed a new way to host a blog in a subdirectory of a web application. Let’s say you have a Laravel application at example.com. We created Delivery API [https://blogs.hyvor.com/docs/api-delivery] to help you host your blog at example.com/blog.

    This API tells you how to deliver a response for a request (hence “Delivery” API). For example, when your Laravel app receives a request to /blog/hello-world, your app calls the Delivery API to learn how to respond to “/hello-world”. The Delivery API returns a JSON with all the data needed. Your app will then use that JSON response to create an HTTP response and send back the response to the client. It will also save the response in the cache so that it doesn’t have to call the Delivery API next time for the same path.

    This is quite similar to a reverse proxy with caching, but the JSON API makes it easier to use it in web applications as we do not need HTTP parsing logic.

    This is also similar to how our “first-request” caching works, but this time this caching happens inside your web application. To clear the cache, we use webhooks.

    For now, we have developed libraries for Laravel and Symfony for sub-directory hosting, with plans to cover more frameworks in the future.

    Rich Editor

    This was probably the hardest part of all. We spent months testing many frameworks like Draft.js, Prosemirror, and even pre-built rich editors like TinyMCE. We wanted customizability and also ease-of-use. No framework checked all boxes.

    We decided to go with ProseMirror [https://prosemirror.net]. It was complex but eventually, we came to understand the power of it. It has a steep learning curve, but it’s totally worth it. We actually enjoy writing Prosemirror plugins now to add some functionality to the Rich Editor. Also, recently the author added typescript support, which incredibly improved the experience. We created many nodes like Blockquotes, Callouts (with emoji), Images with captions, Embeds, and Bookmarks pretty easily after that. ProseMirror has quite good browser support as well.

    Flashload

    I’ve been a fan of InstantClick [http://instantclick.io/]. We wanted to add something similar to all blogs to add a “fake-fast” effect. If you haven’t used InstantClick before, it is a simple library that turns separate HTML pages into a single-page app. It starts loading content on the mouseoever event of a link and replaces the when clicked on it. This makes navigation super fast. We created an almost copy of Instantclick named Flashload [https://github.com/hyvor/flashload] with additional configurations and optimized caching. Feel free to use it in your projects :)

    Overall, it’s been a great learning experience working on Hyvor Blogs. We’d love to know what HN thinks about our project. I am happy to answer any questions you might have.

  • What are some non visual frameworks that you use to improve site page speed and asset optimization?
    2 projects | /r/webdev | 28 Dec 2021
    A colleague recommended this one to me: http://instantclick.io/
  • Stop Building a General Purpose API to Power Your Own Front End
    2 projects | news.ycombinator.com | 13 Sep 2021
    You can still benefit from something like https://github.com/dieulot/instantclick as a poor man's replacement of Turbo(links).

eleventy 🕚⚡️

Posts with mentions or reviews of eleventy 🕚⚡️. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-17.
  • Converting BlogCFC blog to Eleventy
    4 projects | dev.to | 17 Apr 2024
    This post outlines the steps for migrating an existing BlogCFC blog to a JamStack, with a focus on using Eleventy.
  • Ask HN: What's the simplest static website generator?
    10 projects | news.ycombinator.com | 29 Mar 2024
    I suggest you to try out eleventhy (https://www.11ty.dev/)

    Quite simple to start, and a nice system to add some scripting and styles without the requirement of bringing in a framework.

  • Eleventy - Create a global production flag
    3 projects | dev.to | 19 Feb 2024
    A production flag enables you to run activities in dev or production such as minifying assets, showing draft posts, etc. There isn't a built-in flag or function that comes with eleventy (11ty) specifically for this. However we have this info at our fingertips.
  • Ask HN: Looking for lightweight personal blogging platform
    35 projects | news.ycombinator.com | 6 Feb 2024
    I can't recommend Eleventy enough!

    https://www.11ty.dev

    I converted my WordPress blog to Eleventy 4 years ago and never looked back, it's been delightful!

    https://www.joshcanhelp.com/taking-wordpress-to-eleventy/

  • Removing React is just weakness leaving your codebase
    6 projects | dev.to | 31 Jan 2024
    It’s 2024, and you are about to start a new project. Do you reach for React, a framework you know and love or do you look at one of the other hot new frameworks like Astro, Enhance, 11ty, SvelteKit or gasp, plain vanilla Web Components?
  • VS Code - Fix a task automation issue - `The terminal process failed to launch (exit code: 127`
    1 project | dev.to | 18 Jan 2024
    The "dev" script is running the eleventy server in dev mode. The details of the script are not important for this discussion, but to round out the background here is an abbreviated version of my package.json:
  • Eleventy vs. Next.js for static site generation
    4 projects | dev.to | 14 Dec 2023
    Eleventy is a fast and powerful SSG that really shines when it comes to pure static site generation because it does not require the loading of a client-side JavaScript bundle in order to serve content.
  • You don't need JavaScript for that
    3 projects | news.ycombinator.com | 2 Dec 2023
    The irony is using a JavaScript-based static site generator to make the site: https://www.11ty.dev
  • Why You Should Write Your Own Static Site Generator
    10 projects | news.ycombinator.com | 3 Nov 2023
    https://doublejosh.com/post/186193119278/metalsmithjs-is-sti...

    Then two years ago I needed a more robust SSR system based on React, so I went with GatsbyJS. It's insanely mature and intuitive, but as we all know that community and business is now drying up too. But the framework is still great.

    Now everyone sings the praises of NextJS, which can be used for SSR but is intended for applications and active server endpoints. But more complexity doesn't mean better.

    I'm keen to try other simple frameworks when the result is a static site. I may give https://www.11ty.dev a shot.

  • From Jason: my custom digital garden in 11ty
    4 projects | /r/DigitalGardens | 1 Nov 2023
    11ty is a lightweight static site generator. I chopped up my HTML and used the 11ty starter template called eleventy-base-blog as the structural foundation for the site.

What are some alternatives?

When comparing InstantClick and eleventy 🕚⚡️ you can also consider the following projects:

Turbolinks - Turbolinks makes navigating your web application faster

astro - The web framework for content-driven websites. ⭐️ Star to support our work!

Gantt chart for React.JS - dhtmlxGantt with ReactJS

Hugo - The world’s fastest framework for building websites.

Vue Storefront - Alokai is a Frontend as a Service solution that simplifies composable commerce. It connects all the technologies needed to build and deploy fast & scalable ecommerce frontends. It guides merchants to deliver exceptional customer experiences quickly and easily.

SvelteKit - web development, streamlined

lighthouse - Automated auditing, performance metrics, and best practices for the web.

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

CacheP2P - "More users = More capacity"

Publii - The most intuitive Static Site CMS designed for SEO-optimized and privacy-focused websites.

Fly CDN - A set of useful libraries for Edge Apps. Run locally, write tests, and integrate it into your deployment process. Move fast and maybe don't break things? Because, gosh darnit, you're an adult.

Grav - Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony