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-docsrepository, 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.