Skip to content

Commit 2bb7f18

Browse files
committed
1st version of static web (+ keywords, fulltext)
1 parent b809d29 commit 2bb7f18

432 files changed

Lines changed: 1234 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nojekyll

Whitespace-only changes.

README.htm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>🌐HelpViewer</title><meta name="description" content="is a modern, portable and fast tool for viewing Markdown and HTML documentation directly from ZIP archives or from a local directory where they have been unpack"><link rel="icon" type="image/png" href="favicon.png"><meta property="og:title" content="🌐HelpViewer"><meta property="og:description" content="is a modern, portable and fast tool for viewing Markdown and HTML documentation directly from ZIP archives or from a local directory where they have been unpack"><meta property="og:type" content="website"><meta property="og:image" content="favicon.png"><meta name="robots" content="index,follow"><link rel="stylesheet" href="src/i-formsupport-css.css" type="text/css"><link rel="stylesheet" href="src/mainCSS.css" type="text/css"><link rel="stylesheet" href="src/mainCSSPlus.css" type="text/css"><link rel="stylesheet" href="src/addition-puiWatermark-toc.css" type="text/css"><link rel="stylesheet" href="src/overridePlusMinusVars.css" type="text/css"><link rel="stylesheet" href="src/prism/prism.css.css" type="text/css"><link rel="stylesheet" href="src/prism/override.css.css" type="text/css"><link rel="stylesheet" href="src/TPL-HTML-fixes.css" type="text/css"><link rel="stylesheet" href="src/custom.css" type="text/css"><meta name="keywords" content="cors, deployment, html, index.html, installation, markdown, offline, viewer"></head><body class="inStandard"><div class="container" id="container"><div class="main" id="main"><div class="header" id="header" role="banner"><h1 id="mtitle">🌐HelpViewer</h1><div id="header-toolbar" class="toolbar" role="toolbar"><a id="printBtn" title="Print page" aria-label="Print page" href="javascript:window.print();">🖨️</a><a id="nav-right" title="Next topic" aria-label="Next topic" href="toc.htm"></a><a id="downP-TopicTree" title="Table of Contents" aria-label="Table of Contents" href="toc.htm">📖</a><a id="downP-Glossary" title="Glossary" aria-label="Glossary" href="keywordList/index.htm">📇</a><a id="downP-Fulltext" title="Fulltext search" aria-label="Fulltext search" href="fulltextList/index.htm">🔎</a><a id="downP-Home" title="Home" aria-label="Home" href="index.htm">🏡</a></div></div><div class="content" id="content" role="main" aria-live="polite"><p>is a modern, portable and fast tool for viewing Markdown and HTML documentation directly from ZIP archives or from a local directory where they have been unpacked. No server or backend required - just open the <strong>index.html</strong> in your browser. MIT licensed.</p><h2 id="h-2-0">How it works<a href="#h-2-0" class="anchor-link"> #</a></h2><ol><li>Download the deployment package from <span id="linkhereI"><a href="https://github.com/HelpViewer/HelpViewer/releases/download/20260205/package.zip" title="https://github.com/HelpViewer/HelpViewer/releases/download/20260205/package.zip">package.zip</a></span> and unzip it.</li><li>For correct display, launch the browser without <a href="corsPolicy.htm#h-1-6" title="Browser possibly blocking local file access (file://) due to CORS policy restrictions" data-param="corsPolicy.md">CORS restrictions</a>. Otherwise, you will see a page with message and have to manually select help and data files.</li><li>Open the <strong>index.html</strong> file in your browser.</li><li>Set the URL parameter <strong>?d=X</strong>, where <strong>X</strong> is the path to your ZIP file or you can define path ending with <strong>/</strong> if you want to read a directory.<br>If you skip this step, <strong>./hlp/Help-{current language}.zip</strong> will be used by default.</li><li>You will see e.g. the <a href="?d=hlp-user/Help-__.zip" title="User quick guide">user documentation</a> directly in HelpViewer, just like you are seeing this web page.</li></ol><script>
2+
insertDownloadLink('linkhereI');
3+
</script><h2 id="h-2-1">Used 3rd party products<a href="#h-2-1" class="anchor-link"> #</a></h2><ul><li><a href="http://jszip.org/" title="JSZip JavaScript library - ZIP files manipulation">JSZip library</a> (under MIT)</li><li><a href="https://marked.js.org/" title="Marked JavaScript library - md files to HTML renderer">Marked</a> (under MIT)</li><li><a href="https://mermaid.js.org/" title="Mermaid library - renderer for diagrams defined by specific textual definitions">Mermaid</a> (under MIT)</li><li><a href="https://prismjs.com/" title="Prism - syntax highlighting">Prism</a> (under MIT)</li></ul><table><thead><tr><th>Help file</th><th>Version</th></tr></thead><tbody><tr><td>HelpViewer/helpHello</td><td>20260205</td></tr><tr><td>HelpViewer/HelpViewer</td><td>20260205</td></tr><tr><td>Source</td><td>hlp/Help-en.zip</td></tr><tr><td>Date</td><td>2026-02-05 19:24:58</td></tr></tbody></table><p></p></div></div></div></body></html>

