Tagged "guide"


Advanced Features


This guide goes over some advanced features that aren't necessary to use. It assumes you've read the Installation Guide first. It also assumes your version of Strawberry Starter is 1.1.0 or higher (check package.json to see your version).

Navbar Links & Editing

You already know you can tag a post navbar to add it to the navbar. What if you want to add links to other sites, or even images?
No worries - go to _includes/navbar.html and you can add new HTML in there easily, without having to mess with the whole layout. Some examples are provided in comments, as well as a minifeed example.

Minifeeds

These are sort of a mix between blogging and social media posts. You'll find a folder called minifeeds in src. You can organize your feeds any way you like - the only thing that joins them together is that every post has the same tag. By default, feed posts do not appear in All Posts or clog up the RSS Feed; they only appear in the All Posts tag view. You can directly link to them though - they'll appear at sitename/tags/feedname/. I would link to them in your index or navbar! An example minifeed - updates - is already included with Strawberry Starter. Look over it for a better understanding of what to do.

Comments

You'll need an external comment service like Disqus or CommentBox. Copy and paste the script they give you into _includes/comments.html. Comments only appear on posts.

Backing up your blog

Type npm run backup in your command line. You'll see a new _backup folder appear. This folder has the bare minimum essentials in it, to save on storage space. If you want to make use of it, you'll need to download Strawberry Starter again and paste the _backup folder into it.
This is also a convenient way to upgrade versions!

A full list of what is backed up:

This notably does NOT backup your .env.local, for security reasons. You'll have to manually add that again.


User Reference


This page explains how to do various things. You can find more step-by-step instructions in the installation guide, but here information is presented more simply for quick reference.

How to use your blog

Anatomy of Config.jsonc

Commands

Detailed Folder Layout Reference

Here's an overview of the folders and files in Strawberry Starter. You can ignore most of these and have a perfectly functional blog, but if you're curious and/or brave:

Since you looked, if you're really curious... why not go to the 11ty homepage and learn even more about how it works? This template is pretty basic and only scratches the surface. A warning, though - if you want to do something really complicated, you're probably better off starting from scratch!

Node

Strawberry Starter was made with Node version # 20.18.1. Running on lower versions may cause bugs.
You can see your Node version by typing node -v into a command line.


Installation Guide


Here's how to get started with your new blog:

  1. Download & Unzip Strawberry Starter.
    • You can grab it from itch.io or Github.
    • Unzip it wherever - you can move the folder around later without issues, so don't worry.
  2. Download & Install Node.
    • Node is a javascript runtime that lets you create things for the web.
    • Grab it from the Node website.
      • Note: If you've already installed Node, be sure to update to the newest version.
  3. Open a Command Line in Strawberry Starter's folder
    • Never used one? It's a program that lets you type computer commands.
      • 🪟 Windows: Powershell is built-in, and what I recommend you use. If you're familiar with the "Command Prompt", that'll probably work, but it's not recommended for a variety of reasons.
      • 🍎 macOS: The program is just called Terminal. Simple!
      • 🐧 Linux: You definitely have it, but it's called something different depending on what kind of Linux you're running. Search for "Terminal" or "Shell".
    • You can probably open your chosen command line in the folder by right clicking the open folder and selecting "Open a Terminal", but if not, open one of these programs and type cd path/to/template/, where path/to/template is the full path you unzipped Strawberry Starter to.
  4. Execute the command: npm install
    • You'll see some output, and probably some warnings and notifications. Unless you see a big ERROR, you should be okay.
    • 🪟 On Windows: You might get a Powershell error here! If it says you don't have permission to run scripts, then copy and paste this command:

      • Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

      • You can right click -> paste this, or paste it with CTRL+SHIFT+V. Beware: command lines are finnicky and won't let you copy or paste with the usual shortcuts!

      • Then, try npm install again.

      • If that doesn't work, try again, but running Powershell as admin.

You only need to run npm install once to setup. Now you're ready to start blogging!

Starting the development server

There's a live server you can run to preview your changes as you make them. It's super convenient!
Start the server with the command npm run dev. Now, open localhost:1234 in your browser.
This is a preview of what your blog looks like, and it'll update automatically as you save files.

🪟 On Windows: You might see a firewall permission prompt. Allow the script to bypass the firewall, or it won't work.

Renaming & customizing your blog

Go to the src folder. This is where your blog's files live.
There's a lot of stuff here, but you don't need to worry about most it! For now, let's go to _data and open the file named config.jsonc.

A brief aside about JSON

