Skip to main content

Guide

Aplós is a user-friendly template for Vitepress that allows you to quickly set up and customize your website. In just a few simple steps, you can configure the template to match your preferences. Let's walk through the process:

Initialization

  1. Aplós provides a convenient template that you can use to kickstart your project. To begin, click on the following link to initialize a repository with the Aplós template: Initialize Aplós Template.

  2. After initializing, you have two options:

    • Clone the repository to edit the project locally: git clone https://github.com/*your_username*/aplos
    • Use GitHub Codespaces to edit the project online: GitHub Codespaces

    Make sure to replace your_username with your GitHub username.

  3. Navigate to the /content/ and /.vitepress/ folders. Locate the config.mts file for further customization.

Package

Aplós is now available as an NPM package, making it easier to install and use. To get started, follow these steps:

  1. Install the Aplós package by running the following command in your terminal:
bash
npm install aplos
  1. After installing the package, in your project directory, create a folder named theme inside the .vitepress folder. Then, create a index.ts file inside the theme folder. This file will contain the following code:
ts
import Aplos from "aplos/Layout.vue";
import type { Theme } from "vitepress";
import "aplos";

export default {
  Layout: Aplos,
} satisfies Theme;

Tip

If you also want to add aditional styles, you can create a CSS/SCSS file inside the theme folder and import it in the index.ts file.

With Articles or without Articles

Aplós offers two versions: one with configuration for articles (blogs) and one without. To choose the version that suits your needs, follow these steps:

  1. Navigate to the index.ts file inside /.vitepress/theme/ folder that we created earlier, after that change the import of the Layout.vue file to either Layout.vue or minimal/Layout.vue, and where you see import "aplos" change to import "aplos/minimal".

That will disable all the article (blog) related layouts.

With Articles

If you want to use the article configuration, you can check the provided guide below:

Customizing Configuration

You can edit the config.mts file to tailor the template to your needs. I've made an page that explains how to do that.

Start Writing

With the configuration set up, you can now start creating and editing your files. Utilize the content folder to add new pages. (if you used the template, you already have a content folder with some example pages)


Miscellaneous

Some additional guides and tips to help you get the most out of Aplós:

Articles (Blogs)

Setting up articles/a blog in Aplos is a breeze. Just follow these simple steps:

  1. Create a folder named how ever you like in your project directory.
  2. Inside the newly created folder, create an index.md file and set its layout to article-list.
  3. Write your desired content in the index.md file.
  4. Create a folder named posts inside the folder.
  5. Inside the posts folder, create individual articles as separate Markdown files.
  6. At the beginning of each article file, include the following frontmatter:
yaml
---
layout: article
title: "Ipsum"
author: Gabriel Cozma
description: Why Ipsum is the best.
shortDescription: Why Ipsum is the best.
date: 2024-03-10T21:33:00+02:00
prev: First Blog
next: Lorem
tags:
  - demo
  - ipsum
  - example
---

Comments

Aplós supports two comment systems: Giscus and ActivityPub posts. To enable one of them, follow these steps:

  • If you want Giscus: inside your posts/articles, add the following inside frontmatter:
yaml
comments: giscus

You also need to configure Giscus in the config.mts file. You can refer to the Edit Configuration page for more information.


  • If you want ActivityPub: inside your article/post, add the following inside frontmatter:
yaml
comments: activitypub
post: https://mastodon.example/@yourusername/1234567890

Make sure to edit the post link with your own post link. Once that, you don't need to do anything else, the comments will right there!

General Styling

Using Aplós, you can customise the appearance of your content with various styling options. The .vitepress/theme/index.ts file allows importing additional files, including CSS or SCSS files, to apply custom styles to your project.

For example, to import a CSS file, add the following line to the index.ts file:

ts
import "./styles.css";

Tip

It's recommended to have the styles.css file in the same directory as the index.ts file, the .vitepress/theme/ folder.

Inside the styles.css file, you can add custom styles to modify the appearance of your content, or even adding custom components.

Chaning the Content Width

You can modify the width of the content in Aplós by changing the --content-width variable in the :root selector. For example, to set the content width to 800px, add the following CSS to your project:

css
:root {
  --content-width: 800px;
}

Styling Images

You can style images in your content using various options provided by Aplós. Here's how to apply each styling option:

  • not-rounded: Remove the border radius from an image.
  • static: Prevent an image from being resized when hovered or active.
  • Size Options:
    • small: Make an image smaller.
    • medium: Make an image medium-sized.
  • Visual Effects:
    • shadow: Add a shadow to an image.
    • mono: Make an image monochrome.
    • invert: Invert the colors of an image.
    • blur: Blur an image.
    • sepia: Add a sepia effect to an image.
    • pixel: Pixelate an image.
  • Transparency: Make an image transparent.

To apply any of these options, use the following syntax:

md
![My image](./image.png#option)

For example, to make an image small, use the following syntax:

md
![My image](./image.png#small)

Tip

You can combine multiple options by separating them with a comma. For example, to make an image small and add a shadow, use the following syntax:

md
![My image](./image.png#small#shadow)

Automatically Update Aplós

If it happens that you host your website on GitHub, you can use Dependabot to automatically update Aplós. To set it up, refer to Dependabot Configuration made by GitHub. For a quick example, you can see the Dependabot Configuration used by Aplos Template.

Deployment

To deploy your website, you can refer to the Guide made by VitePress. In the case that there isn't an examaple for your hosting provider, you can follow the steps below:

Codeberg

In the case of you wanting to host your website on Codeberg, it's actually not that hard:

Workflow

If you have access to Codeberg CI take advantage of the straightforward workflow I've created. This workflow automates the process of building your website whenever you make a push, deploying the deployment of your changes:

yml
# Exclude page pipeline to be run on "pages" branch
when:
  branch:
    exclude: pages

steps:
  # Build vitepress static files
  build:
    image: alpine
    commands:
      - apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing pnpm git
      - pnpm install
      - pnpm run pages:build
    when:
      event: [pull_request, push]

  publish:
    image: bitnami/git
    # Must be set in Woodpecker configuration
    secrets: [mail, codeberg_token]
    commands:
      - git config --global user.email $MAIL
      - git config --global user.name "Woodpecker CI"
      - git clone -b pages https://$CODEBERG_TOKEN@codeberg.org/$CI_REPO.git source-code
      - rm -r source-code/*
      - cp -ar ./pages/.vitepress/dist/* source-code/
      - cd source-code
      - git add --all
      - git commit -m "Woodpecker CI ${CI_COMMIT_SHA} [SKIP CI]"
      - git push

    when:
      event: push

To seamlessly integrate with your CI process, simply configure two essential secrets in your CI Settings:

  1. mail: This secret should contain the email associated with your account.
  2. codeberg_token: This secret should store a token from your account, equipped with read and write access for your repositories.

Using an package

If you want to optout from using a workflow or don't want to make a request: There is actually a really simple and nice NPM package that helps you deploy your project to Codeberg. The package is called codeberg-pages you can install by running:

bash
npm install codeberg-pages

Then, make a script to run the script:

bash
(...)
  "scripts": {
    (...)
    "content:deploy": "codeberg-pages content/.vitepress/dist"
  },
(...)

With that added you can run:

bash
npm run content:deploy

That will create a new branch called "pages" where the build output will stay.


↑ Go to topFile an issue