@ca-plant-list/ca-plant-list 0.2.14 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jekyll/_config.yml +9 -0
- package/jekyll/_layouts/html.html +45 -48
- package/package.json +1 -1
- package/scripts/build-site.js +39 -1
@@ -1,60 +1,57 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html lang="en">
|
3
3
|
|
4
|
-
<head>
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
<button id="hamburger" class="navbar-toggler" type="button" data-bs-toggle="collapse"
|
4
|
+
<head>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
7
|
+
<link href="{{site.bootstrap-prefix}}/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
|
8
|
+
<title>{{page.title}}</title>
|
9
|
+
<link href="{{site.baseurl}}/assets/css/main.css" rel="stylesheet">
|
10
|
+
</head>
|
11
|
+
|
12
|
+
<body>
|
13
|
+
|
14
|
+
<nav class="navbar navbar-expand-md">
|
15
|
+
<div class="container-xxl px-5">
|
16
|
+
<button id="hamburger" class="navbar-toggler" type="button" data-bs-toggle="collapse"
|
18
17
|
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
|
19
18
|
aria-label="Toggle navigation">
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
19
|
+
<span class="navbar-toggler-icon"></span>
|
20
|
+
</button>
|
21
|
+
<a class="navbar-brand" href="{{'/' | relative_url}}">{{site.navbar-name}}</a>
|
22
|
+
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
23
|
+
<ul class="navbar-nav me-auto mb-lg-0">
|
24
|
+
<li class="nav-item">
|
25
|
+
<a class="nav-link" href="{{site.baseurl}}/index_lists.html">Plant Lists</a>
|
26
|
+
</li>
|
27
|
+
<li class="nav-item">
|
28
|
+
<a class="nav-link" href="{{site.baseurl}}/rare_plants.html">Rare Plants</a>
|
29
|
+
</li>
|
30
|
+
<li class="nav-item">
|
31
|
+
<a class="nav-link" href="{{site.baseurl}}/name_search.html">Name Search</a>
|
32
|
+
</li>
|
33
|
+
<li class="nav-item">
|
34
|
+
<a class="nav-link" href="{{site.baseurl}}/glossary.html">Glossary</a>
|
35
|
+
</li>
|
36
|
+
{%include menu_extra.html %}
|
37
|
+
</ul>
|
38
|
+
</div>
|
39
39
|
</div>
|
40
|
-
</
|
41
|
-
</nav>
|
40
|
+
</nav>
|
42
41
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
42
|
+
<div class="container-xxl px-5">
|
43
|
+
<h1>{{page.title}}</h1>
|
44
|
+
{{content}}
|
45
|
+
</div>
|
47
46
|
|
48
|
-
|
49
|
-
integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa"
|
50
|
-
crossorigin="anonymous"></script>
|
47
|
+
<script src="{{site.bootstrap-prefix}}/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
|
51
48
|
|
52
|
-
|
53
|
-
|
49
|
+
{%if page.js%}
|
50
|
+
<script src="{{site.baseurl}}/assets/js/{{page.js}}" type="module"></script>{%endif%}
|
54
51
|
|
55
|
-
|
52
|
+
<script src="{{site.baseurl}}/assets/js/ui.js" type="module"></script>
|
56
53
|
|
57
|
-
|
58
|
-
</body>
|
54
|
+
{%include analytics.html%}
|
55
|
+
</body>
|
59
56
|
|
60
|
-
</html>
|
57
|
+
</html>
|
package/package.json
CHANGED
package/scripts/build-site.js
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
2
|
|
3
|
+
import * as child_process from "node:child_process";
|
4
|
+
import * as path from "node:path";
|
5
|
+
import { Files } from "@ca-plant-list/ca-plant-list";
|
3
6
|
import { Config } from "../lib/config.js";
|
4
7
|
import { DataLoader } from "../lib/dataloader.js";
|
5
8
|
import { PageRenderer } from "../lib/pagerenderer.js";
|
@@ -22,6 +25,38 @@ const OPTION_HELP = [
|
|
22
25
|
},
|
23
26
|
];
|
24
27
|
|
28
|
+
class JekyllRenderer {
|
29
|
+
|
30
|
+
#srcDir = "./output";
|
31
|
+
#destDir = "./public";
|
32
|
+
|
33
|
+
async renderPages() {
|
34
|
+
|
35
|
+
function addConfigFile( configFiles, dir, name ) {
|
36
|
+
const fullPath = path.join( dir, name );
|
37
|
+
if ( Files.exists( fullPath ) ) {
|
38
|
+
configFiles.push( fullPath );
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
// Remove existing files.
|
43
|
+
Files.rmDir( this.#destDir );
|
44
|
+
|
45
|
+
const options = [ "--source", this.#srcDir, "--destination", this.#destDir ];
|
46
|
+
|
47
|
+
// Find out what config files are available.
|
48
|
+
const configFiles = [];
|
49
|
+
addConfigFile( configFiles, this.#srcDir, "_config.yml" );
|
50
|
+
addConfigFile( configFiles, this.#srcDir, "_config-local.yml" );
|
51
|
+
addConfigFile( configFiles, ".", "_config-dev.yml" );
|
52
|
+
options.push( "--config", "\"" + configFiles.join() + "\"" );
|
53
|
+
|
54
|
+
const result = child_process.execSync( "bundle exec jekyll build " + options.join( " " ) );
|
55
|
+
console.log( result.toString() );
|
56
|
+
}
|
57
|
+
|
58
|
+
}
|
59
|
+
|
25
60
|
const cr = new CommandRunner(
|
26
61
|
"ca-plant-list",
|
27
62
|
"A tool to generate a website with local plant data.",
|
@@ -32,9 +67,12 @@ const cr = new CommandRunner(
|
|
32
67
|
);
|
33
68
|
await cr.processCommandLine();
|
34
69
|
|
35
|
-
function generateSite( options ) {
|
70
|
+
async function generateSite( options ) {
|
36
71
|
const dataDir = options.datadir;
|
37
72
|
PageRenderer.render( OUTPUT_DIR, new Config( dataDir ), DataLoader.load( dataDir ) );
|
38
73
|
ErrorLog.write( OUTPUT_DIR + "/errors.tsv" );
|
74
|
+
|
75
|
+
const r = new JekyllRenderer();
|
76
|
+
await r.renderPages();
|
39
77
|
}
|
40
78
|
|