aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2022-10-28 15:37:33 +0200
committerWojtek Kosior <koszko@koszko.org>2022-10-28 16:06:07 +0200
commitbbfe6b3314c034dd03962c06cd957540cca8a95b (patch)
tree38d0807bcdaa92ef1e10b44bf0f951ddbc8f8ef1
parentedb1299c7196a6c3909f4ec3160428636197d877 (diff)
downloadhaketilo-hydrilla-bbfe6b3314c034dd03962c06cd957540cca8a95b.tar.gz
haketilo-hydrilla-bbfe6b3314c034dd03962c06cd957540cca8a95b.zip
[proxy] document packages
-rw-r--r--src/hydrilla/locales/en_US/LC_MESSAGES/messages.po112
-rw-r--r--src/hydrilla/proxy/self_doc/packages.html.jinja180
-rw-r--r--src/hydrilla/proxy/web_ui/templates/import.html.jinja5
-rw-r--r--src/hydrilla/proxy/web_ui/templates/index.html.jinja8
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja5
-rw-r--r--src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja5
-rw-r--r--src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja1
7 files changed, 252 insertions, 64 deletions
diff --git a/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po b/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po
index 7f22ea3..cca1d01 100644
--- a/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po
+++ b/src/hydrilla/locales/en_US/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hydrilla 2.0\n"
"Report-Msgid-Bugs-To: koszko@koszko.org\n"
-"POT-Creation-Date: 2022-10-28 11:58+0200\n"
+"POT-Creation-Date: 2022-10-28 14:42+0200\n"
"PO-Revision-Date: 2022-02-12 00:00+0000\n"
"Last-Translator: Wojtek Kosior <koszko@koszko.org>\n"
"Language: en_US\n"
@@ -362,7 +362,7 @@ msgstr "Import items"
#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:43
msgid "web_ui.import.heading_import_from_file"
-msgstr "From file"
+msgstr "From ZIP file"
#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:49
msgid "web_ui.err.uploaded_file_not_zip"
@@ -380,55 +380,55 @@ msgstr "Select file"
msgid "web_ui.import.install_from_file_button"
msgstr "Import from selected file"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:75
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:76
msgid "web_ui.import.heading_import_ad_hoc"
msgstr "Ad hoc"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:78
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:81
msgid "web_ui.err.invalid_ad_hoc_package"
msgstr "The ad hoc package being imported contains errors."
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:84
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:87
msgid "web_ui.import.identifier_field_label"
msgstr "Identifier"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:86
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:89
msgid "web_ui.err.invalid_ad_hoc_identifier"
msgstr "Chosen identifier is not valid."
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:90
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:93
msgid "web_ui.import.long_name_field_label"
msgstr "Long name (optional)"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:93
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:96
msgid "web_ui.import.version_field_label"
msgstr "Version (optional)"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:95
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:98
msgid "web_ui.err.invalid_ad_hoc_version"
msgstr "Chosen version is not valid."
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:99
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:102
msgid "web_ui.import.description_field_label"
msgstr "Description (optional)"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:102
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:105
msgid "web_ui.import.patterns_field_label"
msgstr "URL patterns (each on its own line)"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:106
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:109
msgid "web_ui.err.invalid_ad_hoc_patterns"
msgstr "Chosen patterns are not valid."
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:110
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:113
msgid "web_ui.import.script_text_field_label"
msgstr "JavaScript to execute on pages that match one of the patterns"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:113
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:116
msgid "web_ui.import.lic_text_field_label"
msgstr "Package license text (optional)"
-#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:118
+#: src/hydrilla/proxy/web_ui/templates/import.html.jinja:121
msgid "web_ui.import.install_ad_hoc_button"
msgstr "Add new package"
@@ -483,169 +483,169 @@ msgstr "Global options"
msgid "web_ui.home.mapping_usage_mode_label"
msgstr "Package usage mode"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:79
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:81
msgid "web_ui.home.packages_are_used_when_enabled"
msgstr ""
"Hektilo is currently configured to only use packages that were explicitly"
" enabled."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:82
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:84
msgid "web_ui.home.user_gets_asked_whether_to_enable_package"
msgstr ""
"Hektilo is currently configured to ask whenever a package is found that "
"could be used for the current site."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:86
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:88
msgid "web_ui.home.packages_are_used_automatically"
msgstr ""
"Hektilo is currently configured to automatically use packages that are "
"available for the current site."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:93
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:95
msgid "web_ui.home.use_enabled_button"
msgstr "Use when enabled"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:96
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:98
msgid "web_ui.home.use_question_button"
msgstr "Ask whether to use"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:99
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:101
msgid "web_ui.home.use_auto_button"
msgstr "Use automatically"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:106
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:108
msgid "web_ui.home.script_blocking_mode_label"
msgstr "Default scripts treatment"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:114
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:116
msgid "web_ui.home.scripts_are_allowed_by_default"
msgstr ""
"By default Haketilo currently allows JavaScript sent by websites to the "
"browser to execute."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:117
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:119
msgid "web_ui.home.scripts_are_blocked_by_default"
msgstr ""
"By default Haketilo currently blocks JavaScript sent by websites to the "
"browser from executing."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:121
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:123
msgid "web_ui.home.allow_scripts_button"
msgstr "Allow scripts"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:122
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:124
msgid "web_ui.home.block_scripts_button"
msgstr "Block scripts"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:133
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:135
msgid "web_ui.home.advanced_features_label"
msgstr "Advanced features"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:141
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:143
msgid "web_ui.home.user_is_advanced_user"
msgstr "Interface features for advanced users are currently enabled."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:144
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:146
msgid "web_ui.home.user_is_simple_user"
msgstr "Interface features for advanced users are currently disabled."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:151
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:153
msgid "web_ui.home.user_make_advanced_button"
msgstr "Enable"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:154
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:156
msgid "web_ui.home.user_make_simple_button"
msgstr "Disable"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:162
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:164
msgid "web_ui.home.orphans_label"
msgstr "Orphans"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:168
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:170
msgid "web_ui.home.orphans_to_delete_{mappings}"
msgstr "Haketilo is holding some unused packages that can be removed ({mappings})."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:172
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:174
msgid "web_ui.home.orphans_to_delete_exist"
msgstr "Haketilo is holding some unused libraries that can be removed."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:176
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:178
msgid "web_ui.home.orphans_to_delete_{mappings}_{resources}"
msgstr ""
"Haketilo is holding some unused items that can be removed (packages: "
"{mappings}; libraries: {resources})."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:185
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:187
msgid "web_ui.home.prune_orphans_button"
msgstr "Prune orphans"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:196
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:198
msgid "web_ui.home.popup_settings_label"
msgstr "Popup settings"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:212
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:214
msgid "web_ui.home.configure_popup_settings_on_pages_with"
msgstr "Configure popup settings on pages with"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:218
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:220
msgid "web_ui.home.popup_settings_jsallowed_button"
msgstr "JS allowed"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:219
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:221
msgid "web_ui.home.popup_settings_jsblocked_button"
msgstr "JS blocked"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:220
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:222
msgid "web_ui.home.popup_settings_payloadon_button"
msgstr "Payload used"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:270
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:272
msgid "web_ui.home.popup_no_button"
msgstr "Disable popup"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:273
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:275
msgid "web_ui.home.popup_yes_button"
msgstr "Enable popup"
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:283
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:285
msgid "web_ui.home.jsallowed_popup_yes"
msgstr ""
"Haketilo currently makes it possible to open its popup window on pages "
"where native JS has been allowed to execute. This is a convenience that "
"comes at a price of greater risk of user fingerprinting."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:285
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:287
msgid "web_ui.home.jsallowed_popup_no"
msgstr ""
"Haketilo currently does not make it possible to open its popup window on "
"pages with their native JS allowed. This setting is less convenient but "
"decreases the risk of user fingerprinting."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:291
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:293
msgid "web_ui.home.jsblocked_popup_yes"
msgstr ""
"Haketilo currently makes it possible to open its popup window on pages "
"where native JS has been blocked from executing."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:293
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:295
msgid "web_ui.home.jsblocked_popup_no"
msgstr ""
"Haketilo currently does not make it possible to open its popup window on "
"pages where native JS has been blocked from executing."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:299
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:301
msgid "web_ui.home.payloadon_popup_yes"
msgstr ""
"Haketilo currently makes it possible to open its popup window on pages "
"where payload is used."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:301
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:303
msgid "web_ui.home.payloadon_popup_no"
msgstr ""
"Haketilo currently does not make it possible to open its popup window on "
"pages where payload is used."
-#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:306
+#: src/hydrilla/proxy/web_ui/templates/index.html.jinja:308
msgid "web_ui.home.popup_can_be_opened_by"
msgstr ""
"When enabled on given page, popup dialog can be opened by typing big "
@@ -732,7 +732,7 @@ msgstr "Uninstall"
msgid "web_ui.libraries.title"
msgstr "Libraries"
-#: src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja:39
+#: src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja:40
msgid "web_ui.libraries.heading"
msgstr "Available libraries"
@@ -1016,11 +1016,11 @@ msgstr "Currently active version is '{}'."
msgid "web_ui.packages.title"
msgstr "Packages"
-#: src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja:39
+#: src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja:40
msgid "web_ui.packages.heading"
msgstr "Available packages"
-#: src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja:73
+#: src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja:76
msgid "web_ui.packages.enabled_version_{}"
msgstr "enabled version {}"
@@ -1243,15 +1243,15 @@ msgstr "packages: {mappings}; libraries: {resources}"
msgid "web_ui.repos.item_count_{mappings}"
msgstr "packages: {mappings}"
-#: src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja:170
+#: src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja:171
msgid "web_ui.repos.single.actions_label"
msgstr "Actions"
-#: src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja:172
+#: src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja:173
msgid "web_ui.repos.single.remove_button"
msgstr "Remove repository"
-#: src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja:173
+#: src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja:174
msgid "web_ui.repos.single.refresh_button"
msgstr "Refresh"
diff --git a/src/hydrilla/proxy/self_doc/packages.html.jinja b/src/hydrilla/proxy/self_doc/packages.html.jinja
index a9bedc5..c27c161 100644
--- a/src/hydrilla/proxy/self_doc/packages.html.jinja
+++ b/src/hydrilla/proxy/self_doc/packages.html.jinja
@@ -27,15 +27,189 @@ code in a proprietary work, I am not going to enforce this in court.
{% call section() %}
{% call paragraph() %}
- blah blah
+ Users can modify web pages by creating, installing and enabling
+ <span class="bold">packages</span>.
+ A package associates {{ doc_page_link('URL patterns', 'url_patterns') }}
+ with payloads (i.e. sets of scripts) that can be injected to pages.
+ For instance, if an enabled package associates pattern
+ <code>https://example.com/***</code> with a script that adds a big
+ "Hello world!" text to the page, this package shall cause "Hello world!"
+ to appear on pages under <code>example.com</code>.
{% endcall %}
{% endcall %}
{% call section() %}
- {{ medium_heading('blah blah') }}
+ {{ medium_heading('Packages and libraries') }}
{% call paragraph() %}
- more blah blah...
+ To make mapping custom JavaScript applications and their dependencies to
+ web pages more manageable, Haketilo defines its own concept of "packages"
+ and "libraries".
+ {% endcall %}
+
+ {% call unordered_list() %}
+ {% call list_entry() %}
+ package - Also called <span class="bold">mapping</span>.
+ It associates URL patterns with libraries.
+ {% endcall %}
+ {% call list_entry() %}
+ library - Sometimes also referred to as
+ <span class="bold">resource</span>.
+ Defines a set of scripts that can be injected together into a page.
+ It can also name other libraries as its dependencies.
+ When injecting scripts of a given library into some page, Haketilo will
+ first inject scripts of all libraries depended on.
+ {% endcall %}
+ {% endcall %}
+
+ {% call paragraph() %}
+ It's ultimately a package that provides concrete functionality to the end
+ user and that can be enabled or disabled.
+ For this reason, a casual user does not even need to be aware of the
+ existence of libraries.
+ Haketilo UI advanced interface features need to be enabled on the
+ {{ hkt_link('settings page', 'home.home') }} for installed libraries to be
+ viewable.
+ {% endcall %}
+ {% endcall %}
+
+ {% call section() %}
+ {{ medium_heading('Installing') }}
+
+ {% call paragraph() %}
+ Useful packages prepared by others can be installed from Hydrilla
+ repositories. The repositories can be configured
+ {{ hkt_link('through Haketilo user interface', 'repos.repos') }} and as of
+ Haketilo 3.0-beta1 need to be manually "refreshed" for new packages from
+ them to be shown in Haketilo.
+ Available packages viewable on the
+ {{ hkt_link('packages listing page', 'items.packages') }} are not
+ immediately installed.
+ This only happens after they are explicitly enabled or automatically
+ enabled (if the user configured Haketilo to do this).
+ {% endcall %}
+
+ {% call paragraph() %}
+ For convenience, users can also create simple packages
+ {{ hkt_link('directly in Haketilo UI', 'import.items_import') }}.
+ A simple form can be used to quickly define a standalone script payload
+ for a set of URL patterns. As of Haketilo 3.0 only simple (i.e.
+ single-library) payloads can be created this way.
+ {% endcall %}
+
+ {% call paragraph() %}
+ It is also possible to import packages from files.
+ For this, a directory of serveable mappings and reasources - as produced
+ by Hydrilla builder and used by Hydrilla server - has to be put into a ZIP
+ archive.
+ It can then be uploaded to Haketilo via its
+ {{ hkt_link('import page', 'import.items_import') }}.
+ {% endcall %}
+ {% endcall %}
+
+ {% call section() %}
+ {{ medium_heading('Uninstalling') }}
+
+ {% call paragraph() %}
+ Haketilo tracks dependencies between packages and libraries and
+ automatically determines which of them are no longer needed.
+ These are called <span class="bold">orphans</span> and if present, can be
+ removed from the {{ hkt_link('settings page', 'home.home') }}.
+ A version of package or library that is not being used but is still
+ available from an active repository is not considered an orphan. It
+ automatically becomes one when the repository either stops advertising it
+ as available or gets removed by the user from
+ {{ hkt_link('the repositories list', 'repos.repos') }}.
+ {% endcall %}
+
+ {% call paragraph() %}
+ When advanced UI features are enabled, it is additionally possible to
+ manually uninstall any single package that is not in use at a given
+ moment.
+ {% endcall %}
+ {% endcall %}
+
+ {% call section() %}
+ {{ medium_heading('Package contents') }}
+
+ {% call paragraph() %}
+ Each package has an <span class="bold">identifier</span> (built from a
+ restricted set of characters), a <span class="bold">long name</span>, a
+ <span class="bold">description</span>, a <span class="bold">version</span>
+ and almost always a list of <span class="bold">license files</span> and a
+ set of <span class="bold">URL patterns mapped to libraries</span>.
+ In addition there might also be other pieces of information such as
+ required permissions.
+ {% endcall %}
+ {% endcall %}
+
+ {% call section() %}
+ {{ medium_heading('Enabling/disabling') }}
+
+ {% call paragraph() %}
+ The user can put package in any of 3 possible states.
+ It can be either <span class="bold">enabled</span>,
+ <span class="bold">disabled</span> or
+ <span class="bold">not configured</span>.
+ {% endcall %}
+
+ {% call paragraph() %}
+ An enabled package always has its payloads injected on pages matched by
+ their patterns (unless some more specific pattern takes precedence on the
+ given page as described on the
+ {{ doc_page_link('policy selection page', 'policy_selection') }}).
+ {% endcall %}
+
+ {% call paragraph() %}
+ A disabled package is always ignored.
+ It has to be manually re-enabled for Haketilo to take it into account
+ again.
+ {% endcall %}
+
+ {% call paragraph() %}
+ Finally, a package that is neither explicitly enabled nor disabled can be
+ treated differently depending on user's choice on the
+ {{ hkt_link('settings page', 'home.home') }}.
+ It is possible to have Haketilo
+ {% endcall %}
+
+ {% call unordered_list() %}
+ {% call list_entry() %}
+ automatically inject such packages' payloads on mathing pages,
+ {% endcall %}
+ {% call list_entry() %}
+ prompt the user on matching pages asking whether the package should be
+ enabled or
+ {% endcall %}
+ {% call list_entry() %}
+ completely ignore non-configured packages.
+ {% endcall %}
+ {% endcall %}
+ {% endcall %}
+
+ {% call section() %}
+ {{ medium_heading('Handling multiple versions') }}
+
+ {% call paragraph() %}
+ It is possible to have many versions of the same package or library
+ installed.
+ When this is the case, Haketilo by default uses the newest versions it
+ can.
+ Additionally, if certain package is enabled, its page also allows the user
+ to configure its <span class="bold">pinning</span>.
+ A package can be
+ {% endcall %}
+
+ {% call unordered_list() %}
+ {% call list_entry() %}
+ pinned to use a particular version,
+ {% endcall %}
+ {% call list_entry() %}
+ pinned to use the best version from a particular repository or
+ {% endcall %}
+ {% call list_entry() %}
+ not pinned at all (best version overall is used).
+ {% endcall %}
{% endcall %}
{% endcall %}
{% endblock main %}
diff --git a/src/hydrilla/proxy/web_ui/templates/import.html.jinja b/src/hydrilla/proxy/web_ui/templates/import.html.jinja
index afeb5a2..34f1b66 100644
--- a/src/hydrilla/proxy/web_ui/templates/import.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/import.html.jinja
@@ -72,7 +72,10 @@ code in a proprietary work, I am not going to enforce this in court.
<div class="horizontal-separator"></div>
- <h4>{{ _('web_ui.import.heading_import_ad_hoc') }}</h4>
+ <h4>
+ {{ _('web_ui.import.heading_import_ad_hoc') }}
+ {{ hkt_doc_link('packages') }}
+ </h4>
{% if invalid_ad_hoc_package is defined %}
{{ error_note(_('web_ui.err.invalid_ad_hoc_package')) }}
diff --git a/src/hydrilla/proxy/web_ui/templates/index.html.jinja b/src/hydrilla/proxy/web_ui/templates/index.html.jinja
index 36d9941..93b834a 100644
--- a/src/hydrilla/proxy/web_ui/templates/index.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/index.html.jinja
@@ -67,7 +67,9 @@ code in a proprietary work, I am not going to enforce this in court.
{{ _('web_ui.home.heading.options') }}
</h4>
- {{ label(_('web_ui.home.mapping_usage_mode_label')) }}
+ {% call label(_('web_ui.home.mapping_usage_mode_label')) %}
+ {{ hkt_doc_link('packages') }}
+ {% endcall %}
{% set use_enabled_but_classes = ['green-button'] %}
{% set use_auto_but_classes = ['green-button'] %}
@@ -103,7 +105,9 @@ code in a proprietary work, I am not going to enforce this in court.
<div class="horizontal-separator"></div>
- {{ label(_('web_ui.home.script_blocking_mode_label')) }}
+ {% call label(_('web_ui.home.script_blocking_mode_label')) %}
+ {{ hkt_doc_link('script_blocking') }}
+ {% endcall %}
{% set allow_but_classes = ['red-button'] %}
{% set block_but_classes = ['blue-button'] %}
diff --git a/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja
index 0996b8b..d94d51c 100644
--- a/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/items/libraries.html.jinja
@@ -36,7 +36,10 @@ code in a proprietary work, I am not going to enforce this in court.
{% endblock %}
{% block main %}
- <h3>{{ _('web_ui.libraries.heading') }}</h3>
+ <h3>
+ {{ _('web_ui.libraries.heading') }}
+ {{ hkt_doc_link('packages') }}
+ </h3>
<ul class="item-list">
{% for info in display_infos %}
diff --git a/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja
index b79d594..43acaf7 100644
--- a/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/items/packages.html.jinja
@@ -36,7 +36,10 @@ code in a proprietary work, I am not going to enforce this in court.
{% endblock %}
{% block main %}
- <h3>{{ _('web_ui.packages.heading') }}</h3>
+ <h3>
+ {{ _('web_ui.packages.heading') }}
+ {{ hkt_doc_link('packages') }}
+ </h3>
<ul class="item-list">
{% for info in display_infos %}
diff --git a/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja b/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja
index 8b070d9..939b2d6 100644
--- a/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja
+++ b/src/hydrilla/proxy/web_ui/templates/repos/show_single.html.jinja
@@ -162,6 +162,7 @@ code in a proprietary work, I am not going to enforce this in court.
.format(mappings = display_info.mapping_count)
}}
{% endif %}
+ {{ hkt_doc_link('packages') }}
</p>
{% if not display_info.deleted %}