Posts are the primary content type in yufan.me. Each post is served atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/syhily/yufan.me/llms.txt
Use this file to discover all available pages before exploring further.
/posts/:slug and shares the global slug namespace with pages — a slug used by any post cannot be reused by a page, and vice versa. Posts support categories, tags, cover images, a rich Tiptap editor body, and fine-grained visibility controls.
Creating a post
Open the post list
Navigate to Admin → Posts in the sidebar. Click New Post in the top-right corner.
Fill in the post title
Enter a title. The slug field is pre-filled automatically — see the tip below about slug derivation.
Select a category
Choose a single category from the dropdown. Categories must be created in Admin → Categories before they appear here.
Set a cover image
Pick an image from the image library. The library requires S3 storage to be enabled. If no cover is set, the post falls back to
/images/open-graph.png on the public site.Write the body
Use the Tiptap editor to write your content. See Using the Tiptap content editor for a full reference of supported block types and toolbar controls.
Draft vs published
A post is treated as a draft — and therefore invisible to the public — under either of the following conditions:- The Published toggle is
false, or - The post has no published revision (i.e. the body has never been saved to the published revision slot).
published=true but no published revision will not appear on the home page or in any public listing.
Draft posts do not appear on the home page, in tag and category feeds, in RSS/Atom, or in the sitemap. They remain accessible in /archives and in the admin console.
Scheduling
Set a future date in the Publish date field to schedule a post. The post is promoted to the published revision slot immediately, but the catalog filter (publishedAt <= now()) keeps it hidden from public listings, feeds, and the sitemap until the scheduled time arrives. No cron job or manual action is needed — the post becomes visible automatically when the publish date is reached.
Post fields
| Field | Description |
|---|---|
| Title | Display title (max 200 characters). Required. |
| Slug | URL identifier for the post. Auto-derived from the title; editable. Must be unique across all posts and pages. |
| Category | Single category assignment. Optional. |
| Tags | One or more tag assignments. Optional. |
| Cover image | Image from the library used as the post thumbnail and OG image. Defaults to /images/open-graph.png when empty. |
| Summary | Short excerpt (max 500 characters) used in listings and meta description. |
| Body | Full post content, authored in the Tiptap editor and stored as PortableText JSON. |
| Published | When true and a published revision exists, the post is visible to the public. |
| Publish date | Controls public visibility timing. Future dates keep the post hidden until the time arrives. |
| Featured | Marks the post for special treatment on the home page (see below). |
| Visible | When false, hides the post from the home page and random-post widgets (see below). |
| Show ToC | Renders a table of contents sidebar from heading anchors. |
| Show updated date | Displays the last-updated timestamp on the post page. |
| Comments enabled | Allows readers to post comments on this post. |
| Pinned | Pin the post to the top of listings. Set a pin date to control pin order. |
| Aliases | Additional slug aliases that redirect to this post’s canonical URL. |
| OG image | Custom Open Graph image URL. Falls back to the cover image when empty. |
Featured posts
Setting Featured totrue marks a post for home page promotion. Whether featured posts receive special visual treatment depends on the featureEnabled toggle in Admin → Settings → Content. When that setting is off, featured posts render identically to non-featured posts.
Visibility
Setting Visible tofalse hides a post from:
- The public home page
- The random-post widget in the sidebar
/archives- Tag and category listing pages
/searchsitemap.xml- RSS and Atom feeds
visible=false for posts you want indexed and linked but not surfaced prominently.
Deleting a category or tag that still has posts assigned to it is blocked at the database level. You must reassign or remove the taxonomy from every post that references it before the deletion is allowed.