Skip to main content
blog.json sets your logo and favicon, the links in the navbar and footer, an announcement banner and the actions next to every post. To replace the header or footer with your own markup instead, see Match your website.

Logo and favicon

blog.json
  • logo is one path or a light and dark version, and href is where the logo links to, usually your homepage. The header shows the logo next to name.
  • favicon is one path or { "light": ..., "dark": ... }, and a PNG or JPEG favicon also becomes the icon when someone saves the page to their home screen.
blog.json
On phones, the links move into a menu.
blog.json
  • links is either a flat list of up to 16 links or up to 6 columns with an optional header and 1 to 12 items each, and you can’t mix the two.
  • socials takes x, github, linkedin, youtube, discord, slack, instagram, facebook, bluesky, threads, reddit, medium, telegram, hacker-news and website. Search engines get them as your company’s profiles, and Notra uses the x account for X link previews.
blog.json
The banner is one line of Markdown (links, bold, italic, code) of up to 300 characters across the top of every page.

Post actions

Every blog post has Copy article and an Open in menu next to its date, so readers can copy the post as Markdown or ask an AI assistant about it. contextual sets what the menu offers:
blog.json
  • Built-in options: copy, view (the Markdown version), chatgpt, claude, t3chat, perplexity and grok, and all seven show by default.
  • Your own options: a title, an optional description and Lucide icon, and an href, where Notra replaces {url} and {markdownUrl} with the post’s address.
  • Limits: up to 12 options, and "display": "none" hides the actions.
Last modified on October 8, 2026