feat: back up things
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m41s

This commit is contained in:
2025-12-30 15:49:51 -08:00
parent 4045719597
commit 168e24157b
12 changed files with 164466 additions and 0 deletions
+119
View File
@@ -0,0 +1,119 @@
APP_NAME = NHCarrigan
RUN_MODE = prod
RUN_USER = git
WORK_PATH = /data/gitea
[admin]
DISABLE_REGULAR_ORG_CREATION=true
[repository]
ROOT = /data/git/repositories
MAX_CREATION_LIMIT = 0
[repository.local]
LOCAL_COPY_PATH = /data/gitea/tmp/local-repo
[repository.upload]
TEMP_PATH = /data/gitea/uploads
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = git.nhcarrigan.com
SSH_DOMAIN = git.nhcarrigan.com
HTTP_PORT = 3000
ROOT_URL = https://git.nhcarrigan.com/
DISABLE_SSH = false
SSH_PORT = 22
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
LFS_JWT_SECRET =
OFFLINE_MODE = true
MAX_GIT_UPLOAD_SIZE = 5000
[database]
PATH = /data/gitea/gitea.db
DB_TYPE = sqlite3
HOST = localhost:3306
NAME = gitea
USER = root
PASSWD =
LOG_SQL = false
SCHEMA =
SSL_MODE = disable
[indexer]
ISSUE_INDEXER_PATH = /data/gitea/indexers/issues.bleve
[session]
PROVIDER_CONFIG = /data/gitea/sessions
PROVIDER = file
[picture]
AVATAR_UPLOAD_PATH = /data/gitea/avatars
REPOSITORY_AVATAR_UPLOAD_PATH = /data/gitea/repo-avatars
AVATAR_MAX_FILE_SIZE = 5242880
[attachment]
PATH = /data/gitea/attachments
[log]
MODE = console
LEVEL = info
ROOT_PATH = /data/gitea/log
[security]
INSTALL_LOCK = true
SECRET_KEY =
REVERSE_PROXY_LIMIT = 1
REVERSE_PROXY_TRUSTED_PROXIES = *
INTERNAL_TOKEN =
PASSWORD_HASH_ALGO = pbkdf2
[service]
DISABLE_REGISTRATION = true
REQUIRE_SIGNIN_VIEW = false
REGISTER_EMAIL_CONFIRM = false
REGISTER_MANUAL_CONFIRM = true
ENABLE_NOTIFY_MAIL = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = true
CAPTCHA_TYPE = recaptcha
RECAPTCHA_SECRET =
RECAPTCHA_SITEKEY =
DEFAULT_KEEP_EMAIL_PRIVATE = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = false
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.nhcarrigan.com
DEFAULT_USER_IS_RESTRICTED = true
[lfs]
PATH = /data/git/lfs
[mailer]
ENABLED = true
FROM = noreply@nhcarrigan.com
PROTOCOL = smtps
SMTP_ADDR = mail.nhcarrigan.com
SMTP_PORT = 465
USER = noreply@nhcarrigan.com
PASSWD =
[openid]
ENABLE_OPENID_SIGNIN = false
ENABLE_OPENID_SIGNUP = false
[cron.update_checker]
ENABLED = true
[repository.pull-request]
DEFAULT_MERGE_STYLE = squash
[repository.signing]
DEFAULT_TRUST_MODEL = committer
[oauth2]
JWT_SECRET =
[ui]
DEFAULT_THEME = trans-pride
THEMES = trans-pride,trans-pride-dark
@@ -0,0 +1,468 @@
/* Trans Wrath - A dark mode variant of Trans Pride for Gitea */
@font-face {
font-family: 'Vampyr';
src: url('https://cdn.nhcarrigan.com/fonts/vampyr.ttf') format('truetype');
}
:root {
--fonts-regular: "Vampyr" !important;
--fonts-proportional: "Vampyr" !important;
--fonts-monospace: "Vampyr" !important;
--fonts-emoji: "Vampyr" !important;
--is-dark-theme: true;
/* Primary (pinks) */
--color-primary: #ff6b94; /* flag pink pop */
--color-primary-dark: #ff3b6f; /* deeper pink for hover/active */
--color-primary-light: #ffb6c1; /* soft pink for subtle accents */
--color-primary-very-light: #3a1a2a; /* dim pink-plum for muted fills */
/* Main Text & Background */
--color-text: #ffe6ee; /* near-white with pink warmth */
--color-text-light: #ffd1dc; /* lighter/paler text */
--color-text-dark: #ffc0cb; /* headings/links emphasis */
--color-body: #2a0a18; /* your existing plum base */
/* UI (blues for contrast = trans stripes!) */
--color-secondary: #3b6ea8; /* medium trans-blue */
--color-secondary-dark: #2d5a8b; /* hover/active */
--color-secondary-light: #4f84c2; /* borders/badges */
/* State Colors */
--color-success: #87cefa; /* sky blue success */
--color-success-dark: #5dade2;
--color-success-light: #add8e6;
--color-danger: #ff4f7a; /* pinkish red */
--color-danger-dark: #ff2f66;
--color-danger-light: #ff7fa1;
--color-warning: #ffc3a0; /* peach pairs nicely */
--color-warning-dark: #ffb78f;
--color-warning-light: #ffd4b7;
--color-info: #5dade2; /* bright info blue */
--color-info-dark: #3f8ecb;
--color-info-light: #87c7f1;
/* Other UI Elements */
--color-menu: #2a0a18;
--color-card: #241624; /* slightly darker than body */
--color-markup-table-row: #2f1b30; /* alternating rows */
--color-markup-code-block: #2f1b30; /* code blocks */
--color-button: #ff6b94; /* primary buttons = pink */
--color-border: #3a2847; /* muted plum border */
--color-input-border: #4f84c2; /* blue focus ring vibe */
--color-input-background: #241624;
--color-small-accent: #add8e6; /* tiny blue sparkles */
/* Diff Colors (trans-tinted, still readable) */
--color-diff-add-line: #162235; /* blue-tinted add */
--color-diff-add-word: #203149;
--color-diff-del-line: #2a1620; /* pink-tinted delete */
--color-diff-del-word: #3b2030;
--color-diff-section: #1e1b2a; /* neutral section bg */
/* Code Syntax Highlighting (blue + pink duo) */
--color-code-keyword: #1e90ff; /* keywords = trans blue */
--color-code-function: #ff3b6f; /* functions = deep pink */
--color-code-string: #ff9aac; /* strings = soft pink */
--color-code-number: #5dade2; /* numbers = bright blue */
--color-code-comment: #c79bb1; /* gentle mauve comment */
--color-code-type: #87cefa; /* types = sky blue */
--vscode-editor-background: #151a28; /* cooler dark editor well */
--color-footer: #2a0a18;
--color-nav-bg: #2a0a18;
}
/* Header */
.ui.menu.inverted {
background-color: var(--color-secondary);
color: var(--color-text);
}
.ui.secondary.menu .item {
color: var(--color-text);
}
.ui.secondary.menu .active.item {
background-color: var(--color-primary-very-light);
}
/* Repository header */
.repository.header {
background-color: var(--color-menu);
}
/* Buttons */
.ui.primary.button {
background-color: var(--color-primary);
}
.ui.primary.button:hover {
background-color: var(--color-primary-dark);
}
.ui.basic.button {
box-shadow: 0 0 0 1px var(--color-border) inset;
color: var(--color-text) !important;
}
.ui.basic.button:hover {
background-color: var(--color-primary-very-light) !important;
color: var(--color-text-dark) !important;
}
/* Tabs */
.ui.tabular.menu .item {
color: var(--color-text-light);
}
.ui.tabular.menu .active.item {
background-color: var(--color-primary-very-light);
color: var(--color-text);
border-color: var(--color-border);
}
/* Tables */
.ui.table thead th {
background: var(--color-menu);
color: var(--color-text);
}
.ui.table {
border-color: var(--color-border);
}
/* Form inputs */
.ui.input input {
background-color: var(--color-input-background);
border-color: var(--color-input-border);
color: var(--color-text);
}
.ui.input input:focus {
border-color: var(--color-primary);
}
/* Labels */
.ui.label {
background-color: var(--color-primary-very-light);
color: var(--color-text);
}
/* Markdown Content */
.markdown:not(code) {
color: var(--color-text);
}
.markdown code, .markdown pre {
background-color: var(--color-markup-code-block);
border-color: var(--color-border);
}
/* Sidebar */
.ui.vertical.menu {
background-color: var(--color-menu);
}
.ui.vertical.menu .item {
color: var(--color-text);
}
.ui.vertical.menu .active.item {
background-color: var(--color-primary-very-light);
}
/* Status tags */
.ui.green.label {
background-color: var(--color-success) !important;
color: var(--color-body) !important;
}
.ui.red.label {
background-color: var(--color-danger) !important;
color: var(--color-body) !important;
}
.ui.yellow.label {
background-color: var(--color-warning) !important;
color: var(--color-text-dark) !important;
}
.ui.blue.label {
background-color: var(--color-info) !important;
color: var(--color-body) !important;
}
/* Dashboard cards */
.dashboard-card {
background-color: var(--color-card);
border-color: var(--color-border);
}
/* Timeline and activities */
.timeline-item {
border-color: var(--color-border);
}
.timeline-item .badge {
background-color: var(--color-primary-very-light);
color: var(--color-text);
}
/* Code diff view */
.diff-file-box .code-diff-split .add-code {
background-color: var(--color-diff-add-line);
}
.diff-file-box .code-diff-split .del-code {
background-color: var(--color-diff-del-line);
}
.diff-file-box .code-diff-split .add-code .add-line {
background-color: var(--color-diff-add-word);
}
.diff-file-box .code-diff-split .del-code .del-line {
background-color: var(--color-diff-del-word);
}
.monaco-editor, .monaco-diff-editor, .monaco-component, .monaco-editor-background, .monaco-editor .margin {
background: var(--vscode-editor-background) !important;
}
.monaco-editor {
--vscode-editor-selectionBackground: var(--color-primary) !important;
--vscode-editor-inactiveSelectionBackground: var(--color-primary) !important;
--vscode-editor-lineHighlightBackground: var(--color-primary) !important;
}
.monaco-editor .view-overlays .current-line {
background-color: var(--color-primary) !important;
}
.monaco-editor .margin {
background-color: transparent !important;
}
.monaco-editor .margin-view-overlays .current-line-margin {
background-color: var(--color-primary) !important;
}
.active-line-number {
background-color: transparent !important;
}
/* Scrollbar */
::-webkit-scrollbar-thumb {
background: var(--color-primary-light);
}
::-webkit-scrollbar-thumb:hover {
background: var(--color-primary);
}
::-webkit-scrollbar-track {
background: var(--color-primary-very-light);
}
body::before {
background: url(https://cdn.nhcarrigan.com/background.png);
background-size: cover;
background-position: center;
width: 100%;
height: 100%;
z-index: -100;
content: "";
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 1;
pointer-events: none;
}
body::after {
background: var(--color-body);
opacity: 0.8;
width: 100%;
height: 100%;
z-index: -50;
content: "";
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
}
html {
cursor: url('https://cdn.nhcarrigan.com/cursors/cursor.cur'), auto;
font-family: "Vampyr";
}
a, button, .button, .dropdown {
cursor: url('https://cdn.nhcarrigan.com/cursors/pointer.cur'), pointer !important;
}
#tree-nation-offset-website {
display: flex;
align-items: center;
}
@media screen and (max-width: 885px) {
#tree-nation-offset-website {
display: none;
}
}
footer {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
color: var(--foreground);
background-color: var(--background);
position: fixed;
bottom: 0;
height: 75px;
padding: 0 10px;
}
@media (max-width: 880px) {
.page-footer {
flex-direction: row;
}
}
#navbar {
position: fixed;
top: 0;
height: 50px;
width: 100%;
z-index: 1;
}
.page-content {
margin-top: 50px;
}
*::selection {
color: var(--color-body) !important;
background: var(--color-text) !important;
}
@media screen and (max-width: 768px) {
.navbar-right > .item {
justify-content: right !important;
width: 50% !important;
right: 0 !important;
margin-right: 0 !important;
margin-left: auto !important;
background: var(--color-nav-bg) !important;
}
.navbar-left > .item {
justify-content: left !important;
width: 50% !important;
left: 0 !important;
margin-left: 0 !important;
margin-right: auto !important;
background: var(--color-nav-bg) !important;
}
}
.home a {
text-decoration: underline !important;
}
.home ul {
list-style-type: none !important;
padding-left: 0 !important;
}
#show-socials-button {
background: none;
border: none;
cursor: url('https://cdn.nhcarrigan.com/cursors/pointer.cur'), pointer;
color: var(--color-text);
font-size: 1rem;
}
#show-socials-button > i {
font-size: 1.5rem;
}
#social-list {
position: absolute;
bottom: 75px;
left: 0;
right: 0;
width: 100vw;
max-width: 400px;
padding: 10px;
background-color: var(--header_background);
color: var(--color-text);
border-radius: 10px;
border: 1px solid var(--color-text);
display: none;
z-index: 1000;
}
.social-list-item {
padding: 10px;
}
.social-list-item > a {
display: flex;
align-items: center;
justify-content: space-between;
text-decoration: none;
}
.social-list-divider {
border: 0.5px solid var(--color-text);
}
.social-list-item:hover {
background-color: var(--color-text);
color: var(--header_background);
}
#show-socials-button {
background: none;
border: none;
cursor: url('https://cdn.nhcarrigan.com/cursors/pointer.cur'), pointer;
color: var(--color-text);
font-size: 1rem;
}
#show-socials-button > i {
font-size: 1.5rem;
}
#social-list {
position: absolute;
bottom: 75px;
left: 0;
right: 0;
width: 100vw;
max-width: 400px;
padding: 10px;
background-color: var(--header_background);
color: var(--color-text);
border-radius: 10px;
border: 1px solid var(--color-text);
display: none;
z-index: 1000;
}
.social-list-item {
padding: 10px;
}
.social-list-item > a {
display: flex;
align-items: center;
justify-content: space-between;
text-decoration: none;
}
.social-list-divider {
border: 0.5px solid var(--color-text);
}
.social-list-item:hover {
background-color: var(--color-text);
color: var(--header_background);
}
+468
View File
@@ -0,0 +1,468 @@
/* Trans Pride - A light theme for Gitea */
@font-face {
font-family: 'Vampyr';
src: url('https://cdn.nhcarrigan.com/fonts/vampyr.ttf') format('truetype');
}
:root {
--is-dark-theme: false;
--fonts-regular: "Vampyr" !important;
--fonts-proportional: "Vampyr" !important;
--fonts-monospace: "Vampyr" !important;
--fonts-emoji: "Vampyr" !important;
/* Primary (pinks) */
--color-primary: #ff6b94; /* flag pink pop */
--color-primary-dark: #db7093; /* medium pink for hover/active */
--color-primary-light: #ffc0cb; /* soft pastel pink */
--color-primary-very-light: #ffe6ee;/* pale pink background fills */
/* Main Text & Background */
--color-text: #2a0a18; /* deep plum text */
--color-text-light: #4d2037; /* muted variant */
--color-text-dark: #000000; /* headings/strong */
--color-body: #DAFFFC; /* almost white with pink tint */
/* UI (trans blues for balance) */
--color-secondary: #87cefa; /* sky blue */
--color-secondary-dark: #5dade2; /* medium bright blue */
--color-secondary-light: #add8e6; /* pastel blue */
/* State Colors */
--color-success: #5dade2; /* success = strong blue */
--color-success-dark: #1e90ff;
--color-success-light: #87cefa;
--color-danger: #ff4f7a; /* pinkish red */
--color-danger-dark: #ff2f66;
--color-danger-light: #ff7fa1;
--color-warning: #ffb347; /* warm orange */
--color-warning-dark: #ff9f1a;
--color-warning-light: #ffd699;
--color-info: #1e90ff; /* crisp blue */
--color-info-dark: #187bcd;
--color-info-light: #87cefa;
/* Other UI Elements */
--color-menu: #fff9fb;
--color-card: #ffffff; /* pure white cards */
--color-markup-table-row: #f5f9ff; /* faint blue row */
--color-markup-code-block: #fff0f6; /* faint pink block */
--color-button: #ff6b94; /* primary = pink */
--color-border: #ffd1dc; /* pale pink border */
--color-input-border: #add8e6; /* soft blue border */
--color-input-background: #ffffff;
--color-small-accent: #87cefa; /* tiny blue accent */
/* Diff Colors (soft pink/blue tints) */
--color-diff-add-line: #e6f6ff; /* pale blue add */
--color-diff-add-word: #cceeff;
--color-diff-del-line: #ffe6f0; /* pale pink delete */
--color-diff-del-word: #ffccd9;
--color-diff-section: #f0f6ff;
/* Code Syntax Highlighting (balanced) */
--color-code-keyword: #1e90ff; /* keywords = bright blue */
--color-code-function: #ff3b6f; /* functions = hot pink */
--color-code-string: #db7093; /* strings = medium pink */
--color-code-number: #5dade2; /* numbers = medium blue */
--color-code-comment: #8a6b78; /* muted plum comment */
--color-code-type: #87cefa; /* types = sky blue */
--vscode-editor-background: #fff9fb;/* soft background */
--color-footer: #DAFFFC;
--color-nav-bg: #DAFFFC;
}
/* Header */
.ui.menu.inverted {
background-color: var(--color-secondary);
color: var(--color-text);
}
.ui.secondary.menu .item {
color: var(--color-text);
}
.ui.secondary.menu .active.item {
background-color: var(--color-primary-very-light);
}
/* Repository header */
.repository.header {
background-color: var(--color-menu);
}
/* Buttons */
.ui.primary.button {
background-color: var(--color-primary);
}
.ui.primary.button:hover {
background-color: var(--color-primary-dark);
}
.ui.basic.button {
box-shadow: 0 0 0 1px var(--color-border) inset;
color: var(--color-text) !important;
}
.ui.basic.button:hover {
background-color: var(--color-primary-very-light) !important;
color: var(--color-text-dark) !important;
}
/* Tabs */
.ui.tabular.menu .item {
color: var(--color-text-light);
}
.ui.tabular.menu .active.item {
background-color: var(--color-primary-very-light);
color: var(--color-text);
border-color: var(--color-border);
}
/* Tables */
.ui.table thead th {
background: var(--color-menu);
color: var(--color-text);
}
.ui.table {
border-color: var(--color-border);
}
/* Form inputs */
.ui.input input {
background-color: var(--color-input-background);
border-color: var(--color-input-border);
color: var(--color-text);
}
.ui.input input:focus {
border-color: var(--color-primary);
}
/* Labels */
.ui.label {
background-color: var(--color-primary-very-light);
color: var(--color-text);
}
/* Markdown Content */
.markdown:not(code) {
color: var(--color-text);
}
.markdown code, .markdown pre {
background-color: var(--color-markup-code-block);
border-color: var(--color-border);
}
/* Sidebar */
.ui.vertical.menu {
background-color: var(--color-menu);
}
.ui.vertical.menu .item {
color: var(--color-text);
}
.ui.vertical.menu .active.item {
background-color: var(--color-primary-very-light);
}
/* Status tags */
.ui.green.label {
background-color: var(--color-success) !important;
color: var(--color-body) !important;
}
.ui.red.label {
background-color: var(--color-danger) !important;
color: var(--color-body) !important;
}
.ui.yellow.label {
background-color: var(--color-warning) !important;
color: var(--color-text-dark) !important;
}
.ui.blue.label {
background-color: var(--color-info) !important;
color: var(--color-body) !important;
}
/* Dashboard cards */
.dashboard-card {
background-color: var(--color-card);
border-color: var(--color-border);
}
/* Timeline and activities */
.timeline-item {
border-color: var(--color-border);
}
.timeline-item .badge {
background-color: var(--color-primary-very-light);
color: var(--color-text);
}
/* Code diff view */
.diff-file-box .code-diff-split .add-code {
background-color: var(--color-diff-add-line);
}
.diff-file-box .code-diff-split .del-code {
background-color: var(--color-diff-del-line);
}
.diff-file-box .code-diff-split .add-code .add-line {
background-color: var(--color-diff-add-word);
}
.diff-file-box .code-diff-split .del-code .del-line {
background-color: var(--color-diff-del-word);
}
.monaco-editor, .monaco-diff-editor, .monaco-component, .monaco-editor-background, .monaco-editor .margin {
background: #fff5f8 !important;
}
.monaco-editor {
--vscode-editor-selectionBackground: var(--color-primary) !important;
--vscode-editor-inactiveSelectionBackground: var(--color-primary) !important;
--vscode-editor-lineHighlightBackground: var(--color-primary) !important;
}
.monaco-editor .view-overlays .current-line {
background-color: var(--color-primary) !important;
}
.monaco-editor .margin {
background-color: transparent !important;
}
.monaco-editor .margin-view-overlays .current-line-margin {
background-color: var(--color-primary) !important;
}
.active-line-number {
background-color: transparent !important;
}
/* Scrollbar */
::-webkit-scrollbar-thumb {
background: var(--color-primary-light);
}
::-webkit-scrollbar-thumb:hover {
background: var(--color-primary);
}
::-webkit-scrollbar-track {
background: var(--color-primary-very-light);
}
body::before {
background: url(https://cdn.nhcarrigan.com/background.png);
background-size: cover;
background-position: center;
width: 100%;
height: 100%;
z-index: -100;
content: "";
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 1;
pointer-events: none;
}
body::after {
background: var(--color-body);
opacity: 0.8;
width: 100%;
height: 100%;
z-index: -50;
content: "";
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
}
html {
cursor: url('https://cdn.nhcarrigan.com/cursors/cursor.cur'), auto;
font-family: "Vampyr";
}
a, button, .button, .dropdown {
cursor: url('https://cdn.nhcarrigan.com/cursors/pointer.cur'), pointer !important;
}
#tree-nation-offset-website {
display: flex;
align-items: center;
}
@media screen and (max-width: 885px) {
#tree-nation-offset-website {
display: none;
}
}
footer {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
color: var(--foreground);
background-color: var(--background);
position: fixed;
bottom: 0;
height: 75px;
padding: 0 10px;
}
@media (max-width: 880px) {
.page-footer {
flex-direction: row;
}
}
#navbar {
position: fixed;
top: 0;
height: 50px;
width: 100%;
z-index: 1;
}
.page-content {
margin-top: 50px;
}
*::selection {
color: var(--color-body) !important;
background: var(--color-text) !important;
}
@media screen and (max-width: 768px) {
.navbar-right > .item {
justify-content: right !important;
width: 50% !important;
right: 0 !important;
margin-right: 0 !important;
margin-left: auto !important;
background: var(--color-nav-bg) !important;
}
.navbar-left > .item {
justify-content: left !important;
width: 50% !important;
left: 0 !important;
margin-left: 0 !important;
margin-right: auto !important;
background: var(--color-nav-bg) !important;
}
}
.home a {
text-decoration: underline !important;
}
.home ul {
list-style-type: none !important;
padding-left: 0 !important;
}
#show-socials-button {
background: none;
border: none;
cursor: url('https://cdn.nhcarrigan.com/cursors/pointer.cur'), pointer;
color: var(--color-text);
font-size: 1rem;
}
#show-socials-button > i {
font-size: 1.5rem;
}
#social-list {
position: absolute;
bottom: 75px;
left: 0;
right: 0;
width: 100vw;
max-width: 400px;
padding: 10px;
background-color: var(--header_background);
color: var(--color-text);
border-radius: 10px;
border: 1px solid var(--color-text);
display: none;
z-index: 1000;
}
.social-list-item {
padding: 10px;
}
.social-list-item > a {
display: flex;
align-items: center;
justify-content: space-between;
text-decoration: none;
}
.social-list-divider {
border: 0.5px solid var(--color-text);
}
.social-list-item:hover {
background-color: var(--color-text);
color: var(--header_background);
}
#show-socials-button {
background: none;
border: none;
cursor: url('https://cdn.nhcarrigan.com/cursors/pointer.cur'), pointer;
color: var(--color-text);
font-size: 1rem;
}
#show-socials-button > i {
font-size: 1.5rem;
}
#social-list {
position: absolute;
bottom: 75px;
left: 0;
right: 0;
width: 100vw;
max-width: 400px;
padding: 10px;
background-color: var(--header_background);
color: var(--color-text);
border-radius: 10px;
border: 1px solid var(--color-text);
display: none;
z-index: 1000;
}
.social-list-item {
padding: 10px;
}
.social-list-item > a {
display: flex;
align-items: center;
justify-content: space-between;
text-decoration: none;
}
.social-list-divider {
border: 0.5px solid var(--color-text);
}
.social-list-item:hover {
background-color: var(--color-text);
color: var(--header_background);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 MiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 MiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 4.5 MiB

+94
View File
@@ -0,0 +1,94 @@
<footer class="page-footer" role="group" aria-label="{{ctx.Locale.Tr "aria.footer"}}">
<p>&copy; <a href="https://nhcarrigan.com" target="_blank">Naomi Carrigan</a></p>
<button id="show-socials-button" type="button">
<i class="fa-solid fa-share-nodes"></i> Connect with Us
</button>
<a 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>
<div id="social-list">
<div class="social-list-item">
<a href="https://chat.nhcarrigan.com" target="_blank" rel="noreferrer">
<i class="fa-brands fa-discord"></i><span>Join our Discord~!</span>
</a>
</div>
<hr class="social-list-divider" />
<div class="social-list-item">
<a href="https://bsky.app/profile/nhcarrigan.com" target="_blank" rel="noreferrer">
<i class="fa-brands fa-bluesky"></i><span>Follow us on Bluesky~!</span>
</a>
</div>
<hr class="social-list-divider" />
<div class="social-list-item">
<a href="https://www.linkedin.com/company/nhcarrigan" target="_blank" rel="noreferrer">
<i class="fa-brands fa-linkedin"></i><span>Connect with us on LinkedIn~!</span>
</a>
</div>
<hr class="social-list-divider" />
<div class="social-list-item">
<a href="https://www.reddit.com/r/nhcarrigan/" target="_blank" rel="noreferrer">
<i class="fa-brands fa-reddit"></i><span>Join our subreddit~!</span>
</a>
</div>
<hr class="social-list-divider" />
<div class="social-list-item">
<a href="https://www.youtube.com/@naomilgbt" target="_blank" rel="noreferrer">
<i class="fa-brands fa-youtube"></i><span>Subscribe to our YouTube~!</span>
</a>
</div>
<hr class="social-list-divider" />
<div class="social-list-item">
<a href="https://twitch.tv/naomilgbt" target="_blank" rel="noreferrer">
<i class="fa-brands fa-twitch"></i><span>Subscribe to our Twitch~!</span>
</a>
</div>
<hr class="social-list-divider" />
<div class="social-list-item">
<a href="https://x.com/nhcarrigan1" target="_blank" rel="noreferrer">
<i class="fa-brands fa-twitter"></i><span>We are even on Twitter~!</span>
</a>
</div>
</div>
</footer>
<script>
const showSocialsButton = document.querySelector(
"#show-socials-button",
);
const socialList = document.querySelector("#social-list");
const toggleSocials = () => {
if (!socialList) {
throw new Error("Social list element not found.");
}
if (socialList.style.display === "block") {
socialList.style.display = "none";
showSocialsButton?.setAttribute("aria-expanded", "false");
showSocialsButton?.setAttribute("aria-label", "Show Socials");
return;
}
socialList.style.display = "block";
showSocialsButton?.setAttribute("aria-expanded", "true");
showSocialsButton?.setAttribute("aria-label", "Hide Socials");
};
showSocialsButton?.addEventListener("click", toggleSocials);
</script>
<script src="https://widgets.tree-nation.com/js/widgets/v1/widgets.min.js?v=1.0"></script>
<script>
const interval = setInterval(() => {
const tree = document.querySelector("#tree-nation-offset-website");
if (!tree) {
console.log("DOM has not hydrated yet, cannot load TreeNation badge.");
return;
}
TreeNationOffsetWebsite({
code: "a17464e0cd351220",
lang: "en",
theme: "dark",
}).render("#tree-nation-offset-website");
clearInterval(interval);
}, 1000);
</script>
<script src="{{AssetUrlPrefix}}/js/index.js?v={{AssetVersion}}" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script>
</body>
</html
+1
View File
@@ -0,0 +1 @@
<a class="item" href="{{AppSubUrl}}/nhcarrigan">Public Repositories</a>
+14
View File
@@ -0,0 +1,14 @@
<script async src="https://analytics.nhcarrigan.com/js/pa-YUXAn1vhhRttySUAw_LMN.js"></script>
<script>
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
plausible.init({
customProperties: {
domain: "git.nhcarrigan.com",
page: document.querySelector("title")?.innerText ?? "Unknown Gitea Page",
path: window.location.pathname,
},
})
</script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3569924701890974"
crossorigin="anonymous"></script>
<script src="https://kit.fontawesome.com/f949111719.js"></script>
+28
View File
@@ -0,0 +1,28 @@
{{template "base/head" .}}
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home"}}{{end}}" class="page-content home">
<div class="tw-mb-8 tw-px-8">
<div class="center">
<img class="logo" width="220" src="https://cdn.nhcarrigan.com/logo.png" alt="{{ctx.Locale.Tr "logo"}}" />
<div class="hero">
<h1 class="ui icon header title">
{{AppName}}
</h1>
<h2>Code Repositories</h2>
<p>Welcome to our custom Gitea instance! Please check out our <a href="https://git.nhcarrigan.com/nhcarrigan">organisation page</a> for more information.</p>
<p>To report bugs or propose features, you should NOT come here. Instead, use the appropriate forum channels in our <a href="https://chat.nhcarrigan.com">Discord community</a>. Our team will triage your tickets there, and if accepted they will be added to the issue tracker for the project here.
<p>If you'd like to contribute code, you'll need to <a href="https://forms.nhcarrigan.com/form/PEpB3gA79gxP8wmfEf4zou96opkpUTjssTcaeYjhoi8">join our volunteer team</a> to get access. We restrict both registration and repository/org creation, so you'll be working off of our repos directly.</p>
<p>This policy ensures that we can focus our limited resources on delivering you the best products.</p>
<h2>Other Repositories</h2>
<p>You can find our works across these five organisations:</p>
<ul>
<li><a href="{{AppSubUrl}}/nhcarrigan">Public Repositories</a></li>
<li><a href="{{AppSubUrl}}/nhcarrigan-private">Private Repositories</a></li>
<li><a href="{{AppSubUrl}}/nhcarrigan-games">Game Development</a></li>
<li><a class="item" href="{{AppSubUrl}}/naomi">Naomi Carrigan</a></li>
<li><a class="item" href="{{AppSubUrl}}/nhcarrigan-archive">Archive</a></li>
</ul>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}
+28
View File
@@ -0,0 +1,28 @@
{{template "base/head" .}}
<div role="main" aria-label="{{if .IsSigned}}{{ctx.Locale.Tr "dashboard"}}{{else}}{{ctx.Locale.Tr "home"}}{{end}}" class="page-content home">
{{template "base/alert" .}}
<div class="tw-mb-8 tw-px-8">
<div class="center">
<img class="logo" width="220" src="https://cdn.nhcarrigan.com/logo.png" alt="{{ctx.Locale.Tr "logo"}}" />
<div class="hero">
<h1 class="ui icon header title">
{{AppName}}
</h1>
<h2>Code Repositories</h2>
<p>Welcome to our custom Gitea instance! Please check out our <a href="https://git.nhcarrigan.com/nhcarrigan">organisation page</a> for more information.</p>
<p>To report bugs or propose features, you should NOT come here. Instead, use the appropriate forum channels in our <a href="https://chat.nhcarrigan.com">Discord community</a>. Our team will triage your tickets there, and if accepted they will be added to the issue tracker for the project here.
<p>If you'd like to contribute code, you'll need to <a href="https://forms.nhcarrigan.com/form/PEpB3gA79gxP8wmfEf4zou96opkpUTjssTcaeYjhoi8">join our volunteer team</a> to get access. We restrict both registration and repository/org creation, so you'll be working off of our repos directly.</p> <p>This policy ensures that we can focus our limited resources on delivering you the best products.</p>
<h2>Other Repositories</h2>
<p>You can find our works across these five organisations:</p>
<ul>
<li><a href="{{AppSubUrl}}/nhcarrigan">Public Repositories</a></li>
<li><a href="{{AppSubUrl}}/nhcarrigan-private">Private Repositories</a></li>
<li><a href="{{AppSubUrl}}/nhcarrigan-games">Game Development</a></li>
<li><a class="item" href="{{AppSubUrl}}/naomi">Naomi Carrigan</a></li>
<li><a class="item" href="{{AppSubUrl}}/nhcarrigan-archive">Archive</a></li>
</ul>
</div>
</div>
</div>
</div>
{{template "base/footer" .}}