Home

Awesome

moonwalk - a fast and minimalistic blog theme with clean dark mode

<img src="https://raw.githubusercontent.com/abhinavs/moonwalk/master/_screenshots/moonwalk.png" /> <h3 align="center"> <img src="https://raw.githubusercontent.com/abhinavs/moonwalk/master/logo.png" width="24"/> <a href="https://abhinavs.github.io/moonwalk/">TRY THE DEMO</a> </h3>

Features

Lighthouse

<img src="https://raw.githubusercontent.com/abhinavs/moonwalk/master/_screenshots/lighthouse-report.png" />

Quick Installation

  1. Fork this repository.
  2. cd moonwalk
  3. bin/bootstrap
  4. [Optional] Sign up on Soopr, and add your publish_token in _config.yml file.

If you are installing Moonwalk on Windows, please note that you might have to use Ruby 3.0.x instead of Ruby 3.1.x - you can see Windows specific installation instructions here

Starting Server

bin/start - development server will start at http://127.0.0.1:4000

Deployment

Moonwalk can be easily deployed on all the cloud providers (AWS etc.), and on static website hosting services like Netlify & Vercel. You can also use this button to do one click deploy <br /> <br /> Deploy with Netlify

If you want to use Moonwalk as a gem or use Github Pages, please see this page

Customizing

You can edit _config.yml file to customize your blog. You can change things such as the name of the blog, the author, the appearance of the theme (light, dark or auto), how dates are formatted, etc. Customizable fields should be straightforward to understand. Still, _config.yml contains some comments to help you understand what each field does.

For further customization (e.g. layout, CSS) see the official Jekyll's documentation on customizing gem-based themes.

Customize the menu

In order to add/edit/delete entries in the home page, you can copy the home.yml file inside _data folder. Through that file you can define the structure of the menu and add data for navbar, footer, portfolio or simply remove all of that and use simple blog layout. Take a look at the default configuration to get an idea of how it works and read on for a more comprehensive explaination.

The home.yml file accepts the following fields:

  1. Vertical list
  1. Card list - cards are used to showcase portfolio projects. Please see project_entries in _data/home.yml file
  1. Horizontal list - moonwalk uses horizontal lists to create navbar and footer. Please see navbar_entries and footer_entries in data/home.yml file

Pro tips

  1. Moonwalk has 3 in-built layouts:
  1. It is extremely easy to tweak the color scheme.
html {
    --bg: #fff;
    --bg-secondary: #f3f4f6;
    --headings: #1e293b;
    --text: #374151;
    --text-secondary: #6b7280;
    --links: #6366f1;
    --highlight: #ffecb2; // light yellow
    --code-text: #9d174d;
}
@mixin dark-appearance {
  html, body  {
      --headings: #74c0fc;
      --links: #91a7ff;
      --highlight: #41c7c7;
      --bg: #1f242a;
      --bg-secondary: #323945;
      --text: #adb5bd;
      --text-secondary: #9ca3af;
      --code-text: #91a7ff;
  };
}
  1. Sign up for free on Soopr and add your publish_token in _config.yml file - with this, each page gets short URL, like button and auto generated share image for social media.
<img src="https://raw.githubusercontent.com/abhinavs/moonwalk/master/_screenshots/twitter_card.png" />

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/abhinavs/moonwalk.

Development

To set up your environment to develop this theme, run bundle install.

Your theme is setup just like a normal Jekyll site! To test your theme, run bundle exec jekyll serve and open your browser at http://localhost:4000. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.

When your theme is released, only the files in _layouts, _includes, _sass and assets tracked with Git will be bundled. To add a custom directory to your theme-gem, please edit the regexp in moonwalk.gemspec accordingly.

Acknowledgement

This theme's original base is no style please! theme created by Riccardo Graziosi - many thanks to him for creating a wonderful theme with nearly no css.

License

The theme is available as open source under the terms of the MIT License.

Other Projects

If you like Moonwalk, do check out my other projects

✨⚡You can read more about me on my blog or follow me on Twitter - @abhinav

✨⚡If you like my work, you can buy me a coffee