Documentation for Themis, Acra, Hermes, Toughbase
Documentation content itself is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International license. Source code snippets and examples are licensed under the Apache License, Version 2.0.
<scope_name> - scope name placeholder
-
Go to assets dir:
themes/book/assets/
-
Create new file
search-<scope_name>.js
:
'use strict';
{{ $searchDataFile := printf "%s.search-<scope_name>-data.js" .Language.Lang }}
{{ $searchData := resources.Get "search-<scope_name>-data.js" | resources.ExecuteAsTemplate $searchDataFile . | resources.Minify | resources.Fingerprint }}
{{ partial "js/search.js" (dict "searchData" $searchData) | safeJS }}
- Create new file
search-<scope_name>-data.js
:
'use strict';
(function() {
const indexCfg = {{ with i18n "bookSearchConfig" }}
{{ . }};
{{ else }}
{};
{{ end }}
indexCfg.doc = {
id: 'id',
field: ['title', 'content'],
store: ['title', 'href'],
};
const index = FlexSearch.create('balance', indexCfg);
window.bookSearchIndex = index;
{{ range $index, $page := where .Site.Pages "Kind" "in" (slice "page" "section") }}
{{ if eq $page.FirstSection.Params.searchScope "<scope_name>"}}
index.add({
'id': {{ $index }},
'href': '{{ $page.RelPermalink }}',
'title': {{ (partial "docs/title" $page) | jsonify }},
'content': {{ $page.Plain | jsonify }}
});
{{ end }}
{{- end -}}
})();
- Add searchScope parameter in
product-docs
repository, filepathcontent/<product_name>/_index.md
:
---
searchScope: "<scope_name>"
---
For all script
, link
, style
tags added nonce
attribute with a random value of 16 characters generated by sha256sum
.
Generation code $ echo "nonce=\"$(dd if=/dev/urandom bs=16 count=4 2>/dev/null | sha256sum | head -c 16)\""
run in terminal
How to work with it:
If the body of the script or link changes, then we do nothing.
If a new tag is added from the above, you need to generate a value for the nonce
attribute and report it to the admins.
If the value of the nonce
attribute changes, in this case we also inform the admins.
See T2468.