diff --git a/.githooks/post-receive b/.githooks/post-receive index 256f6dd..757faa0 100644 --- a/.githooks/post-receive +++ b/.githooks/post-receive @@ -194,6 +194,7 @@ initialize_submodules "$tmpdir" || return 1 export TEST_PORT=4123 + export TEST_SCHEMA=http export NODE_ENV=testing echo "Running build scripts..." @@ -212,7 +213,7 @@ run_tests "$branch" "$pidfile" "$logfile" || return 1 kill "$(cat "$pidfile")" 2>/dev/null || true - unset TEST_PORT NODE_ENV + unset TEST_PORT TEST_SCHEMA NODE_ENV echo "Tests passed for branch '$branch' in temporary environment." return 0 diff --git a/content b/content index 938e7e7..ab062f8 160000 --- a/content +++ b/content @@ -1 +1 @@ -Subproject commit 938e7e76247b5c34c754f7be344ce5f7b881e1f3 +Subproject commit ab062f8e24672c3b225a14bafbd806aff679e1d5 diff --git a/data/newsletter-emails.json b/data/newsletter-emails.json index 5b06ffc..5c28c07 100644 --- a/data/newsletter-emails.json +++ b/data/newsletter-emails.json @@ -1,4 +1,6 @@ [ "test@email.com", - "tete@hth3.ce" + "tete@hth3.ce", + "test@jasonpoage.com", + "test@hello.com" ] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0a99081..dee6d7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,6 @@ "": { "name": "express-blog", "version": "1.0.0", - "hasInstallScript": true, "license": "ISC", "dependencies": { "better-sqlite3": "^12.2.0", @@ -37,6 +36,7 @@ "sharp": "^0.34.3", "sqlite3": "^5.1.7", "to-ico": "^1.1.5", + "validator": "^13.15.15", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", "xss": "^1.0.15", @@ -8016,6 +8016,15 @@ "uuid": "bin/uuid" } }, + "node_modules/validator": { + "version": "13.15.15", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz", + "integrity": "sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/package.json b/package.json index fb725b5..b4682d0 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "sharp": "^0.34.3", "sqlite3": "^5.1.7", "to-ico": "^1.1.5", + "validator": "^13.15.15", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", "xss": "^1.0.15", diff --git a/public/css/logs.css b/public/css/logs.css index a03a615..0987ceb 100644 --- a/public/css/logs.css +++ b/public/css/logs.css @@ -73,3 +73,6 @@ color: #666; font-style: italic; } +.pagination-controls input[type="number"] { + width: 60px; +} diff --git a/public/css/post.css b/public/css/post.css index 8d4054d..fcf6b54 100644 --- a/public/css/post.css +++ b/public/css/post.css @@ -2,9 +2,20 @@ margin-top: 1.5rem; } .markdown-content p, .markdown-content li { - line-height: 1.6; - letter-spacing: 0.02em; + max-width: 70ch; + line-height: 1.8; + margin-bottom: 1.75rem; + padding-left: 0.5rem; + text-indent: 0.5rem; + color: #2c3e50; /* darker, softer tone */ + font-weight: 400; + font-size: 1.05rem; + letter-spacing: 0.03em; + transition: color 0.3s ease; } + .markdown-content p:hover { + color: #1a242f; +} .markdown-content p, .markdown-content li { max-width: 70ch; @@ -73,3 +84,53 @@ margin-bottom: 0.75rem; text-indent: -0.25rem; /* slight hanging indent */ } +.markdown-content h3, +.markdown-content h4, +.markdown-content h5, +.markdown-content h6 { + margin-top: 1.5rem; + margin-bottom: 1rem; + font-weight: 600; + padding-left: 0.5rem; + border-left: 3px solid #bbb; + margin-left: -0.5rem; + color: #444; +} + +.markdown-content ol { + padding-left: 1.5rem; + list-style-type: decimal; + margin-bottom: 1.25rem; +} + +.markdown-content ol li { + margin-bottom: 0.75rem; + text-indent: -0.25rem; +} + +.markdown-content hr { + border: none; + border-top: 1px solid #ddd; + margin: 2rem 0; +} + +.markdown-content strong { + font-weight: 700; + color: #222; +} + +.markdown-content em { + font-style: italic; + color: #555; +} + +.markdown-content code { + background-color: #f0f0f0; + color: #c7254e; +} + +.markdown-content pre code { + background-color: transparent; + color: inherit; + padding: 0; +} diff --git a/public/js/logs.js b/public/js/logs.js index 07cb673..f6408d7 100644 --- a/public/js/logs.js +++ b/public/js/logs.js @@ -46,12 +46,12 @@
- +
-