If you've never seen a .json or .jsonc file before - don't worry, it's not complicated! It's just a way to store text so that it can be easily read by programs. The format of JSON is pretty simple: a bunch of keys and values, paired like so: "key": "value",. These keys and values are contained within two {curly braces}, which you'll see at the start and end of the file.

Note the quotation marks and the comma! All of the key-value pairs (except for the last) must have a comma. The keys and values must also be enclosed with quotation marks. Be sure not to accidentally change that while editing your config file, or your blog will stop working!

config.jsonc contains data that appears in a few places in your blog. Take the time now to replace the defaults, being careful not to disturb any quotation marks or commas or curly braces:

An aside about text editors

You can use whatever text editor you want to edit! I like VS Code or Notepad++, but you can even use Notepad if you want. The only important thing is that it shouldn't be a word processor, like Microsoft Word or Libreoffice Writer.

Making posts

Time to write your first post! Go to src/posts and create a new .md file. You can name it whatever you want, but keep in mind that the filename will become the URL to your post (e.g. post you're reading now is named "installation.md", so if it was uploaded to example.neocities.org, its URL would be "example.neocities.org/posts/installation").
Blog posts start with a little thing called front matter. It looks like this:

---
title: The title of the blog post goes here
date: 2025-12-25
tag:
- intro
- example
---

The title appears as a header on the post page, and also on internal links (on the frontpage's "Latest posts" section and the "All posts" page).
The date is actually optional - if it's not present, the file creation date will be used. This can cause some issues if you backup your posts somewhere and then reupload them - the file creation date might change! I highly recommend you always manually set the date.
Tags are also optional: you can add them to a post to allow users to navigate by tag. If you have at least one custom tag, a tag view will appear in "All Posts".

Create a new post now - give it a title and today's date. When you save the file, you should see it appear on the dev server.

The index and navbar

There are some other pages on your site besides blog posts, though! You'll notice there's a navigation bar at the top of your blog with three links: home, all_posts, and about. These pages are all Markdown files, so editing them is similar to editing blog posts - they're just located in different places:

You'll also notice an #updates link in the navbar, which leads to a tag view of a bunch of update posts. This is a minifeed - a way to make little posts that won't clog up your "All Posts" or RSS Feed. Kind of like a mix between social media sites & blogging! If you want, you can learn more about this at the Advanced Features Guide, but if it doesn't sound interesting to you, you can just delete everything in _includes/navbar.html.

Favicon and Preview

There are two last things you want to customize:

Both of these are images you can edit in any graphics editor. Don't change their filenames or formats!

Building and uploading your blog

To get your blog ready for uploading somewhere, go to the command line and type npm run build. (If the dev server is still running, you can stop it with CTRL+C first.) A folder called _site will appear. That folder is your completed blog, and is ready to be uploaded to whatever hosting provider you choose!

Neocities is a cool hosting provider with a free tier! If you're going to use Neocities, Strawberry Starter can instead automatically upload your site there by using the command npm run upload! However, it requires a bit of setup, so follow these steps:

  1. Go to your Neocities account settings
  2. Click "manage site settings", then "API".
  3. Copy your API key.
    • If you haven't generated an API key, do so now by pressing the button.
    • Keep this safe! Don't share it with anyone, or they can edit your site.
  4. Open the .env file in the base of your blog and follow its instructions.
    • Don't edit .env itself! It's just a template of what your .env.local should look like, and should be kept that way to ensure your API key stays safe.
  5. (Optional) Set a subdirectory
    • If you have an empty site and want your blog to live at example.neocities.org, then you don't need to do anything else.
    • HOWEVER, if you already have a homepage at the base of your Neocities, you can instead upload to a subdirectory like example.neocities.org/blog/
      • To do this, change the siteSubDir in config.jsonc to something else, e.g. /blog/.
    • ⚠️ Warning: BE SURE to set this if you already have a homepage! Uploading to Neocities will OVERWRITE content, so if you already have, for example, an index.html page, npm run upload will replace it with Strawberry Starter's index. Setting a subdirectory avoids this, but just in case, you might want to make a backup of your site before running npm run upload.
      • You can easily back up your Neocities site by navigating to the dashboard and clicking "Download entire site".

If you followed the above steps correctly, you should be able to use npm run upload! That command also builds your site, so if you're uploading to neocities this way, you don't need to run npm run build.

All done!

You should now have everything you need for a successful blog!
Go forth and write an introduction post, edit the index and about pages, and upload your site!
Oh - and don't forget to delete the example_posts folder in posts!