diff options
| author | Jieiku | 2026-08-14 15:10:15 -0700 |
|---|---|---|
| committer | Jieiku | 2026-08-14 15:10:15 -0700 |
| commit | c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c (patch) | |
| tree | 51a272ef184752e27bb70c07e4726dbdbbe6e237 /zola.toml | |
| parent | d52609f456f233ec0845c8a57a1e27583f0813ad (diff) | |
| download | abridge-c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c.tar.gz abridge-c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c.tar.bz2 abridge-c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c.zip | |
Update for Zola 0.23.3
Diffstat (limited to 'zola.toml')
| -rw-r--r-- | zola.toml | 400 |
1 files changed, 400 insertions, 0 deletions
diff --git a/zola.toml b/zola.toml new file mode 100644 index 0000000..52e4625 --- /dev/null +++ b/zola.toml @@ -0,0 +1,400 @@ +# do NOT include a trailing slash on the base URL +base_url = "https://abridge.netlify.app" +# Usable site directly from disk, Including Search: "/home/jieiku/.dev/abridge/public" +# Also set index format = "elasticlunr_javascript", and in [extra] uglyurls = true, integrity = false +# If you use the npm/node script then all you have to do is set search_library = "offline", and everything else is automatic. + +title = "Abridge" +description = "Abridge is a fast, lightweight, and modern Zola theme (class-light, semantic HTML). Perfect Lighthouse, YellowLabTools, and Observatory scores."#for SEO aim for 140-180 Characters +#theme = "abridge" + +default_language = "en" +compile_sass = true +minify_html = false +build_search_index = true +generate_feeds = true +taxonomies = [ +# {name = "categories", feed = true}, + {name = "tags", feed = true}, +] + +#ignored_content = [] +#ignored_static = ["apple-touch-icon.png","banner.png","safari-pinned-tab.svg","favicon*","m*.png","android-chrome*png"] + +#feed_filename = "atom.xml" +#output_dir = "public" +#ignored_content = ["*.{graphml,xlsx}", "temp.*"] +#hard_link_static = false # set to true to hard link instead of copying, useful for very large files. + +[search] # Options specific to elasticlunr search. +# index format can be: elasticlunr_json or elasticlunr_javascript or fuse_json +index_format = "elasticlunr_json" +include_title = true # include title of page/section in index +include_description = true # include description of page/section in index +include_content = true # include rendered content of page/section in index +# truncate_content_length = 100 # Truncate at nth character. May be useful if index is getting too large. + +[markdown] +bottom_footnotes = true # adds footnote backreference +render_emoji = false +external_links_target_blank = true # rel="noopener" +external_links_no_follow = false # rel="nofollow" +external_links_no_referrer = false # rel="noreferrer" +smart_punctuation = false # `...` to `…`, `"quote"` to `“curly”` etc + +[markdown.highlighting] +theme = "plastic" #The plastic syntax theme is lightweight, but the colors are defined in abridge _colors-syntax.scss (not really the plastic theme, and you can change the colors to whatever you want) +error_on_missing_language = true +style = "class" + +# Any Extra language you do not use, delete or comment out the extra language sections: +[languages.fr] +title = "Abridge" +description = "Abridge est un thème Zola rapide et léger utilisant le html sémantique, le CSS abridge.css class-light et aucun JS obligatoire." +generate_feeds = true +build_search_index = true +search.include_title = true # include title of page/section in index +search.include_description = true # include description of page/section in index +search.include_content = true # include rendered content of page/section in index +# search.truncate_content_length = 100 # Truncate at nth character. May be useful if index is getting too large. +taxonomies = [ +# {name = "categories", feed = true}, + {name = "tags", feed = true}, +] + +[languages.es] +title = "Abridge" +description = "Abridge es un tema de Zola rápido y liviano que utiliza HTML semántico, CSS ligero de clase abridge.css y JS no obligatorio." +generate_feeds = true +build_search_index = true +search.include_title = true # include title of page/section in index +search.include_description = true # include description of page/section in index +search.include_content = true # include rendered content of page/section in index +# search.truncate_content_length = 100 # Truncate at nth character. May be useful if index is getting too large. +taxonomies = [ +# {name = "categories", feed = true}, + {name = "tags", feed = true}, +] + +[languages.pt] +title = "Abridge" +description = "Abridge é um tema rápido e leve que usa HTML semântico, CSS de clase leve abridge.css y JS não obrigatório." +generate_feeds = true +build_search_index = true +search.include_title = true # include title of page/section in index +search.include_description = true # include description of page/section in index +search.include_content = true # include rendered content of page/section in index +# search.truncate_content_length = 100 # Truncate at nth character. May be useful if index is getting too large. +taxonomies = [ +# {name = "categories", feed = true}, + {name = "tags", feed = true}, +] + +[extra] +############################################################################### +### Layout & Format +### position: top, bottom, both, false(hidden) +### size: s150, s140, s130, s120, s110, s95, s90, s85, s80, s75, s70, false(full size) +### divider: " " "·" "•" +############################################################################### + +menu = [ +# {url = "blog", name = "Blog", slash = true, blank = false, size="s110"}, +# {url = "about", name = "About", slash = true, blank = false, size="s110"}, + {url = "archive", name = "Posts", slash = true, blank = false, size="s110"}, +# {url = "categories", name = "Categories", slash = true, blank = false, size="s110"}, + {url = "tags", name = "Tags", slash = true, blank = false, size="s110"}, +] +menu_footer = [ + {url = "about", name = "About", slash = true, blank = false, size="s90"}, + {url = "contact", name = "Contact", slash = true, blank = false, size="s90"}, + {url = "privacy", name = "Privacy", slash = true, blank = false, size="s90"}, + {url = "sitemap.xml", name = "Sitemap", slash = false, blank = true, size="s90"}, +] + +toc = true +recent = true # TOC / index +recent_items = 15 +series = true +series_items = 9 # Max number of items to display in series list, use 0 to disable +#Series_parts = "$NUMBER_OF_PARTS part Series" + +#arrow_pagination = true # If set to true then the pagination will use the old arrows mode, be sure to also enable the icons. + +meta_index = { position="bottom", size="s90", author=false, readtime=false, readstring="min", date=true, updated=false, categories_tags=true, divider="" } +meta_post = { position="top", size="s95", author=true, readtime=false, readstring="min read", date=true, updated=true, categories_tags=true, divider="" } + +hide_section_dates = false # hides the date for sections that use posts.html as their template. +hide_page_nextprev_titles = false # hides the next/previous titles for pages that use page.html as their template. +title_size_index = "s85" +footer_size = "s80" # the size of the copyright and powered by text +footer_credit = true +#footer_credit_override = '<p class="s90">Powered by <a href="https://www.getzola.org/" target="_blank">Zola</a> & <a href="https://github.com/Jieiku/abridge/" target="_blank">Abridge</a></p>' +#archive_reverse = true # Set to True to sort posts chronologically per year instead of newest first on the archive page: example.com/archive/ + +### Uncomment one of the below lines, or neither, depending on which type of logo you want to use: +#logo = { file="logo.svg", width="32", height="32", alt="Abridge", text="bridge" } +#textlogo = '<font color="#f90">A</font>bridge' +textlogo = '<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="#f90" viewBox="0 0 96 96" width="28" height="28"><path stroke-width="14" d="M14 99 46 7h4l32 92"/><path stroke-width="9" d="M-3 82c43-26 59-26 102 0"/><path stroke-linecap="round" stroke-width="1.5" d="M94 72v7m-5-9.8v7m-5-9.8v7.1M79 64v7M63 57.7v7m-5-8.2v7m-5-7.8v7m-5-7.2v7m-5-6.7v7m-5-6.3v7m-5-5.8v7M17 64v7m-5-4.6v7m-5-4.2v7M2 72v7"/></svg>bridge' + +sitedesc = false # enables or disables the display of the site description below the logo. +headhr = false # show or hide horizontal rule below header +foothr = false # show or hide horizontal rule above footer + +### $CURRENT_YEAR and $SITE_TITLE can be used anywhere within the copyright, you can change their position or you can also delete them and type whatever you want instead. +#copyright = false # set to false to disable the copyright. +#copyright_override = '© 2019-$CURRENT_YEAR $SITE_TITLE' +#copyright_override = '© $CURRENT_YEAR $SITE_TITLE • Website content is licensed <a rel="noopener" target="_blank" href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.' + + +############################################################################### +### meta/seo/analytic tags +### To disable title_addition but keep built in page additions eg, Posts page: "Posts | Abridge" set title_addition to an empty string +### To always set the page title exactly eg "Abridge" then comment out title_addition or set to false (not recommend, bad for SEO) +############################################################################### + +title_separator = "|" # Separator between title and title_addition, set as |, -, _, etc +title_addition = "Fast, Lightweight, and Modern Zola Theme" # a default value for title addition (for SEO aim for 50-70 characters including the title and separator 'Abridge | title_addition') +author = "Jake G" # Put Your Name here +keywords = "Abridge, Abridge.css, Zola, Theme, Zola Theme, getzola, Semantic Html, Fast, lightweight" # used for the primary site index +banner = "banner.png" # Used as default image for OpenGraph/Twitter if page specific image is undefined. +twitter_meta = "your-user-name" # for SEO: twitter:site and twitter:creator +google = "Your Google Site verification code." +bing = "Your Bing Site verification code." +seo = true # enable or disable seo-related meta tags: opengraph, facebook, twitter +#dev = false # development mode, if true then robots.txt should prevent search indexing. + +#head_extra = '<meta name="analytics" content="my-analytics-id" /><meta name="advertising" content="my-advertising-id" />' + + +############################################################################### +### Footer social links; these are used in macros/social.html +### https://github.com/Jieiku/abridge/blob/master/templates/macros/social.html +############################################################################### + +feed = true # this adds the RSS feed icon in the footer. +mail = "name@example.com" +mastodon = "https://mastodon.example.com/@username" +element = "matrix.example.com" +#buymeacoffee = "your-user-name" +kofi = "your-user-name" +#discord = "https://discord.com/invite/my-server" # https://discord.com/invite/my-server *or* https://discord.com/servers/my-server-id +#twitter = "your-user-name" +#facebook = "your-user-name" +#linkedin = "your-user-name" +#gitlab = "your-user-name" +github = "your-user-name" +#codeberg = "your-user-name" # Everything after https://codeberg.org/ eg: username *or* username/repository +#github_sponsor = "your-user-name" +#bitbucket = "your-user-name" +#python = "your-user-name" +#docker = "your-user-name" +#stack = "your-user-name" +instagram = "your-user-name" +#pixelfed = "https://pixelfed.example.com/" # Heaviest icon, off by default +#pinterest = "your-user-name" +twitch = "your-user-name" +youtube = "channel/your-channel-id" +#peertube = "https://peertube.example.com/@username" +#researchgate = "your-profile-id" +#telegram = "your-user-name" + + +############################################################################### +### Resource Files +### You can load extra css files if you need to, just separate by comma: +### stylesheets = [ "abridge.css", "extra.css" ] +### search_library, library to use. valid values: +### false, "elasticlunr", "elasticlunrjava", "pagefind", "tinysearch", "offline" +### elasticlunr - elasticlunr using the elasticlunr_json index format +### elasticlunrjava - elasticlunr using the elasticlunr_javascript index format +### pagefind - pagefind using the fuse_json index format +### tinysearch - tinysearch using the fuse_json index format +### offline - elasticlunr using the elasticlunr_javascript index format with content paths relative to the location on disk. +### (offline: implies uglyurls=true and integrity=false, node script will pass base_url argument as the path on disk.) +### +### The PWA feature is another way to build an offline site, so there are now two +### different ways to build an offline site with Abridge. +############################################################################### + +uglyurls = false # if set to true then links are generated with the full path. eg https://abridge.netlify.app/index.html +integrity = true # increases site security, should normally be true. (setting to false is useful during js development) +js_bundle = true # multiple javascript files combined into a single file (setting to false is useful during js development) + +js_copycode = true # The copy button on code blocks that allows you to copy them to the clipboard. +js_email_encode = true # obfuscates email address in footer +js_prestyle = true # used to preload: FontAwesome, Katex, external Google Fonts +js_switcher = true # The button that allows manually changing between light/dark mode. +js_switcher_default = "dark" # default nojs switcher mode: dark, light (make sure to also set $switcherDefault in abridge.scss) + +search_library = "elasticlunr" +stylesheets = ["abridge.css"] + +webmanifest = "manifest.min.json" # Required for PWAs + + +############################################################################### +### PWA (Progressive Web Application) +### By default Abridge has pwa_NORM_TTL and pwa_LONG_TTL set to 0, this essential turns the PWA cache strategy into network first. +### Abridge uses cachebust hashing on js and css files, so anytime a page cache is updated, these resources would also get updated if changed. +### Media files rarely change, especially font files, so it is a good idea cache indefinitely. +### For pwa_TTL_EXEMPT indefinitely cached resources, you can force a new cache by incrementing the pwa_VER (cache version number). +### If you would like to try a cache first strategy then set a value higher than 0 for pwa_NORM_TTL and pwa_LONG_TTL. +### The options below other than pwa=true, only come into play when the npm/node script is ran. +############################################################################### + +pwa = true # true to load the service worker +pwa_VER = '3.12.1' # Service Worker cache version. (increment if you need to force a new cache) + +### 3600=1hour, 28800=8hours, 86400=1day, 604800=1week, 1209600=2weeks +pwa_NORM_TTL = 0 # 86400 is reasonable. html, json, xml, anything else undefined +pwa_LONG_TTL = 0 # 604800 is reasonable. + +### list of files that overrides TTL_LONG/TTL_EXEMPT to be a NORM TTL. +pwa_TTL_NORM = '"sw.min.js", "sw_load.min.js"' + +### TTL_LONG file extensions will be cached for the LONG_TTL duration. +pwa_TTL_LONG = '"jpg", "jpeg", "png", "gif", "webp", "avif", "ico", "svg", "xsl", "txt"' + +### TTL_EXEMPT file extensions will be cached indefinitely unless sw_load version is incremented, which would invalidate any existing cache. (and a new cache would be started) +pwa_TTL_EXEMPT = '"js", "css", "otf", "eot", "ttf", "woff", "woff2", "mp4", "webm", "mp3", "ogg"' + +### If set to true then the entire site is cached. (useful for making an entire site usable while offline) +pwa_cache_all = true + +### List of Files for the PWA to initially Cache, used if pwa_cache_all = false +pwa_BASE_CACHE_FILES = "'/js/theme.min.js','/js/theme_light.min.js','/abridge.css','/js/abridge.min.js','/','/404.html','/offline/','/manifest.min.json'" + +pwa_IGNORE_FILES = ["_headers","sw.min.js","sw.js"] +#pwa_IGNORE_FILES = ["_headers","sw.min.js","sw.js","android-chrome-192x192.png","android-chrome-512x512.png","apple-touch-icon.png","favicon-16x16.png","favicon-32x32.png","favicon.ico","m48.png","m72.png","m96.png","m128.png","m192.png","m384.png","m512.png","m1024.png","mstile-150x150.png"] + +############################################################################### +### Favicons, comment out a line to disable loading some or all of these if needed. +############################################################################### + +favicon_theme_color = "#333333" +favicon_ms_color = "#333333" +favicon_mask = "safari-pinned-tab.svg" # safari-pinned-tab.svg +favicon_mask_color = "#ff9900" +favicon_svg = "favicon.svg" # favicon.svg +favicon180 = "apple-touch-icon.png" # apple-touch-icon.png +favicon32 = "favicon-32x32.png" # favicon-32x32.png +favicon16 = "favicon-16x16.png" # favicon-16x16.png + + +############################################################################### +### Commenting System for visitors to leave comments on pages. +### hyvor talk +### remark42 +############################################################################### + +#comment_system = "hyvor" # valid values are: "hyvor", "remark42" + +#comments.hyvor = "9366" # hyvor website id, comment out to disable. +#comments.hyvorcolor = "os" # set the color property for hyvor + +#comments.remark42 = "https://comments.example.com" # remark42 server url, comment out to disable. +#comments.remark42_site_id = "remark" # remark42 site id + +############################################################################### +### Icons +### Loading the entire fontawesome icon collection will negatively impact your sites performance. +### For a lightweight solution consider adding only the icons that you need. +### you can load individual scss based svg icons by including them in the _extra.scss file +### https://github.com/Jieiku/abridge/blob/master/COPY-TO-ROOT-SASS/_extra.scss +############################################################################### + +### To disable any of these icons set them to "false" (will default to unicode icons instead) +#icon_search = "svgs svgm search" # Search button in search box. +#icon_adjust = "svgs adjust" # Theme Switcher button in top menu. (add class svgh to change colors on hover) +#icon_first = "svgs svgh angll" # Pagination First Page. +#icon_prev = "svgs svgh angl" # Pagination Previous Page. +#icon_next = "svgs svgh angr" # Pagination Next Page. +#icon_last = "svgs svgh angrr" # Pagination Last Page. +#icon_top = "svgs svgh angu" # Back to Top Button. + +#icon_read = "svgs fa-solid fa-glasses" # displayed in metadata on index and below title on page. +#icon_date = "svgs fa-solid fa-calendar" # displayed in metadata on index and below title on page. +#icon_info = "svgs fa-solid fa-circle-info" # displayed in metadata on index and below title on page for categories/tags +#icon_author = "svgs fa-solid fa-pen-fancy" # displayed in metadata on index and below title on page. + +### Uncomment below line to load fontawesome, eg: <i class="fa-solid fa-heart"></i> +#fontawesome = "https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.1.1/css/all.min.css" +#icon_read = "svgs fa-solid fa-glasses" # displayed in metadata on index and below title on page. +#icon_date = "svgs fa-solid fa-calendar" # displayed in metadata on index and below title on page. +#icon_info = "svgs fa-solid fa-circle-info" # displayed in metadata on index and below title on page for categories/tags +#icon_author = "svgs fa-solid fa-pen-fancy" # displayed in metadata on index and below title on page. + + +############################################################################### +### Security Settings +### Security Headers should preferably be set by your webserver (Nginx, Apache) +### https://observatory.mozilla.org https://csp-evaluator.withgoogle.com/ +### If you are unable to load your security headers with your webserver, this will load a couple of them as meta tags. +### There are many other security related headers most of which can only be set by the webserver method. +### If you happen to use Netlify, you can define all the headers in your netlify.toml file: +### https://github.com/Jieiku/abridge/blob/master/netlify.toml +### UnComment any of these lines to enable their meta tags. +############################################################################### + +#security_header_referrer = "strict-origin-when-cross-origin" + +#security_header_csp = "default-src 'none'; object-src 'none'; base-uri 'self'; manifest-src 'self'; connect-src 'self'; form-action 'self'; script-src 'self'; img-src 'self' data: cdn.cloudflare.com; frame-src 'self' www.youtube-nocookie.com player.vimeo.com; media-src 'self' data: cdn.cloudflare.com www.youtube-nocookie.com player.vimeo.com; font-src 'self' cdn.cloudflare.com cdn.jsdelivr.net fonts.gstatic.com; style-src 'self' cdn.cloudflare.com cdn.jsdelivr.net fonts.googleapis.com;" + + +############################################################################### +### FONTS - Abridge by default uses the System Font Stack +### https://css-tricks.com/snippets/css/system-font-stack/ +### However if you need you can load a specific font below, +### make sure to have the relevant woff2 fonts in your static/fonts folder +### I measured the least Cumulative Layout Shift with: Roboto, Lato, Arimo +############################################################################### + +### For externally loaded Fonts, make sure to include the FULL url including the https prefix: + +#fonts = [ {url = "https://fonts.googleapis.com/css?family=Roboto:400,700,italic|Roboto+Mono:400,italic"} ] + +### Local fonts are defined in the css, https://github.com/Jieiku/abridge/tree/master/COPY-TO-ROOT-SASS/fonts/_Arimo.scss +### To load a local font resource, look at the bottom of this file: https://github.com/Jieiku/abridge/blob/master/COPY-TO-ROOT-SASS/abridge.scss + +### After loading them in the CSS, You can also define them below and it will add the preload tag to the head. +### preloading fonts will eliminate Content Layout Shift, but will hurt with page load time. (not recommended) + +#fonts = [ +# {url = "fonts/Roboto-Mono.woff2"}, +# {url = "fonts/Roboto-Mono-Italic.woff2"}, +# {url = "fonts/Roboto.woff2"}, +# {url = "fonts/Roboto-Italic.woff2"}, +# {url = "fonts/Roboto-Bold.woff2"}, +#] + + +############################################################################### +### Katex - math js library, used to to render mathematical notations +### It's best to enable katex on a per page bases as I did here: +### https://abridge.netlify.app/overview-math/ +### https://github.com/Jieiku/abridge/blob/master/content/overview-math.md?plain=1#L11-L13 +### Otherwise you will load the katex related javascript on every page! +############################################################################### + +#katex_options = "js/katexoptions.js" +#katex_bundle = "js/katexbundle.min.js" + +### Load Katex Local Resources +#katex_css = "katex.min.css" # Fonts - load the css/fonts locally +#katex_js = "js/katex.min.js" # use local js, so that we dont have to whitelist cdn.jsdelivr.net for script src in CSP +#mathtex_js = "js/mathtex-script-type.min.js" # use local js, so that we dont have to whitelist cdn.jsdelivr.net for script src in CSP +#katex_autorender_js = "js/katex-auto-render.min.js" + +### Load Katex External Resources +#katex_css = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.css" # Fonts - use remote fonts +#katex_css_integrity = "sha384-ZPe7yZ91iWxYumsBEOn7ieg8q/o+qh/hQpSaPow8T6BwALcXSCS6C6fSRPIAnTQs" +#katex_js = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/katex.min.js" +#katex_js_integrity = "sha384-ljao5I1l+8KYFXG7LNEA7DyaFvuvSCmedUf6Y6JI7LJqiu8q5dEivP2nDdFH31V4" +#katex_autorender_js = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/contrib/auto-render.min.js" +#katex_autorender_js_integrity = "sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" +#mathtex_js = "https://cdn.jsdelivr.net/npm/katex@0.15.6/dist/contrib/mathtex-script-type.min.js" +#mathtex_js_integrity = "sha384-jiBVvJ8NGGj5n7kJaiWwWp9AjC+Yh8rhZY3GtAX8yU28azcLgoRo4oukO87g7zDT" + +#math = false # Recommended setting false, and enable on per page bases instead. +#math_auto_render = false # Recommended setting false, and enable on per page bases instead. |
