Adaptation of the Sandpoints theme to work with Obsidian
Find a file
2024-12-20 12:15:56 +02:00
content add test content 2024-12-20 12:15:56 +02:00
layouts Add Readme.org & customizations for render-link & taxonomy 2024-12-20 12:15:23 +02:00
themes add Sandpoints theme as GitModule 2024-12-20 09:49:55 +02:00
.gitmodules add Sandpoints theme as GitModule 2024-12-20 09:49:55 +02:00
hugo.toml Add Hugo.toml with minimum config 2024-12-20 09:52:42 +02:00
readme.org Add Readme.org & customizations for render-link & taxonomy 2024-12-20 12:15:23 +02:00

Readme

Introduction

This repository is a guide for installing and using Sandpoints in tandem with Obsidian.

Sandpoints is a free software

Installation Instructions

Follow the Hugo Quick Start guide.

After installing Hugo, open a terminal and do:

hugo new site mysite
cd mysite
git init
git submodule add https://dev.sandpoints.org/Drawwell/SandpointsTheme themes/sandpoints

The above will start a new blank side; start a git repository; and install the Sandpoints theme as a submodule.

Next we need to tell the project configuration to use the sandpoints theme:

Open hugo.toml and add

theme="sandpoints"

Then, we can go again and start a local server to run and view the site:

hugo server

Project config: Sandpoints version

At the moment Sandpoints works properly with Hugo version 0.113 errors have to do with library references and endnote numbering for Print PDFs.

Download Hugo version 0.113 (GitHub). Place the Hugo executable (hugo.exe, or hugo.bin, etc.) on the root folder of your project, and rename to, for example, hugo-113.exe.

To then run a local server or compile the site do:

hugo-113.exe server

or

hugo-113.exe

Setup Sandpoints project

Site config file

Enable keywords

Add keyword taxonomy to hugo.toml and enable relative urls

# Relative URLS
relativeurls = true

# Taxonomy: keyword = "keywords"
[taxonomies]
keyword = "keywords"

Setup metadata

[params]
# Project description
description = "Project description"
## sandpointsHome renders link to predefined home if page not in triad
sandpointsHome = "package/stc.md"
# Enable backlinks for content types
sandpointsMentionedIn = ["annex", "author", "section" ,"item", "thing", "person"]
# sandpointsGiteaUrl = "https://git.sandpoints.org/we/da-component.git" # used in layouts/partials/header.html to generate links in /Preview/ UI
sandpointsCatalogPrefix = "/library/"
sandpointsCatalogName = "custom-sandpoints-project-name"

Enable URLS

Create urls/_index.md Open the file and add

---
title: "List of Urls"
---

Now the site /urls/ shows a list of internal, outgoing, and bibliographic, links, as well as backlinks.

Prepare print directory

Crate print/_index.md. Open the file and add

---
title: "List of Print Items"
---

Create content

Create a new entry with

hugo new entry/entry.md

This will be created according to archetypes.

Archetypes

Project archetypes directory at archetypes.

Theme archetypes directory at themes/sandpoints/archetypes.

Sandpoints-Obsidian workflow

Setup Obsidian

Open the project's content/ directory as a Vault using Obsidian

Go to settings and:

  • DISABLE Wiki links
  • Set New Link Format to Absolute path in vault

Customize Sandpoints theme for Obsidian

By default Sandpoints recognizes internal links in the form of

![Link label](type/filename)

or

![](type/filename)

In which case the link label is populated dynamically.

Using Obsidian with standard Markdown links (instead of Wiki-type links), internal links would be of the type

[Link label](type/filename.md)

Moreover, Obsidian allows spaces in the filenames of notes (e.g. my note.md), and replaces space characters with %20 (as in my%20note.md).

Create override for render-link.html

Copy render-link from theme/layouts

/we/Sandpoints-Obsidian/src/branch/master/themes/sandpoints/layouts/_default/_markup/render-link.html

to the corresponding directory inside layouts, at the root of the project:

/we/Sandpoints-Obsidian/src/branch/master/layouts/_default/_markup/render-link.html

This overrides the theme's render-link behavior.

Edit custom render-link.html

  1. Add clause to replace %20 with - (dash).

Other Sandpoints theme edits

Edit keyword view (layouts/taxonomy/list)

By default, /keywords lists keywords together by creation date, sorted by creation date. This is edited in /layouts/taxonomy/list.html to remove the mention of the creation date, and sort entries alphabetically.