40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
---
|
||
references:
|
||
- plug-api/lib/ref.ts
|
||
- plugs/index/refactor.ts
|
||
---
|
||
In [[SilverBullet]] every [[Page|page]] or [[Document|document]] has a name. Names are (currently) unique, meaning no two pages or documents can share the same name.
|
||
|
||
# Rules
|
||
Names _must_ also follow certain rules:
|
||
- Names cannot be empty
|
||
- Names cannot start with a `.`, `^` nor `/`
|
||
* Names cannot contain the characters `|`, `@` or `#`
|
||
* Names cannot contain the sequences `[[` or `]]`
|
||
* Names cannot contain one or two `.` enclosed by a combination of the start/end of the name or `/`
|
||
* Names cannot contain `//`
|
||
* Names cannot end in `.md` (See [[Paths#Relation to names]] section)
|
||
- (Names are case-sensitive and contrary to most filesystem, `/` is allowed)
|
||
|
||
## Valid Examples
|
||
- “foo”
|
||
- “this/is/a/page/name”
|
||
- “this/.../is/also/a/page”
|
||
- “this/is/a/document.png”
|
||
|
||
## Invalid Examples
|
||
- “foo@bar”
|
||
- “.foo”
|
||
- “foo//bar”
|
||
- “foo/../bar”
|
||
|
||
# Special characters
|
||
Certain HTTP reverse proxies may block “suspicious” characters (such as `?`, `#` and `;`) by default, including Traefik, [see this thread](https://community.silverbullet.md/t/traefik-proxied-setups-block-page-names-with-fix/3724/2) on how to work around this.
|
||
|
||
# Naming conventions
|
||
Beyond the hard rules above, there is a widely-used stylistic convention for everyday content pages:
|
||
|
||
* **Use Title Case with spaces**: name a page as you’d write it in prose: `Customer Persona`, `Release Process` — not `customer-persona`, `release_process`, or `CustomerPersona`. The page name doubles as its title and as inline link text, so a readable name reads well in context: `see [[Release Process]]`.
|
||
* **Keep the namespace flat** by default: place most pages at the top level and reach for folders only once a clear grouping earns it. See [[Best Practices#Flat name space]] for the rationale.
|
||
|
||
These are conventions, not enforced rules — your space is yours to organise however suits you. |