Test Vault Home
Welcome to the comprehensive test vault for Obsidian publishing!
Link Resolution Tests
- unique - unique filename resolution
- folder/source - duplicate filename priority
- projectA/README - multiple conflicts across folders
- img-test - image resolution
- headers - headers and block references
- embedding - markdown embeds with duplicates
- software - image with same name as note (regression)
- scenarios_test - links with dots in filenames (regression)
Media Rendering Tests
- mp3 - audio player (mp3 wikilink and markdown embed)
Publishing Features Tests
- public - free public page (no paywall)
- paid_with_preview - paid content with 2 paragraph preview
- paid_with_cut - paid content with
---cut marker - with_layout - custom layout test
- toc_test - table of contents (auto/show/hide)
- telegram_text - Telegram text post (no media, type: text)
- telegram_one_photo - Telegram single photo post (type: photo)
- telegram_one_video - Telegram single video post (type: photo, uses sendVideo)
- telegram_media_group - Telegram media group (2+ media, type: media_group)
- telegram_image_with_emoji - Image with custom emoji (tg_ce_* excluded from media)
- telegram_video_with_emoji - Video with custom emoji (ce.trip2g.com/* excluded from media)
- cyrillic_названия - Cyrillic in URLs and links
- File with spaces - spaces in filenames
- code_and_media - code blocks and media embeds
- complex_content - comprehensive markdown features
- redirect_test - page redirect functionality
- slug_relative - relative slug (replaces filename)
- slug_absolute - absolute slug (full path override)
- slug_with_subdir - slug with subdirectory
- slug_cyrillic - cyrillic slug (no transliteration)
- slug_spaces - slug with spaces (URL encoded)
JSON Layout Tests
- json_layout_test - JSON layout with sidebar (show_sidebar: true)
- json_layout_no_sidebar - JSON layout without sidebar (show_sidebar: false)
- json_layout_missing_include - JSON layout with missing include_note file
Layout Error Handling
- broken_layout_test - page with broken layout (parse error handling)
Subgraph (Premium Course) Tests
- premium - premium subgraph home page
- Check sidebar: should show premium sidebar for premium pages
- signin_wall - sign-in wall test page (free but gated by
require_signinsubgraph flag)
Frontmatter Patches Tests
- patch_tests/simple - simple patch (free: true)
- patch_tests/chained - chained patches with priorities
- patch_tests/conditional - conditional logic (layout only if missing)
- patch_tests/has_layout - conditional no-op (layout exists)
- patch_tests/excluded - excluded by exclude_patterns
- patch_tests/title_template - title template with meta merge
- patch_tests/path_based - jsonnet path-based logic
Multilangual
- lang_hub/index - should redirect to lang_hub/english or lang_hub/russian
- lang_hub/english - English content
- lang_hub/russian - Russian content
- lang_hub/german - German content
- lang_hub/english_hub - English content but
- lang_hub/english_hub_russian - Russian from english_hub
Telegram Post Links
- telegram_publish_message_link - note with telegram_publish_message_link (shows TG button)
- telegram_publish_message_link_parent - parent with alternatives pointing to TG note
Special Files Tests
_banner.md- banner embed (try )_sidebar.md- global sidebar_sidebar_premium.md- subgraph-specific sidebar_index.mdin projectA and projectB
Key Test: Duplicate Priority
From folder/source:
[[dup]]→ /dup.md (root!) ⚠️[[folder/dup]]→ /folder/dup.md ✅
From embedding:
![[_banner]]→ /_banner.md (root!) ⚠️![[projectA/_banner]]→ /projectA/_banner.md ✅
Expected Behavior
- Global link resolution with root directory priority
- Explicit paths (e.g.,
folder/file) always work - Relative paths (
./file) for local resolution - Subgraphs create separate content spaces with their own sidebars
- Free content preview works with
free_paragraphsandfree_cut
Frontmatter Fields Tested
| Field | Example | Purpose |
|---|---|---|
free |
true |
No paywall |
free_paragraphs |
2 |
Show N paragraphs free |
free_cut |
true |
Cut at --- marker |
title |
"Page Title" |
Custom title |
description |
"SEO text" |
Meta description |
subgraphs |
premium |
Assign to course |
sidebar |
false / path |
Show/hide/custom |
layout |
custom/name |
Custom layout |
toc |
auto/show/hide |
Table of contents |
complexity |
0/1/2 or easy/medium/hard |
Content difficulty |
reading_time |
5 |
Minutes to read |
telegram_publish_at |
datetime | Telegram post time |
telegram_publish_tags |
[tag1] |
Telegram groups |
hidden |
true |
Hide from listing |
embed_class |
alert |
CSS class for embeds |
slug |
custom-url or /full/path |
Custom URL (relative or absolute) |