@lexho111/plainblog 0.5.1 → 0.5.3
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/Blog.js +2 -1
- package/README.md +17 -0
- package/package.json +1 -1
- package/public/styles.min.css +125 -67
- package/public/styles.min.css.map +0 -1
package/Blog.js
CHANGED
|
@@ -498,6 +498,7 @@ export default class Blog {
|
|
|
498
498
|
* @param {string[]} files - Array of css/scss file paths to process.
|
|
499
499
|
*/
|
|
500
500
|
async processStylesheets(files) {
|
|
501
|
+
console.log("process stylesheets")
|
|
501
502
|
|
|
502
503
|
// Normalize input to array (handles string or array)
|
|
503
504
|
// "file1.css" --> ["file1.css"]
|
|
@@ -541,7 +542,7 @@ export default class Blog {
|
|
|
541
542
|
|
|
542
543
|
// Compile styles using the standalone script from build-styles.js
|
|
543
544
|
//this.compiledStyles = await compileStyles(fileData);
|
|
544
|
-
this.compiledStyles = fileData
|
|
545
|
+
this.compiledStyles = fileData.map((f) => f.content).join("\n");
|
|
545
546
|
|
|
546
547
|
// generate a file
|
|
547
548
|
const __filename = fileURLToPath(import.meta.url);
|
package/README.md
CHANGED
|
@@ -50,6 +50,23 @@ blog.stylesheetPath = "path/to/my/styles.css";
|
|
|
50
50
|
blog.startServer(8080);
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
+
### use sass compiled stylesheets
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
import * as sass from "sass";
|
|
57
|
+
import fs from "node:fs";
|
|
58
|
+
|
|
59
|
+
const compiled = sass.compile( "stylesheets/styles.scss");
|
|
60
|
+
fs.writeFile("stylesheets_compiled/styles.css", compiled.css, (err) => {
|
|
61
|
+
if (err) console.error(err);
|
|
62
|
+
});
|
|
63
|
+
const blog = new Blog();
|
|
64
|
+
blog.stylesheetPath = "stylesheets_compiled/styles.css";
|
|
65
|
+
blog.title = "My Blog";
|
|
66
|
+
await blog.init();
|
|
67
|
+
blog.startServer(8080);
|
|
68
|
+
```
|
|
69
|
+
|
|
53
70
|
print your blog articles in markdown
|
|
54
71
|
|
|
55
72
|
```
|
package/package.json
CHANGED
package/public/styles.min.css
CHANGED
|
@@ -1,68 +1,126 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
gap: 0.25rem;
|
|
5
|
-
grid-template-columns: 1fr;
|
|
6
|
-
}
|
|
7
|
-
.grid article {
|
|
8
|
-
border: 0 solid #ccc;
|
|
9
|
-
border-radius: 4px;
|
|
10
|
-
min-width: 0;
|
|
11
|
-
overflow-wrap: break-word;
|
|
12
|
-
padding: 0.25rem;
|
|
13
|
-
}
|
|
14
|
-
.grid article h2 {
|
|
15
|
-
color: rgb(53, 53, 53);
|
|
16
|
-
margin-bottom: 5px;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.grid article .datetime {
|
|
20
|
-
margin: 0;
|
|
21
|
-
color: rgb(117, 117, 117);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.grid article p {
|
|
25
|
-
margin-top: 10px;
|
|
26
|
-
margin-bottom: 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
article a {
|
|
30
|
-
color: rgb(105, 105, 105);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
article a:visited {
|
|
34
|
-
color: rgb(105, 105, 105);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
h1 {
|
|
38
|
-
color: #696969;
|
|
39
|
-
}
|
|
40
|
-
nav a {
|
|
41
|
-
color: #3b40c1;
|
|
42
|
-
font-size: 20px;
|
|
43
|
-
text-decoration: underline;
|
|
44
|
-
}
|
|
45
|
-
nav a:visited {
|
|
46
|
-
color: #3b40c1;
|
|
47
|
-
text-decoration-color: #3b40c1;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
#wrapper {
|
|
51
|
-
max-width: 500px;
|
|
52
|
-
width: 100%;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/* Mobile Layout (screens smaller than 1000px) */
|
|
56
|
-
@media screen and (max-width: 1000px) {
|
|
57
|
-
* {
|
|
58
|
-
font-size: 4vw;
|
|
59
|
-
}
|
|
60
|
-
#wrapper {
|
|
61
|
-
max-width: 100%;
|
|
62
|
-
width: 100%;
|
|
63
|
-
padding: 0 10px; /* Prevents text from touching the edges */
|
|
64
|
-
box-sizing: border-box;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
1
|
+
* {
|
|
2
|
+
margin: 0;
|
|
3
|
+
}
|
|
67
4
|
|
|
68
|
-
|
|
5
|
+
body {
|
|
6
|
+
color: red;
|
|
7
|
+
background-color: orange;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
h1 {
|
|
11
|
+
font: italic bold 2.5em/2.3em Verdana, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
padding: 0;
|
|
14
|
+
letter-spacing: 0.1em;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#wrapper {
|
|
18
|
+
max-width: 600px;
|
|
19
|
+
width: 100%;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.grid {
|
|
23
|
+
display: grid;
|
|
24
|
+
grid-template-columns: 1fr;
|
|
25
|
+
gap: 0.25rem;
|
|
26
|
+
border: 0px solid lightgray;
|
|
27
|
+
}
|
|
28
|
+
.grid article h2 {
|
|
29
|
+
color: hsl(100, 59%, 53%);
|
|
30
|
+
margin-bottom: 5px;
|
|
31
|
+
}
|
|
32
|
+
.grid article {
|
|
33
|
+
padding: 0.25rem;
|
|
34
|
+
border: 0px solid #ccc;
|
|
35
|
+
border-radius: 4px;
|
|
36
|
+
min-width: 0; /* Allow grid items to shrink */
|
|
37
|
+
overflow-wrap: break-word; /* Break long words */
|
|
38
|
+
}
|
|
39
|
+
.grid article .datetime {
|
|
40
|
+
color: darkgray;
|
|
41
|
+
font-style: italic;
|
|
42
|
+
}
|
|
43
|
+
.grid article p {
|
|
44
|
+
margin-top: 12px;
|
|
45
|
+
margin-bottom: 0;
|
|
46
|
+
}
|
|
47
|
+
.grid article a:link {
|
|
48
|
+
color: hsl(100, 59%, 53%);
|
|
49
|
+
}
|
|
50
|
+
.grid article a:visited {
|
|
51
|
+
color: hsl(100, 59%, 53%);
|
|
52
|
+
text-decoration-color: #fcfcfc;
|
|
53
|
+
}
|
|
54
|
+
.grid article a:hover {
|
|
55
|
+
color: hsl(100, 59%, 53%);
|
|
56
|
+
background-color: #fcfcfc;
|
|
57
|
+
}
|
|
58
|
+
.grid article a:active {
|
|
59
|
+
color: hsl(100, 59%, 53%);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
h1 {
|
|
63
|
+
color: primary;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
nav {
|
|
67
|
+
padding: 10px;
|
|
68
|
+
background-color: #fcfcfc;
|
|
69
|
+
}
|
|
70
|
+
nav a {
|
|
71
|
+
text-decoration: underline;
|
|
72
|
+
color: #fcfcfc;
|
|
73
|
+
background-color: hsl(100, 59%, 53%);
|
|
74
|
+
font-size: 20px;
|
|
75
|
+
padding: 5px;
|
|
76
|
+
padding-left: 15px;
|
|
77
|
+
padding-right: 15px;
|
|
78
|
+
border-bottom: 4px solid rgb(104, 104, 104);
|
|
79
|
+
border-right: 4px solid rgb(104, 104, 104);
|
|
80
|
+
}
|
|
81
|
+
nav a:link {
|
|
82
|
+
color: #fcfcfc;
|
|
83
|
+
}
|
|
84
|
+
nav a:visited {
|
|
85
|
+
color: #fcfcfc;
|
|
86
|
+
text-decoration-color: #fcfcfc;
|
|
87
|
+
}
|
|
88
|
+
nav a:hover {
|
|
89
|
+
color: hsl(100, 59%, 53%);
|
|
90
|
+
background-color: #fcfcfc;
|
|
91
|
+
}
|
|
92
|
+
nav a:active {
|
|
93
|
+
color: #fcfcfc;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
#header {
|
|
97
|
+
background: linear-gradient(#fcfcfc, hsl(235, 22%, 73%));
|
|
98
|
+
height: 200px;
|
|
99
|
+
height: 400px;
|
|
100
|
+
}
|
|
101
|
+
#header h1 {
|
|
102
|
+
color: hsl(100, 59%, 53%);
|
|
103
|
+
margin-left: 10px;
|
|
104
|
+
}
|
|
105
|
+
#header img {
|
|
106
|
+
width: 1290px;
|
|
107
|
+
height: 300px;
|
|
108
|
+
margin-left: 10px;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Mobile Layout (screens smaller than 1000px) */
|
|
112
|
+
@media screen and (max-width: 1000px) {
|
|
113
|
+
* {
|
|
114
|
+
font-size: 4vw;
|
|
115
|
+
}
|
|
116
|
+
#header h1 {
|
|
117
|
+
font-size: 1em;
|
|
118
|
+
}
|
|
119
|
+
#wrapper {
|
|
120
|
+
max-width: 100%;
|
|
121
|
+
width: 100%;
|
|
122
|
+
padding: 0 10px; /* Prevents text from touching the edges */
|
|
123
|
+
box-sizing: border-box;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/* source-hash: 477a9b23fb6307399e67090d39d6a5e4c322550f5fcdeddc6ce28e4382038f5d */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["styles-compiled.css","styles.css"],"names":[],"mappings":"AAAA,MAIA,mBAAA,CAHA,YAAA,CAEA,UAAA,CADA,yBAGA,CACA,cAEA,mBAAA,CACA,iBAAA,CACA,WAAA,CACA,wBAAA,CAJA,cAKA,CAEA,GACA,SACA,CAOA,cACA,aAAA,CACA,6BACA,CC1BA,KACA,wBAAA,CACA,iBACA,CAEA,MAEA,aAAA,CACA,cAAA,CAFA,yBAGA,CAEA,UAEA,aAAA,CADA,iBAEA,CAEA,GAEA,cACA,CAEA,EACA,eACA,CAEA,KACA,QACA","file":"styles.min.css","sourcesContent":[".grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 0.25rem;\n border: 0px solid black;\n}\n.grid article {\n padding: 0.25rem;\n border: 0px solid #ccc;\n border-radius: 4px;\n min-width: 0; /* Allow grid items to shrink */\n overflow-wrap: break-word; /* Break long words */\n}\n\nh1 {\n color: red;\n}\n\nnav a {\n text-decoration: underline;\n color: rgb(59, 64, 193);\n font-size: 20px;\n}\nnav a:visited {\n color: rgb(59, 64, 193);\n text-decoration-color: rgb(59, 64, 193);\n}","body {\n background-color: rgb(253, 253, 253);\n font-family: Arial;\n}\n\nnav a {\n text-decoration: underline;\n color: rgb(59, 64, 193);\n font-size: 20px;\n}\n\n.datetime {\n font-style: italic;\n color: rgb(67, 67, 67);\n}\n\nh2 {\n margin: 0;\n margin-bottom: 5px;\n}\n\np {\n margin-top: 10px;\n}\n\nspan {\n margin: 0;\n}\n"]}
|