generated from nhcarrigan/template
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
f59cae1de5
|
|||
|
4a872f94d3
|
|||
|
9c40549e3b
|
|||
|
9f997d6e03
|
|||
|
a13eb8dbec
|
|||
|
2351245698
|
|||
|
f67c0ec850
|
|||
|
6de20dbdee
|
|||
| c477cebe92 |
@@ -1,25 +0,0 @@
|
||||
# Package Manager Configuration
|
||||
# Force pnpm usage - breaks npm/yarn intentionally
|
||||
node-linker=pnpm
|
||||
|
||||
# Security: Disable all lifecycle scripts
|
||||
ignore-scripts=true
|
||||
enable-pre-post-scripts=false
|
||||
|
||||
# Security: Require packages to be 10+ days old before installation
|
||||
minimum-release-age=14400
|
||||
|
||||
# Security: Verify package integrity hashes
|
||||
verify-store-integrity=true
|
||||
|
||||
# Security: Enforce strict trust policies
|
||||
trust-policy=strict
|
||||
|
||||
# Security: Strict peer dependency resolution
|
||||
strict-peer-dependencies=true
|
||||
|
||||
# Performance: Use symlinks for node_modules
|
||||
symlink=true
|
||||
|
||||
# Lockfile: Ensure lockfile is not modified during install
|
||||
frozen-lockfile=false
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "website-headers",
|
||||
"version": "4.0.0",
|
||||
"version": "4.1.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
@@ -21,7 +21,7 @@
|
||||
"@nhcarrigan/eslint-config": "5.0.0",
|
||||
"@nhcarrigan/typescript-config": "4.0.0",
|
||||
"@types/node": "22.10.2",
|
||||
"concurrently": "9.2.1",
|
||||
"concurrently": "9.1.0",
|
||||
"eslint": "9.17.0",
|
||||
"globals": "15.14.0",
|
||||
"terser": "5.37.0",
|
||||
|
||||
Generated
+19
-13
@@ -18,8 +18,8 @@ importers:
|
||||
specifier: 22.10.2
|
||||
version: 22.10.2
|
||||
concurrently:
|
||||
specifier: 9.2.1
|
||||
version: 9.2.1
|
||||
specifier: 9.1.0
|
||||
version: 9.1.0
|
||||
eslint:
|
||||
specifier: 9.17.0
|
||||
version: 9.17.0
|
||||
@@ -903,8 +903,8 @@ packages:
|
||||
concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
concurrently@9.2.1:
|
||||
resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==}
|
||||
concurrently@9.1.0:
|
||||
resolution: {integrity: sha512-VxkzwMAn4LP7WyMnJNbHN5mKV9L2IbyDjpzemKr99sXNR3GqRNMMHdm7prV1ws9wg7ETj6WUkNOigZVsptwbgg==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
@@ -1509,6 +1509,9 @@ packages:
|
||||
lodash.merge@4.6.2:
|
||||
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||
|
||||
lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
hasBin: true
|
||||
@@ -1766,8 +1769,8 @@ packages:
|
||||
run-parallel@1.2.0:
|
||||
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||
|
||||
rxjs@7.8.2:
|
||||
resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
|
||||
rxjs@7.8.1:
|
||||
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
|
||||
|
||||
safe-array-concat@1.1.3:
|
||||
resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
|
||||
@@ -1806,8 +1809,8 @@ packages:
|
||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
shell-quote@1.8.3:
|
||||
resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
|
||||
shell-quote@1.8.2:
|
||||
resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
side-channel-list@1.0.0:
|
||||
@@ -2900,11 +2903,12 @@ snapshots:
|
||||
|
||||
concat-map@0.0.1: {}
|
||||
|
||||
concurrently@9.2.1:
|
||||
concurrently@9.1.0:
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
rxjs: 7.8.2
|
||||
shell-quote: 1.8.3
|
||||
lodash: 4.17.21
|
||||
rxjs: 7.8.1
|
||||
shell-quote: 1.8.2
|
||||
supports-color: 8.1.1
|
||||
tree-kill: 1.2.2
|
||||
yargs: 17.7.2
|
||||
@@ -3687,6 +3691,8 @@ snapshots:
|
||||
|
||||
lodash.merge@4.6.2: {}
|
||||
|
||||
lodash@4.17.21: {}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
dependencies:
|
||||
js-tokens: 4.0.0
|
||||
@@ -3957,7 +3963,7 @@ snapshots:
|
||||
dependencies:
|
||||
queue-microtask: 1.2.3
|
||||
|
||||
rxjs@7.8.2:
|
||||
rxjs@7.8.1:
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
|
||||
@@ -4003,7 +4009,7 @@ snapshots:
|
||||
|
||||
shebang-regex@3.0.0: {}
|
||||
|
||||
shell-quote@1.8.3: {}
|
||||
shell-quote@1.8.2: {}
|
||||
|
||||
side-channel-list@1.0.0:
|
||||
dependencies:
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Security
|
||||
|
||||
# Do not execute any scripts of installed packages (project scripts still run)
|
||||
ignoreDepScripts: true
|
||||
# Do not automatically run pre/post scripts (e.g. preinstall, postbuild)
|
||||
enablePrePostScripts: false
|
||||
# Only allow packages published at least 10 days ago (reduces risk of compromised packages)
|
||||
minimumReleaseAge: 14400
|
||||
# Fail if a package's trust level has decreased compared to previous releases
|
||||
trustPolicy: no-downgrade
|
||||
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
|
||||
trustPolicyIgnoreAfter: 525960
|
||||
# Fail if there are missing or invalid peer dependencies
|
||||
# We are temporarily disabling this to allow for the development of the website-headers package
|
||||
strictPeerDependencies: false
|
||||
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
|
||||
blockExoticSubdeps: true
|
||||
|
||||
# Lockfile
|
||||
|
||||
# Allow the lockfile to be updated during install (set to true in CI for stricter reproducibility)
|
||||
preferFrozenLockfile: false
|
||||
+40
-20
@@ -180,14 +180,10 @@ nhcarriganHeadersLargeIcon.href
|
||||
const nhcarriganHeadersStyles = document.createElement("style");
|
||||
nhcarriganHeadersStyles.id = "nhcarrigan-global-styles";
|
||||
nhcarriganHeadersStyles.innerHTML = `
|
||||
@font-face {
|
||||
font-family: 'Vampyr';
|
||||
src: url('https://cdn.nhcarrigan.com/fonts/vampyr.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/* Import fun and whimsical fonts! */
|
||||
@import url('https://fonts.googleapis.com/css2?family=Kalam:wght@300;400;700&family=Creepster&family=Griffy&family=Henny+Penny&display=swap');
|
||||
|
||||
|
||||
:root {
|
||||
/* Witchy Purple Rose Palette */
|
||||
--witch-purple: #2B1B3D;
|
||||
@@ -686,7 +682,7 @@ pre {
|
||||
}
|
||||
|
||||
.mystical-text {
|
||||
font-family: 'Henny Penny', 'Vampyr', cursive;
|
||||
font-family: 'Henny Penny', cursive;
|
||||
letter-spacing: 2px;
|
||||
text-shadow: 2px 2px 4px rgba(68, 39, 90, 0.4);
|
||||
}
|
||||
@@ -703,20 +699,43 @@ pre {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 625px) {
|
||||
#tree-nation-offset-website {
|
||||
@media screen and (max-width: 1000px) {
|
||||
#tree-nation-tree-counter {
|
||||
display: none;
|
||||
}
|
||||
footer, #footer-inner-container {
|
||||
height: 50px;
|
||||
justify-content: space-around;
|
||||
}
|
||||
main {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 425px) {
|
||||
@media screen and (max-width: 835px) {
|
||||
#theme-select-button {
|
||||
font-size: 10pt;
|
||||
padding: 8px 16px;
|
||||
}
|
||||
#show-socials-button {
|
||||
font-size: 10pt;
|
||||
padding: 8px 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
#tree-nation-offset-website {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 625px) {
|
||||
footer, #footer-inner-container {
|
||||
height: 75px;
|
||||
justify-content: space-around;
|
||||
}
|
||||
main {
|
||||
margin-bottom: 85px;
|
||||
}
|
||||
#footer-copyright {
|
||||
font-size: 10pt;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 560px) {
|
||||
#donate-badge {
|
||||
display: none;
|
||||
}
|
||||
@@ -736,6 +755,7 @@ pre {
|
||||
const nhcarriganHeadersFooter = document.createElement("footer");
|
||||
nhcarriganHeadersFooter.innerHTML = `
|
||||
<div id="footer-inner-container">
|
||||
<div id="tree-nation-tree-counter" data-widget-type="tree-counter" data-tree-nation-code="52a9395caa57df28" data-lang="en" data-theme="dark"></div>
|
||||
<p id="footer-copyright" style="margin: 0; display: flex; align-items: center;">© <a href="https://nhcarrigan.com" target="_blank" style="margin-left: 5px;">Naomi Carrigan</a></p>
|
||||
<button id="show-socials-button" type="button">
|
||||
<i class="fa-solid fa-share-nodes"></i> Connect with Us
|
||||
@@ -746,7 +766,7 @@ nhcarriganHeadersFooter.innerHTML = `
|
||||
<a id="donate-badge" href="https://buy.stripe.com/cN24iTfqu1j6b3afZ2" target="_blank" rel="noreferrer">
|
||||
<img src="https://cdn.nhcarrigan.com/donate.png" alt="Donate" style="width: 70px; height: 70px;">
|
||||
</a>
|
||||
<div id="tree-nation-offset-website"></div>
|
||||
<div id="tree-nation-offset-website" data-widget-type="offset-website" data-tree-nation-code="a17464e0cd351220" data-lang="en" data-theme="dark"></div>
|
||||
</div>
|
||||
<div id="social-list">
|
||||
<div class="social-list-item">
|
||||
@@ -808,7 +828,7 @@ nhcarriganHeadersFooter.innerHTML = `
|
||||
|
||||
const nhcarriganHeadersTreeNation = document.createElement("script");
|
||||
nhcarriganHeadersTreeNation.src
|
||||
= "https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0";
|
||||
= "https://widgets.tree-nation.com/js/widgets/v3/widgets.min.js";
|
||||
const nhcarriganHeadersTreeNationBottom = document.createElement("script");
|
||||
nhcarriganHeadersTreeNationBottom.defer = true;
|
||||
nhcarriganHeadersTreeNationBottom.async = true;
|
||||
@@ -828,7 +848,7 @@ const interval = setInterval(() => {
|
||||
}, 1000);
|
||||
`;
|
||||
const nhcarriganHeadersFontAwesome = document.createElement("script");
|
||||
nhcarriganHeadersFontAwesome.src = "https://kit.fontawesome.com/f949111719.js";
|
||||
nhcarriganHeadersFontAwesome.src = "https://cdn.nhcarrigan.com/font-awesome/all.min.js";
|
||||
const nhcarriganHeadersAnalytics = document.createElement("script");
|
||||
nhcarriganHeadersAnalytics.defer = true;
|
||||
nhcarriganHeadersAnalytics.src
|
||||
@@ -991,7 +1011,7 @@ nhcarriganHeadersCta.id = "community-cta";
|
||||
nhcarriganHeadersCta.innerHTML = `
|
||||
<h1 autofocus style="font-size: 2rem; margin-bottom: 20px; color: var(--witch-plum);">Welcome~!</h1>
|
||||
<div style="display: flex; justify-content: space-around; margin-bottom: 25px; align-items: center;">
|
||||
<img src="https://cdn.nhcarrigan.com/logo.png" alt="NHCarrigan Logo" style="width: 80px; height: 80px;">
|
||||
<img src="https://cdn.nhcarrigan.com/profile_personal.jpg" alt="Naomi's Avatar" style="width: 80px; height: 80px; border-radius: 50%;">
|
||||
<p style="flex: 1; margin-left: 20px; line-height: 1.8;">
|
||||
Join Naomi's personal Discord community to stay connected with her latest projects and activities!
|
||||
</p>
|
||||
|
||||
Reference in New Issue
Block a user