Skip to content

Commit e056a82

Browse files
committed
Deploying to gh-pages from @ 30c2936 🚀
1 parent 4343b54 commit e056a82

18 files changed

+392
-183
lines changed

.buildinfo

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
2-
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: ac2be28c1b899113d6ee482cc705056b
2+
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 40c048cdf8acc7862dbc406040f89949
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

_images/IVPM_System_Diagram.png

-48 KB
Binary file not shown.

_images/ivpm_system.excalidraw.svg

Lines changed: 21 additions & 0 deletions
Loading

_sources/getting_started.rst.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ Installing IVPM
88
IVPM must be installed before it can be used to work with a project. Typically,
99
the easiest approach is to install IVPM as a user-installed package:
1010

11-
..code-block:: bash
11+
.. code-block:: bash
1212
1313
% python3 -m pip install --user ivpm
1414
1515
Once this is done, you can invoke IVPM either via the entry-point script (ivpm)
1616
or as a Python module:
1717

18-
..code-block:: bash
18+
.. code-block:: bash
1919
2020
% ivpm --help
2121
% python3 -m ivpm --help
@@ -29,7 +29,7 @@ for the project.
2929
The IVPM project, itself, is IVPM-enabled. The steps to fetch and initialize
3030
the project are shown below (assuming ivpm has already been installed):
3131

32-
..code-block:: bash
32+
.. code-block:: bash
3333
3434
% git clone https://github.com/fvutils/ivpm
3535
% cd ivpm
@@ -41,6 +41,7 @@ from that server will fail. Git projects can be cloned using https
4141
(ie anonymously) by running `ivpm update -a`.
4242

4343
IVPM performs the following tasks as a part of the `update` operation:
44+
4445
- Fetches the source for each dependent project (eg .git, .tar.gz, .jar, etc)
4546
- Identifies dependent projects that are, themselves, IVPM-enabled and
4647
determines sub-dependencies

_sources/introduction.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ lightweight project-local package manager. It excels at
99
managing projects where dependencies are co-developed with
1010
the project.
1111

12-
.. image:: imgs/IVPM_System_Diagram.png
12+
.. image:: imgs/ivpm_system.excalidraw.svg
1313

1414
Let's look at a simple example. A System-on-Chip
1515
(SoC) design targeting an FPGA or an ASIC is composed of

_sources/reference.rst.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ Commands
1515
YAML File Format
1616
================
1717

18-
.. jsonschema:: ../../src/ivpm/schema/ivpm.json#/defs/package-def
18+
.. jsonschema:: ../../src/ivpm/share/ivpm.json#/defs/package-def
1919

20-
.. jsonschema:: ../../src/ivpm/schema/ivpm.json#/defs/dep-set
20+
.. jsonschema:: ../../src/ivpm/share/ivpm.json#/defs/dep-set
2121

22-
.. jsonschema:: ../../src/ivpm/schema/ivpm.json#/defs/package-dep
22+
.. jsonschema:: ../../src/ivpm/share/ivpm.json#/defs/package-dep
2323

_static/basic.css

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
/*
2-
* basic.css
3-
* ~~~~~~~~~
4-
*
52
* Sphinx stylesheet -- basic theme.
6-
*
7-
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
8-
* :license: BSD, see LICENSE for details.
9-
*
103
*/
114

