# The base URL of the site; the only required configuration variable. base_url = "https://blog.zlinux.ru" # The site title and description; used in feeds by default. title = "~/zloy_linux" description = "Блог о Linux, технологиях и жизни. Только хардкор, лайфхаки и реальные истории." # The default language; used in feeds. default_language = "ru" # The site theme to use. theme = "tabi" # For overriding the default output directory `public`, set it to another value (e.g.: "docs") output_dir = "public" # Whether dotfiles at the root level of the output directory are preserved when (re)building the site. # Enabling this also prevents the deletion of the output folder itself on rebuilds. preserve_dotfiles_in_output = false # When set to "true", the Sass files in the `sass` directory in the site root are compiled. # Sass files in theme directories are always compiled. compile_sass = true # When set to "true", the generated HTML files are minified. minify_html = true # A list of glob patterns specifying asset files to ignore when the content # directory is processed. Defaults to none, which means that all asset files are # copied over to the `public` directory. # Example: # ignored_content = ["*.{graphml,xlsx}", "temp.*", "**/build_folder"] ignored_content = [] # Similar to ignored_content, a list of glob patterns specifying asset files to # ignore when the static directory is processed. Defaults to none, which means # that all asset files are copied over to the `public` directory ignored_static = [] # When set to "true", a feed is automatically generated. generate_feeds = true # The filenames to use for the feeds. Used as the template filenames, too. # Defaults to ["atom.xml"], which has a built-in template that renders an Atom 1.0 feed. # There is also a built-in template "rss.xml" that renders an RSS 2.0 feed. feed_filenames = ["atom.xml"] # The number of articles to include in the feed. All items are included if # this limit is not set (the default). # feed_limit = 20 # When set to "true", files in the `static` directory are hard-linked. Useful for large # static files. Note that for this to work, both `static` and the # output directory need to be on the same filesystem. Note that the theme's `static` # files are always copied, regardless of this setting. hard_link_static = false # The default author for pages author = "zloy" # The taxonomies to be rendered for the site and their configuration of the default languages # Example: # taxonomies = [ # {name = "tags", feed = true}, # each tag will have its own feed # {name = "tags"}, # you can have taxonomies with the same name in multiple languages # {name = "categories", paginate_by = 5}, # 5 items per page for a term # {name = "authors"}, # Basic definition: no feed or pagination # ] # taxonomies = [{ name = "tags", feed = true }] # When set to "true", a search index is built from the pages and section # content for `default_language`. build_search_index = true # Configuration of the Markdown rendering [markdown] # When set to "true", all code blocks are highlighted. highlight_code = true # A list of directories used to search for additional `.sublime-syntax` and `.tmTheme` files. extra_syntaxes_and_themes = [] # The theme to use for code highlighting. # See below for list of allowed values. highlight_theme = "css" # When set to "true", emoji aliases translated to their corresponding # Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄) render_emoji = false # Whether external links are to be opened in a new tab # If this is true, a `rel="noopener"` will always automatically be added for security reasons external_links_target_blank = true # Whether to set rel="nofollow" for all external links external_links_no_follow = true # Whether to set rel="noreferrer" for all external links external_links_no_referrer = false # Значок рядом с внешними ссылками external_links_class = "external" # Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form) # For example, `...` into `…`, `"quote"` into `“curly”` etc smart_punctuation = false # Whether to set decoding="async" and loading="lazy" for all images # When turned on, the alt text must be plain text. # For example, `![xx](...)` is ok but `![*x*x](...)` isn’t ok lazy_async_image = false # Configuration of the link checker. [link_checker] # Skip link checking for external URLs that start with these prefixes skip_prefixes = ["http://[2001:db8::]/"] # Skip anchor checking for external URLs that start with these prefixes skip_anchor_prefixes = ["https://caniuse.com/"] # Treat internal link problems as either "error" or "warn", default is "error" internal_level = "warn" # Treat external link problems as either "error" or "warn", default is "error" external_level = "error" # Various slugification strategies, see below for details # Defaults to everything being a slug [slugify] paths = "on" taxonomies = "on" anchors = "on" # Whether to remove date prefixes for page path slugs. # For example, content/posts/2016-10-08_a-post-with-dates.md => posts/a-post-with-dates # When true, content/posts/2016-10-08_a-post-with-dates.md => posts/2016-10-08-a-post-with-dates paths_keep_dates = false [search] # Whether to include the title of the page/section in the index include_title = true # Whether to include the description of the page/section in the index include_description = true # Whether to include the path of the page/section in the index include_path = true # Whether to include the rendered content of the page/section in the index include_content = true # At which character to truncate the content to. Useful if you have a lot of pages and the index would # become too big to load on the site. Defaults to not being set. # truncate_content_length = 100 # Wether to produce the search index as a javascript file or as a JSON file # Accepted value "elasticlunr_javascript" or "elasticlunr_json" index_format = "elasticlunr_json" # Optional translation object for the default language # Example: # default_language = "fr" # # [translations] # title = "Un titre" # [translations] # Additional languages definition # You can define language specific config values and translations: # title, description, generate_feed, feed_filename, taxonomies, build_search_index # as well as its own search configuration and translations (see above for details on those) [languages] # For example # [languages.fr] # title = "Mon blog" # generate_feed = true # taxonomies = [ # {name = "auteurs"}, # {name = "tags"}, # ] # build_search_index = false # You can put any kind of data here. The data # will be accessible in all templates # Example: # [extra] # author = "Famous author" # # author value will be available using {{ config.extra.author }} in templates # [extra] theme_switcher = false default_theme = "dark" skin = "zloy" override_serif_with_sans = true show_reading_time = true post_listing_date = "date" favicon = "img/zloy.png" #favicon_emoji = "🌱" social_media_card = "index.jpg" fediverse_creator = { handle = "zloy_linux", domain = "zlinux.ru" } show_previous_next_article_links = true invert_previous_next_article_links = true # Enable iine like buttons on all posts: https://iine.to/ # Can be set at page or section levels, following the hierarchy: page > section > config. See: https://welpo.github.io/tabi/blog/mastering-tabi-settings/#settings-hierarchy iine = true iine_icon = "thumbs_up" # See https://iine.to/#customise # Unify like counts across all language versions of the same page. # When enabled, likes on /es/blog/hello/ will count towards /blog/hello/ (default language). iine_unified_languages = true enable_csp = false #allowed_domains = [ # { directive = "font-src", domains = ["'self'", "data:"] }, # { directive = "img-src", domains = ["'self'", "https://*", "data:"] }, # { directive = "media-src", domains = ["'self'", "https://zlinux.ru/"] }, # { directive = "script-src", domains = ["'self'", "https://zlinux.ru"] }, # { directive = "style-src", domains = ["'self'", "https://zlinux.ru"] }, # { directive = "frame-src", domains = ["player.vimeo.com", "https://www.youtube-nocookie.com", "https://zlinux.ru"] }, #] remote_repository_url = "https://gitea.zlinux.ru/gitea/zloy_linux/blog.zlinux.ru.git" remote_repository_git_platform = "auto" remote_repository_branch = "main" show_remote_changes = true show_remote_source = true katex = false mermaid = false copy_button = true code_block_name_links = true compact_tags = false short_date_format = "" # Date format used for the archive page. # Default is "06 July" in English and "%d %b" in other languages. archive_date_format = "" # Per-language date format overrides. # Examples: Spanish uses "3 de febrero de 2024", German uses "3. Februar 2024" date_formats = [ { lang = "ru", long = "%d %B %Y", short = "%-d %b %Y", archive = "%d %b" }, { lang = "en", long = "%d. %B %Y", short = "%d.%m.%Y" }, ] tag_sorting = "frequency" menu = [ { name = "blog", url = "blog", trailing_slash = true }, { name = "soft", url = "soft", trailing_slash = true }, { name = "articles", url = "articles", trailing_slash = true }, { name = "tags", url = "tags", trailing_slash = true }, { name = "archive", url = "archive", trailing_slash = true }, ] feed_icon = true email = "emxveV9saW51eEB6bGludXgucnU=" encode_plaintext_email = true socials = [ { name = "sharkey", url = "https://zlinux.ru/@zloy_linux", icon = "sharkey" }, { name = "telegram", url = "https://t.me/#", icon = "telegram" }, { name = "peertube", url = "https://video.zlinux.ru/a/zloy_linux/video-channels", icon = "peertube" }, # { name = "youtube", url = "https://youtube.com/#", icon = "youtube" }, { name = "pixelfed", url = "https://pixelfed.social/zloy_linuxoid", icon = "pixelfeed" }, ] footer_menu = [ # {url = "about", name = "about", trailing_slash = true}, # {url = "privacy", name = "privacy", trailing_slash = true}, { name = "projects", url = "projects", trailing_slash = true }, { url = "https://zloy.goatcounter.com", name = "статистика", trailing_slash = true }, { url = "sitemap.xml", name = "sitemap", trailing_slash = false }, ] [extra.analytics] #service = "umami" #id = "4ee44323-925a-401b-996d-2b6a63dfc527" #self_hosted_url = "https://stats.zlinux.ru" service = "goatcounter" id = "zloy" #self_hosted_url = "https://zloy.goatcounter.com" # Optional: For Umami, enable this option to respect users' Do Not Track (DNT) settings. The default is true. do_not_track = true [extra.isso] enabled_for_all_posts = true # Enables Isso on all posts. It can be enabled on individual posts by setting `isso = true` in the [extra] section of a post's front matter. automatic_loading = true # If set to false, a "Load comments" button will be shown. endpoint_url = "https://comment.zlinux.ru/" # Accepts relative paths like "/comments/" or "/isso/", as well as full urls like "https://example.com/comments/". Include the trailing slash. page_id_is_slug = true # If true, it will use the relative path for the default language as id; this is the only way to share comments between languages. If false, it will use the entire url as id. lang = "" # Leave blank to match the page's language. max_comments_top = "inf" # Number of top level comments to show by default. If some comments are not shown, an “X Hidden” link is shown. max_comments_nested = "5" # Number of nested comments to show by default. If some comments are not shown, an “X Hidden” link is shown. avatar = true voting = true page_author_hashes = "" # hash (or list of hashes) of the author. lazy_loading = true # Loads when the comments are in the viewport (using the Intersection Observer API). [extra.webmentions] # To disable for a specific section or page, set webmentions = false in that page/section's front matter's [extra] section. enable = false # Specify the domain registered with webmention.io. domain = "" # The HTML ID for the object to fill in with the webmention data. # Defaults to "webmentions" # id = "webmentions" # data configuration for the webmention.min.js script # The base URL to use for this page. Defaults to window.location # page_url = # Additional URLs to check, separated by |s # add_urls # The maximum number of words to render in reply mentions. # wordcount = 20 # The maximum number of mentions to retrieve. Defaults to 30. # max_webmentions = 30 # By default, Webmentions render using the mf2 'url' element, which plays # nicely with webmention bridges (such as brid.gy and telegraph) # but allows certain spoofing attacks. If you would like to prevent # spoofing, set this to a non-empty string (e.g. "true"). # prevent_spoofing # What to order the responses by; defaults to 'published'. See # https://github.com/aaronpk/webmention.io#api # sort_by # The order to sort the responses by; defaults to 'up' (i.e. oldest # first). See https://github.com/aaronpk/webmention.io#api # sort_dir # If set to a non-empty string (e.g. "true"), will display comment-type responses # (replies/mentions/etc.) as being part of the reactions # (favorites/bookmarks/etc.) instead of in a separate comment list. # comments_are_reactions = "true" # h-card configuration # Will identify you on the indieweb (see https://microformats.org/wiki/h-card) [extra.hcard] # Enable home page h-card. enable = true # Add your email to the card if extra.email is set and not encoded. with_mail = true # Add your social links ('socials' config) to the card. with_social_links = true # Homepage url. Defaults to the value of 'base_url'. homepage = "https://zlinux.ru" avatar = "img/avator.webp" # Display name, default to the value of 'author'. full_name = "Zloy Linux" # Small bio, as shown on social media profiles. biography = "Linux Man" # # You can add any property from https://microformats.org/wiki/h-card#Properties # Make sure to replace all '-' characters by '_' # Examples: p_nickname = "zloy_linux" # p_locality = "Bordeaux" p_country_name = "Russia"