Skip to content
Smartly generate a post-based website from Markdown files.
JavaScript CSS HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Smartly generate a post-based website from Markdown files - no more messy static files.

View The Live Example

If iru is of use to you, please consider giving us a 🌟. It makes our night sky better. Thanks.


Setup is really easy with iru. You can copy and paste this example and will only need to change the title and window.$iru object.

<!DOCTYPE html>
<html lang="en">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" href="">
        window.$iru = {
            name: "Posts", //Title for the site
            posts: ["example"], //The name(s) of all your .md files
            hash: true //Should the url for posts utilize a hash 
            //e.g or not - becoming
    <script src=""></script>


You can view the example live here. Alternatively, you may view all the code for yourself in the example/ directory.


Defined below are the various keys you may set to customize iru within the window.$iru object.

Key Default Description
name "Posts" The header/title of the posts page.
posts false An array containing all the names of your .md files with the post content in them - without the .md extension.
hash true Should the url for posts utilize a hash e.g or not - becoming If you choose not to use a hash because it looks nicer, you'll need to configure your web server correctly.
root "/" What is the root path (minus the domain and directory) of your posts site? If it's the index, leave it at /. However, if for example it's in a HTML file named posts, set it to "/posts.html".
preview_length 256 What is the maximum length of a post preview?


  • Render post list on the server - for better SEO.

Configure your web server

If you want to send links to posts without a hash, set the key "hash" to false in the window.$iru object - you'll also have to configure your web server properly...


  1. In your server block, add try_files $uri /index.html =404;

  2. Reload nginx


  1. Ensure you have libapache2-mod-php installed

  2. Rename your index.html to index.php

  3. Add to the beginning of your index.php

  4. In your VirtualHost tag, add ErrorDocument 404 /index.php

  5. Restart Apache

You can’t perform that action at this time.