export const siteConfig = { // site meta info title: '/var/log/mercury', description: 'A blog about software development, technology, and life.', homepageOgImage: '', defaultAuthor: { id: 'd6e4661d', // (optional) an id in the authors.yaml, will override the setting below (if id exists) name: 'GrassBlock1', email: 'hi@mercury.info', }, // features noClientJavaScript: false, // disable client-side javascript, this will: // 1. disable all built-in client-side javascript from rendering // 2. the full text search will be redirected to a search engine // 3. the comments will be globally disabled // 4. the night mode & back to top will not use Javascript to function // 5. the neko will be force-disabled // site components navBarItems: [ // additional items in the navbar // the order of the items will be the same as the order in the array // format is { text: string, link: string } { text: "RSS", link: "/rss.xml" }, { text: "GitHub", link: "https://github.com/GrassBlock1/mercury" }, ], // search // This only works when noClientJavaScript is enabled searchEngine: 'bing', // 'google', 'duckduckgo', 'bing'(broken until M1cr0$0ft get support for it), defaults to 'google' // content displayAvatar: true, // display author avatar in the article list and info line of article page // encryption // the global password to encrypt/decrypt the content, if set, all without specifying a password will be encrypted with this password // To use an environment variable to set the password, replace the value with `import.meta.env.CONTENT_PASSWORD` // (or process.env.CONTENT_PASSWORD, CONTENT_PASSWORD can be any string) and set the environment variable in your deployment service. contentPassword: 'p1easeChangeMe!', // footer // yes you can write html safely here customFooter: 'I have no mouth, and I must SCREAM', // comments comments: { type: 'artalk', // 'artalk','giscus','fediverse','email','hatsu' artalk: { instanceDomain: '', // the domain of your artalk instance }, giscus: { // get these params from giscus.app repo:"[ENTER REPO HERE]", repoId: "[ENTER REPO ID HERE]", category:"[ENTER CATEGORY NAME HERE]", categoryId:"[ENTER CATEGORY ID HERE]", mapping:"pathname", strict:"0", reactionsEnabled:"1", emitMetadata:"0", inputPosition:"bottom", theme:"preferred_color_scheme", lang:"en" }, // WIP fediverse: { // use Mastodon (compatible) api to search posts and parse replies // it will search for the post's link by default renderOnServer: false, // render comments on server-side or client-side, may different from the astro config // the comments are rendered at the client side by default // but if you want to deploy site on Cloudflare pages or other services that supported by astro adapters you can set it to true. // you may get warning from the console about the project not containing any server rendered page, but it is ok. // to fix this add a `export const prerender = false` to Comments.astro // a reverse proxy is recommended in pure client-side rendering mode to get the posts from the fediverse instance // that requires to be authorized to use search api the instance useReverseProxy: false, reverseProxyUrl: '', // the url of the reverse proxy, usually a cloudflare worker proxying the search api // the reverse proxy should be able to handle the following request: // GET /api/v1/search?q={query}&type=statuses&account_id=12345678 // GET /api/v1/statuses/12345678/context // response body should be returned from the origin (fediverse instance) as-is. accountId: '', // the account id to search posts from, can be got from api like: https://{instance}/api/v1/accounts/{username without domain part} instanceDomain: '', // the domain of the fediverse instance to search posts from useV2api: true, // use /api/v2/search instead of /api/v1/search to search on instance using newer version of mastodon/pleroma/akkoma token: process.env.MASTODON_API_TOKEN, // the token to use to authenticate with the fediverse instance, usually a read:search-only token }, hatsu: { // use hatsu.cli.rs to get replies from the fediverse instanceDomain: '', } }, // umami analytics // by enabling this, you can track the visitors of your site umami: { enabled: false, // enable umami analytics instanceDomain: 'cloud.umami.is', // the url of the umami script, usually your-umami-instance.com (default: official cloud.umami.is) websiteId: 'your-website-id', // the id of your website in umami, get it from your umami dashboard }, // neko // by enabling this, you can add a neko that follows cursor to your site // this will load script from webneko.net neko: { enabled: false, type: 'mike' // more available, for a full list, check https://webneko.net/ } }