125
/* -- main layout ----------------------------------------------------------- */
@@ -115,15 +108,11 @@ img {
115108
/* -- search page ----------------------------------------------------------- */
116109

117110
ul.search {
118-
margin: 10px 0 0 20px;
119-
padding: 0;
111+
margin-top: 10px;
120112
}
121113

122114
ul.search li {
123-
padding: 5px 0 5px 20px;
124-
background-image: url(file.png);
125-
background-repeat: no-repeat;
126-
background-position: 0 7px;
115+
padding: 5px 0;
127116
}
128117

129118
ul.search li a {
@@ -752,14 +741,6 @@ abbr, acronym {
752741
cursor: help;
753742
}
754743

755-
.translated {
756-
background-color: rgba(207, 255, 207, 0.2)
757-
}
758-
759-
.untranslated {
760-
background-color: rgba(255, 207, 207, 0.2)
761-
}
762-
763744
/* -- code displays --------------------------------------------------------- */
764745

765746
pre {

_static/doctools.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
/*
2-
* doctools.js
3-
* ~~~~~~~~~~~
4-
*
52
* Base JavaScript utilities for all Sphinx HTML documentation.
6-
*
7-
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
8-
* :license: BSD, see LICENSE for details.
9-
*
103
*/
114
"use strict";
125

_static/language_data.js

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
/*
2-
* language_data.js
3-
* ~~~~~~~~~~~~~~~~
4-
*
52
* This script contains the language-specific data used by searchtools.js,
63
* namely the list of stopwords, stemmer, scorer and splitter.
7-
*
8-
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
9-
* :license: BSD, see LICENSE for details.
10-
*
114
*/
125

136
var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];

_static/searchtools.js

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
/*
2-
* searchtools.js
3-
* ~~~~~~~~~~~~~~~~
4-
*
52
* Sphinx JavaScript utilities for the full-text search.
6-
*
7-
* :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS.
8-
* :license: BSD, see LICENSE for details.
9-
*
103
*/
114
"use strict";
125

@@ -20,7 +13,7 @@ if (typeof Scorer === "undefined") {
2013
// and returns the new score.
2114
/*
2215
score: result => {
23-
const [docname, title, anchor, descr, score, filename] = result
16+
const [docname, title, anchor, descr, score, filename, kind] = result
2417
return score
2518
},
2619
*/
@@ -47,6 +40,14 @@ if (typeof Scorer === "undefined") {
4740
};
4841
}
4942

43+
// Global search result kind enum, used by themes to style search results.
44+
class SearchResultKind {
45+
static get index() { return "index"; }
46+
static get object() { return "object"; }
47+
static get text() { return "text"; }
48+
static get title() { return "title"; }
49+
}
50+
5051
const _removeChildren = (element) => {
5152
while (element && element.lastChild) element.removeChild(element.lastChild);
5253
};
@@ -64,9 +65,13 @@ const _displayItem = (item, searchTerms, highlightTerms) => {
6465
const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
6566
const contentRoot = document.documentElement.dataset.content_root;
6667

67-
const [docName, title, anchor, descr, score, _filename] = item;
68+
const [docName, title, anchor, descr, score, _filename, kind] = item;
6869

6970
let listItem = document.createElement("li");
71+
// Add a class representing the item's type:
72+
// can be used by a theme's CSS selector for styling
73+
// See SearchResultKind for the class names.
74+
listItem.classList.add(`kind-${kind}`);
7075
let requestUrl;
7176
let linkUrl;
7277
if (docBuilder === "dirhtml") {
@@ -115,8 +120,10 @@ const _finishSearch = (resultCount) => {
115120
"Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
116121
);
117122
else
118-
Search.status.innerText = _(
119-
"Search finished, found ${resultCount} page(s) matching the search query."
123+
Search.status.innerText = Documentation.ngettext(
124+
"Search finished, found one page matching the search query.",
125+
"Search finished, found ${resultCount} pages matching the search query.",
126+
resultCount,
120127
).replace('${resultCount}', resultCount);
121128
};
122129
const _displayNextItem = (
@@ -138,7 +145,7 @@ const _displayNextItem = (
138145
else _finishSearch(resultCount);
139146
};
140147
// Helper function used by query() to order search results.
141-
// Each input is an array of [docname, title, anchor, descr, score, filename].
148+
// Each input is an array of [docname, title, anchor, descr, score, filename, kind].
142149
// Order the results by score (in opposite order of appearance, since the
143150
// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
144151
const _orderResultsByScoreThenName = (a, b) => {
@@ -248,6 +255,7 @@ const Search = {
248255
searchSummary.classList.add("search-summary");
249256
searchSummary.innerText = "";
250257
const searchList = document.createElement("ul");
258+
searchList.setAttribute("role", "list");
251259
searchList.classList.add("search");
252260

253261
const out = document.getElementById("search-results");
@@ -318,7 +326,7 @@ const Search = {
318326
const indexEntries = Search._index.indexentries;
319327

320328
// Collect multiple result groups to be sorted separately and then ordered.
321-
// Each is an array of [docname, title, anchor, descr, score, filename].
329+
// Each is an array of [docname, title, anchor, descr, score, filename, kind].
322330
const normalResults = [];
323331
const nonMainIndexResults = [];
324332

@@ -337,6 +345,7 @@ const Search = {
337345
null,
338346
score + boost,
339347
filenames[file],
348+
SearchResultKind.title,
340349
]);
341350
}
342351
}
@@ -354,6 +363,7 @@ const Search = {
354363
null,
355364
score,
356365
filenames[file],
366+
SearchResultKind.index,
357367
];
358368
if (isMain) {
359369
normalResults.push(result);
@@ -475,6 +485,7 @@ const Search = {
475485
descr,
476486
score,
477487
filenames[match[0]],
488+
SearchResultKind.object,
478489
]);
479490
};
480491
Object.keys(objects).forEach((prefix) =>
@@ -502,9 +513,11 @@ const Search = {
502513
// perform the search on the required terms
503514
searchTerms.forEach((word) => {
504515
const files = [];
516+
// find documents, if any, containing the query word in their text/title term indices
517+
// use Object.hasOwnProperty to avoid mismatching against prototype properties
505518
const arr = [
506-
{ files: terms[word], score: Scorer.term },
507-
{ files: titleTerms[word], score: Scorer.title },
519+
{ files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term },
520+
{ files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title },
508521
];
509522
// add support for partial matches
510523
if (word.length > 2) {
@@ -536,8 +549,9 @@ const Search = {
536549

537550
// set score for the word in each file
538551
recordFiles.forEach((file) => {
539-
if (!scoreMap.has(file)) scoreMap.set(file, {});
540-
scoreMap.get(file)[word] = record.score;
552+
if (!scoreMap.has(file)) scoreMap.set(file, new Map());
553+
const fileScores = scoreMap.get(file);
554+
fileScores.set(word, record.score);
541555
});
542556
});
543557

@@ -576,7 +590,7 @@ const Search = {
576590
break;
577591

578592
// select one (max) score for the file.
579-
const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
593+
const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w)));
580594
// add result to the result list
581595
results.push([
582596
docNames[file],
@@ -585,6 +599,7 @@ const Search = {
585599
null,
586600
score,
587601
filenames[file],
602+
SearchResultKind.text,
588603
]);
589604
}
590605
return results;

0 commit comments

Comments
 (0)