_viewRepo.htm

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title></title><meta name="description" content="This guide helps you see your own repository inside HelpViewer. It's not a migration - some features are limited or might not work just yet. But it might just b"><link rel="icon" type="image/png" href="favicon.png"><meta property="og:title" content=""><meta property="og:description" content="This guide helps you see your own repository inside HelpViewer. It's not a migration - some features are limited or might not work just yet. But it might just b"><meta property="og:type" content="website"><meta property="og:image" content="favicon.png"><meta name="robots" content="index,follow"><link rel="stylesheet" href="src/i-formsupport-css.css" type="text/css"><link rel="stylesheet" href="src/mainCSS.css" type="text/css"><link rel="stylesheet" href="src/mainCSSPlus.css" type="text/css"><link rel="stylesheet" href="src/addition-puiWatermark-toc.css" type="text/css"><link rel="stylesheet" href="src/overridePlusMinusVars.css" type="text/css"><link rel="stylesheet" href="src/prism/prism.css.css" type="text/css"><link rel="stylesheet" href="src/prism/override.css.css" type="text/css"><link rel="stylesheet" href="src/TPL-HTML-fixes.css" type="text/css"><link rel="stylesheet" href="src/custom.css" type="text/css"></head><body class="inStandard"><div class="container" id="container"><div class="main" id="main"><div class="header" id="header" role="banner"><h1 id="mtitle"></h1><div id="header-toolbar" class="toolbar" role="toolbar"><a id="printBtn" title="Print page" aria-label="Print page" href="javascript:window.print();">🖨️</a><a id="nav-left" title="Previous topic" aria-label="Previous topic" href="docker.htm"></a><a id="nav-right" title="Next topic" aria-label="Next topic" href="corsPolicy.htm"></a><a id="downP-TopicTree" title="Table of Contents" aria-label="Table of Contents" href="toc.htm">📖</a><a id="downP-Glossary" title="Glossary" aria-label="Glossary" href="keywordList/index.htm">📇</a><a id="downP-Fulltext" title="Fulltext search" aria-label="Fulltext search" href="fulltextList/index.htm">🔎</a><a id="downP-Home" title="Home" aria-label="Home" href="index.htm">🏡</a></div></div><div class="content" id="content" role="main" aria-live="polite"><p id="_viewRepo-par1">This guide helps you see your own repository inside HelpViewer. It's not a migration - some features are limited or might not work just yet. But it might just be the first step toward choosing a tool that fits you. Just enter some information below and click the generated link to get started.</p><p id="_viewRepo-par2">🛈 This preview uses public content from GitHub.<br>If your repository is private, the preview will not work.<br>Everything runs in your browser only.</p><p>&nbsp;</p><div id="form"><div class="form-row"><label for="_viewRepo-org" id="_viewRepo-org-label">Organization/User</label><input type="text" id="_viewRepo-org"></div><div class="form-row"><label for="_viewRepo-repo" id="_viewRepo-repo-label">Repository</label><input type="text" id="_viewRepo-repo"></div><div class="form-row"><label for="_viewRepo-branch" id="_viewRepo-branch-label">Branch/Tag</label><input type="text" id="_viewRepo-branch" value="master"></div><div class="form-row"><label for="_viewRepo-langs" id="_viewRepo-langs-label">Language&nbsp;subdirectories</label><input type="checkbox" id="_viewRepo-langs" checked=""></div><div class="form-row"><label for="_viewRepo-zip" id="_viewRepo-zip-label">Browse ZIP release</label><input type="checkbox" id="_viewRepo-zip"></div></div><div class="form-row"><label id="_viewRepo-link">Link</label><span id="previewLink"></span></div><script>
2+
function _init() {
3+
const valH1 = '_viewRepo-h1';
4+
const translateThis = [valH1, '_viewRepo-par1', '_viewRepo-par2', '_viewRepo-link'];
5+
6+
translateThis.forEach(id => {
7+
var idField = id;
8+
if (id === valH1) idField = 'mtitle';
9+
var el = $(idField);
10+
if (el) el.innerHTML = _T(id);
11+
});
12+
13+
const fieldOrg = '_viewRepo-org';
14+
const fieldRepo = '_viewRepo-repo';
15+
const fieldBranch = '_viewRepo-branch';
16+
const fieldLanguages = '_viewRepo-langs';
17+
const fieldZIP = '_viewRepo-zip';
18+
19+
const formO = $('form');
20+
21+
appendField(formO, fieldOrg, '');
22+
appendField(formO, fieldRepo, '');
23+
appendField(formO, fieldBranch, 'master');
24+
appendField(formO, fieldLanguages, true, FormFieldType.CHECKBOX);
25+
appendField(formO, fieldZIP, '', FormFieldType.CHECKBOX);
26+
27+
const iorg = $(fieldOrg);
28+
const irepo = $(fieldRepo);
29+
const ibranch = $(fieldBranch);
30+
const ilangs = $(fieldLanguages);
31+
const izip = $(fieldZIP);
32+
33+
const onBlur = updateLink;
34+
const eventName = 'change';
35+
36+
iorg.addEventListener(eventName, onBlur);
37+
irepo.addEventListener(eventName, onBlur);
38+
ibranch.addEventListener(eventName, onBlur);
39+
ilangs.addEventListener(eventName, onBlur);
40+
izip.addEventListener(eventName, (event) => {
41+
const sender = event.target;
42+
if (!sender.value || sender.checked === false) return;
43+
ibranch.value = getDateInYYYYMMDD(new Date())
44+
});
45+
izip.addEventListener(eventName, onBlur);
46+
47+
function updateLink() {
48+
const org = iorg.value.trim();
49+
const repo = irepo.value.trim();
50+
const branch = ibranch.value.trim();
51+
const langs = ilangs.checked;
52+
const zip = izip.checked;
53+
54+
const span = $("previewLink");
55+
56+
if (org && repo) {
57+
var url = (zip && zip !== 'off')
58+
? getHelpRepoUriReleaseZip(org, repo, branch)
59+
: getHelpRepoUri(org, repo, langs, branch);
60+
url = `?d=${url}`;
61+
span.innerHTML = `<a href="${url}" target="_blank" rel="noopener noreferrer">${url}</a>`;
62+
} else {
63+
span.textContent = "";
64+
}
65+
}
66+
}
67+
_init();
68+
</script><p></p></div></div></div></body></html>

