A CLI for publishing standard.site documents to ATProto sequoia.pub
standard site lexicon cli publishing
57
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 594cd4354d381a673d1ad73c0aeb4d9ae8801703 157 lines 4.1 kB view raw
1{ 2 "$schema": "http://json-schema.org/draft-07/schema#", 3 "title": "PublisherConfig", 4 "type": "object", 5 "additionalProperties": false, 6 "required": ["siteUrl", "contentDir", "publicationUri"], 7 "properties": { 8 "$schema": { 9 "type": "string", 10 "description": "JSON schema hint" 11 }, 12 "siteUrl": { 13 "type": "string", 14 "format": "uri", 15 "description": "Base site URL" 16 }, 17 "contentDir": { 18 "type": "string", 19 "description": "Directory containing content" 20 }, 21 "imagesDir": { 22 "type": "string", 23 "description": "Directory containing cover images" 24 }, 25 "publicDir": { 26 "type": "string", 27 "description": "Static/public folder for `.well-known` files", 28 "default": "public" 29 }, 30 "outputDir": { 31 "type": "string", 32 "description": "Built output directory for inject command" 33 }, 34 "pathPrefix": { 35 "type": "string", 36 "description": "URL path prefix for posts", 37 "default": "/posts" 38 }, 39 "publicationUri": { 40 "type": "string", 41 "description": "Publication URI" 42 }, 43 "pdsUrl": { 44 "type": "string", 45 "format": "uri", 46 "description": "Personal data server URL (PDS)", 47 "default": "https://bsky.social" 48 }, 49 "identity": { 50 "type": "string", 51 "description": "Which stored identity to use (matches identifier)" 52 }, 53 "frontmatter": { 54 "type": "object", 55 "additionalProperties": false, 56 "description": "Custom frontmatter field mappings", 57 "properties": { 58 "title": { 59 "type": "string", 60 "description": "Field name for title", 61 "default": "title" 62 }, 63 "description": { 64 "type": "string", 65 "description": "Field name for description", 66 "default": "description" 67 }, 68 "publishDate": { 69 "type": "string", 70 "description": "Field name for publish date (checks \"publishDate\", \"pubDate\", \"date\", \"createdAt\", and \"created_at\" by default)", 71 "default": "publishDate" 72 }, 73 "coverImage": { 74 "type": "string", 75 "description": "Field name for cover image", 76 "default": "ogImage" 77 }, 78 "tags": { 79 "type": "string", 80 "description": "Field name for tags", 81 "default": "tags" 82 }, 83 "draft": { 84 "type": "string", 85 "description": "Field name for draft status", 86 "default": "draft" 87 }, 88 "slugField": { 89 "type": "string", 90 "description": "Frontmatter field to use for slug (if set, uses frontmatter value; otherwise uses filepath)" 91 } 92 } 93 }, 94 "ignore": { 95 "type": "array", 96 "description": "Glob patterns for files to ignore", 97 "items": { 98 "type": "string" 99 } 100 }, 101 "removeIndexFromSlug": { 102 "type": "boolean", 103 "description": "Remove \"/index\" or \"/_index\" suffix from paths", 104 "default": false 105 }, 106 "stripDatePrefix": { 107 "type": "boolean", 108 "description": "Remove YYYY-MM-DD- prefix from filenames (Jekyll-style)", 109 "default": false 110 }, 111 "pathTemplate": { 112 "type": "string", 113 "description": "URL path template with tokens like {year}/{month}/{day}/{slug} (overrides pathPrefix + slug)" 114 }, 115 "textContentField": { 116 "type": "string", 117 "description": "Frontmatter field to use for textContent instead of markdown body" 118 }, 119 "publishContent": { 120 "type": "boolean", 121 "description": "Whether or not to publish the documents content on the standard.site document", 122 "default": true 123 }, 124 "bluesky": { 125 "type": "object", 126 "additionalProperties": false, 127 "description": "Optional Bluesky posting configuration", 128 "required": ["enabled"], 129 "properties": { 130 "enabled": { 131 "type": "boolean", 132 "description": "Whether Bluesky posting is enabled", 133 "default": false 134 }, 135 "maxAgeDays": { 136 "type": "integer", 137 "minimum": 0, 138 "description": "Only post if published within N days", 139 "default": 7 140 } 141 } 142 }, 143 "ui": { 144 "type": "object", 145 "additionalProperties": false, 146 "description": "Optional UI components configuration", 147 "properties": { 148 "components": { 149 "type": "string", 150 "description": "Directory to install UI components", 151 "default": "src/components" 152 } 153 }, 154 "required": ["components"] 155 } 156 } 157}