corsPolicy.htm

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>CORS policy</title><meta name="description" content="Do you see the page with “⚠ Do you see this message only?”? Then the browser is not loading the data from the ZIP help file.This may be caused by your browser b"><link rel="icon" type="image/png" href="favicon.png"><meta property="og:title" content="CORS policy"><meta property="og:description" content="Do you see the page with “⚠ Do you see this message only?”? Then the browser is not loading the data from the ZIP help file.This may be caused by your browser b"><meta property="og:type" content="website"><meta property="og:image" content="favicon.png"><meta name="robots" content="index,follow"><link rel="stylesheet" href="src/i-formsupport-css.css" type="text/css"><link rel="stylesheet" href="src/mainCSS.css" type="text/css"><link rel="stylesheet" href="src/mainCSSPlus.css" type="text/css"><link rel="stylesheet" href="src/addition-puiWatermark-toc.css" type="text/css"><link rel="stylesheet" href="src/overridePlusMinusVars.css" type="text/css"><link rel="stylesheet" href="src/prism/prism.css.css" type="text/css"><link rel="stylesheet" href="src/prism/override.css.css" type="text/css"><link rel="stylesheet" href="src/TPL-HTML-fixes.css" type="text/css"><link rel="stylesheet" href="src/custom.css" type="text/css"><meta name="keywords" content="cors, deployment, restrictions, troubleshooting"></head><body class="inStandard"><div class="container" id="container"><div class="main" id="main"><div class="header" id="header" role="banner"><h1 id="mtitle">CORS policy</h1><div id="header-toolbar" class="toolbar" role="toolbar"><a id="printBtn" title="Print page" aria-label="Print page" href="javascript:window.print();">🖨️</a><a id="nav-left" title="Previous topic" aria-label="Previous topic" href="_viewRepo.htm"></a><a id="nav-right" title="Next topic" aria-label="Next topic" href="keywordList/index.htm"></a><a id="downP-TopicTree" title="Table of Contents" aria-label="Table of Contents" href="toc.htm">📖</a><a id="downP-Glossary" title="Glossary" aria-label="Glossary" href="keywordList/index.htm">📇</a><a id="downP-Fulltext" title="Fulltext search" aria-label="Fulltext search" href="fulltextList/index.htm">🔎</a><a id="downP-Home" title="Home" aria-label="Home" href="index.htm">🏡</a></div></div><div class="content" id="content" role="main" aria-live="polite"><p>Do you see the page with “⚠ Do you see this message only?”? Then the browser is not loading the data from the ZIP help file.<br>This may be caused by your browser blocking local file access (file://) due to CORS policy restrictions. </p><p>You have 2 options on how to proceed:</p><ol><li>In the <strong>data.zip</strong> and <strong>Help-(language).zip</strong> fields, select the necessary files and click <strong>Submit</strong>.</li><li>You need to run your browser in mode with bypass CORS policy:</li></ol><ul><li><p>Chrome:</p><blockquote><p>Run in CLI:<br>chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="C:\temp"</p></blockquote></li><li><p>Edge:</p><blockquote><p>Run in CLI:<br>msedge --disable-web-security --user-data-dir="C:\temp"</p></blockquote></li></ul><script>
2+
insertDownloadLink('linkhereI');
3+
</script><script>
4+
function _init() {
5+
const valH1 = '_viewRepo-h1';
6+
const translateThis = [valH1, '_viewRepo-par1', '_viewRepo-par2', '_viewRepo-link'];
7+
8+
translateThis.forEach(id => {
9+
var idField = id;
10+
if (id === valH1) idField = 'mtitle';
11+
var el = $(idField);
12+
if (el) el.innerHTML = _T(id);
13+
});
14+
15+
const fieldOrg = '_viewRepo-org';
16+
const fieldRepo = '_viewRepo-repo';
17+
const fieldBranch = '_viewRepo-branch';
18+
const fieldLanguages = '_viewRepo-langs';
19+
const fieldZIP = '_viewRepo-zip';
20+
21+
const formO = $('form');
22+
23+
appendField(formO, fieldOrg, '');
24+
appendField(formO, fieldRepo, '');
25+
appendField(formO, fieldBranch, 'master');
26+
appendField(formO, fieldLanguages, true, FormFieldType.CHECKBOX);
27+
appendField(formO, fieldZIP, '', FormFieldType.CHECKBOX);
28+
29+
const iorg = $(fieldOrg);
30+
const irepo = $(fieldRepo);
31+
const ibranch = $(fieldBranch);
32+
const ilangs = $(fieldLanguages);
33+
const izip = $(fieldZIP);
34+
35+
const onBlur = updateLink;
36+
const eventName = 'change';
37+
38+
iorg.addEventListener(eventName, onBlur);
39+
irepo.addEventListener(eventName, onBlur);
40+
ibranch.addEventListener(eventName, onBlur);
41+
ilangs.addEventListener(eventName, onBlur);
42+
izip.addEventListener(eventName, (event) => {
43+
const sender = event.target;
44+
if (!sender.value || sender.checked === false) return;
45+
ibranch.value = getDateInYYYYMMDD(new Date())
46+
});
47+
izip.addEventListener(eventName, onBlur);
48+
49+
function updateLink() {
50+
const org = iorg.value.trim();
51+
const repo = irepo.value.trim();
52+
const branch = ibranch.value.trim();
53+
const langs = ilangs.checked;
54+
const zip = izip.checked;
55+
56+
const span = $("previewLink");
57+
58+
if (org && repo) {
59+
var url = (zip && zip !== 'off')
60+
? getHelpRepoUriReleaseZip(org, repo, branch)
61+
: getHelpRepoUri(org, repo, langs, branch);
62+
url = `?d=${url}`;
63+
span.innerHTML = `<a href="${url}" target="_blank" rel="noopener noreferrer">${url}</a>`;
64+
} else {
65+
span.textContent = "";
66+
}
67+
}
68+
}
69+
_init();
70+
</script></div></div></div></body></html>

0 commit comments

Comments
 (0)