Merge pull request 'master' (#2) from team/site:master into master

Reviewed-on: ianr/site#2
This commit is contained in:
Ian Remsen 2023-03-16 18:18:30 +00:00
commit 550b33cfa2
14 changed files with 224 additions and 1298 deletions

View File

@ -25,4 +25,4 @@ steps:
- sudo -Hu www-data git fetch - sudo -Hu www-data git fetch
- sudo -Hu www-data git reset --hard origin/master - sudo -Hu www-data git reset --hard origin/master
- sudo -Hu www-data composer install - sudo -Hu www-data composer install
- sudo -Hu www-data make -C css

View File

@ -1,5 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager"> <component name="PhpIncludePathManager">
<include_path> <include_path>
<path value="$PROJECT_DIR$/vendor/tildeteam/wiki" /> <path value="$PROJECT_DIR$/vendor/tildeteam/wiki" />
@ -20,9 +30,15 @@
<component name="PhpProjectSharedConfiguration" php_language_level="8.1"> <component name="PhpProjectSharedConfiguration" php_language_level="8.1">
<option name="suggestChangeDefaultLanguageLevel" value="false" /> <option name="suggestChangeDefaultLanguageLevel" value="false" />
</component> </component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpUnit"> <component name="PhpUnit">
<phpunit_settings> <phpunit_settings>
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" /> <PhpUnitSettings custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" />
</phpunit_settings> </phpunit_settings>
</component> </component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project> </project>

2
css/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
hacker.css
dracula.css

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@
*/ */
select { select {
background-color: darken(@btn-default-bg,5%); background-color: darken(@btn-default-bg, 5%);
border-color: @btn-default-border; border-color: @btn-default-border;
padding: 5px; padding: 5px;
} }
@ -31,12 +31,29 @@ a {
text-decoration: underline; text-decoration: underline;
} }
.btn-default { .btn-styles(@btn-default-bg); } .btn-default {
.btn-primary { .btn-styles(@btn-primary-bg); } .btn-styles(@btn-default-bg);
.btn-success { .btn-styles(@btn-success-bg); } }
.btn-info { .btn-styles(@btn-info-bg); }
.btn-warning { .btn-styles(@btn-warning-bg); } .btn-primary {
.btn-danger { .btn-styles(@btn-danger-bg); } .btn-styles(@btn-primary-bg);
}
.btn-success {
.btn-styles(@btn-success-bg);
}
.btn-info {
.btn-styles(@btn-info-bg);
}
.btn-warning {
.btn-styles(@btn-warning-bg);
}
.btn-danger {
.btn-styles(@btn-danger-bg);
}
// Forms // Forms
@ -163,15 +180,28 @@ tr.active {
} }
} }
.alert-success .close { .close-styles(@brand-success); } .alert-success .close {
.alert-info .close { .close-styles(@brand-info); } .close-styles(@brand-success);
.alert-warning .close { .close-styles(@brand-warning); } }
.alert-danger .close { .close-styles(@brand-danger); }
.alert-info .close {
.close-styles(@brand-info);
}
.alert-warning .close {
.close-styles(@brand-warning);
}
.alert-danger .close {
.close-styles(@brand-danger);
}
// Modals // Modals
// Apply close button mixin // Apply close button mixin
.modal-header .close { .close-styles(@close-color); } .modal-header .close {
.close-styles(@close-color);
}
// List groups // List groups
@ -187,6 +217,7 @@ tr.active {
border: 1px solid #222; border: 1px solid #222;
} }
} }
p { p {
word-wrap: break-word; word-wrap: break-word;
overflow-wrap: break-word; overflow-wrap: break-word;
@ -197,14 +228,17 @@ tr.active {
background: @hacker-primary-lighter; background: @hacker-primary-lighter;
color: @hacker-bg color: @hacker-bg
} }
*::selection { *::selection {
background: @hacker-primary-lighter; background: @hacker-primary-lighter;
color: @hacker-bg color: @hacker-bg
} }
::-moz-selection { ::-moz-selection {
background: @hacker-primary-lighter; background: @hacker-primary-lighter;
color: @hacker-bg color: @hacker-bg
} }
*::-moz-selection { *::-moz-selection {
background: @hacker-primary-lighter; background: @hacker-primary-lighter;
color: @hacker-bg color: @hacker-bg

View File

@ -1,9 +1,50 @@
// import bootstrap base // import bootstrap base
@import "../node_modules/bootstrap/less/bootstrap.less"; @import "../node_modules/bootstrap/less/bootstrap.less";
// @import (inline) "plex.css";
// import custom variables // import custom variables
@import "dracula_variables.less"; @import "variables.less";
// dracula colors by SinaCutie
@hacker-primary-darker: darken(@hacker-primary, 20%); /* Primary 1 */
@hacker-primary-dark: darken(@hacker-primary, 10%); /* Primary 2 */
@hacker-primary: #F8F8F2; /* Main primary */
@hacker-primary-light: lighten(@hacker-primary, 10%); /* Primary 3 */
@hacker-primary-lighter: lighten(@hacker-primary, 20%); /* Primary 3 */
@hacker: @hacker-primary-lighter; /* Body text */
@hacker-bg: #282A36; /* Body bg */
@hacker-box-bg: lighten(@hacker-bg, 10%); /* Container elem bg */
@hacker-box-border: lighten(@hacker-bg, 20%); /* Container border */
@brand-primary: @hacker-primary;
@brand-success: #50FA7B;
@brand-warning: #F1FA8C;
@brand-danger: #FF5555;
@brand-info: #8BE9FD;
@comment: #6272A4;
@link-color: #BD93F9;
@pre-color: @hacker-primary;
@btn-default-color: @hacker-primary-lighter;
@btn-default-bg: @comment;
@btn-default-border: @hacker-box-border;
@btn-primary-bg: @hacker-primary-light;
@table-bg-active: @comment;
@panel-bg: @hacker-bg;
@panel-inner-border: @hacker-box-bg;
@panel-footer-bg: @hacker-box-bg;
@panel-default-heading-bg: lighten(@hacker-bg, 10%);
@panel-primary-text: @hacker-primary;
@panel-primary-border: @hacker-box-bg;
@panel-primary-heading-bg: @hacker-box-bg;
@list-group-active-bg: @comment;
@progress-bar-color: lighten(@hacker-primary-lighter, 10%);
@progress-bar-bg: #FFB86C;
// import custom theme changes // import custom theme changes
@import "_theme.less"; @import "_theme.less";

View File

@ -1,367 +0,0 @@
/*
A Bootstrap theme for 31337 H4X0RS
by Tobin Brown, 2015
forked by benharri for tilde.team
dracula colors for tilde.team by SinaCutie
Palette URL: http://paletton.com/#uid=12U0u0knnfti5bkladVnSlVo6tw
*/
// Hacker Colors
@hacker-primary-darker: darken(@hacker-primary, 20%); /* Primary 1 */
@hacker-primary-dark: darken(@hacker-primary, 10%); /* Primary 2 */
@hacker-primary: #F8F8F2; /* Main primary */
@hacker-primary-light: lighten(@hacker-primary, 10%); /* Primary 3 */
@hacker-primary-lighter: lighten(@hacker-primary, 20%); /* Primary 3 */
@hacker: @hacker-primary-lighter; /* Body text */
@hacker-bg: #282A36; /* Body bg */
@hacker-box-bg: lighten(@hacker-bg, 10%); /* Container elem bg */
@hacker-box-border: lighten(@hacker-bg, 20%); /* Container border */
// Bootstrap Colors
@gray-darker: #181417;
@gray-dark: #453c44;
@gray: #675b65;
@gray-light: #907f8d;
@gray-lighter: #b9adb6;
@brand-primary: @hacker-primary;
@brand-success: #50FA7B;
@brand-warning: #F1FA8C;
@brand-danger: #FF5555;
@brand-info: #8BE9FD;
@comment: #6272A4;
// Scaffolding
@body-bg: @hacker-bg;
@text-color: @hacker;
@link-color: #BD93F9;
@link-hover-color: lighten(@link-color, 10%);
@padding-base-vertical: 6px;
@padding-base-horizontal: 2ch;
@padding-large-vertical: 10px;
@padding-large-horizontal: 3ch;
@padding-small-vertical: 5px;
@padding-small-horizontal: 1ch;
@border-radius-base: 2;
@border-radius-large: 4;
@border-radius-small: 1;
@line-height-base: 1.428571429;
@line-height-with-unit: 1.428571429em;
@line-height-large: @line-height-base * 2;
@line-height-small: @line-height-base;
@component-active-color: @hacker-bg;
@component-active-bg: @hacker-primary-lighter;
// Typography
@font-family-monospace: "IBM Plex Mono", "JetBrains Mono", "Fira Mono", Consolas, Inconsolata, monospace;
@font-family-sans-serif: @font-family-monospace;
@font-family-serif: @font-family-monospace;
@font-family-base: @font-family-monospace;
@font-size-base: 16px;
@font-size-large: ceil(@font-size-base * 1.25);
@font-size-small: ceil(@font-size-base * 0.85);
@font-size-h1: floor((@font-size-base * 3));
@font-size-h2: floor((@font-size-base * 2.5));
@font-size-h3: floor((@font-size-base * 2));
@font-size-h4: floor((@font-size-base * 1.5));
@font-size-h5: floor((@font-size-base * 1.25));
@font-size-h6: @font-size-base;
@line-height-computed: floor(@font-size-base * @line-height-base);
@headings-font-family: @font-family-base;
@headings-font-weight: 500;
@headings-line-height: @line-height-base;
@headings-color: @hacker-primary-lighter;
// Code
@code-color: @hacker-primary-lighter;
@code-bg: @hacker-box-bg;
@kbd-color: @hacker-primary-lighter;
@kbd-bg: @hacker-box-bg;
@pre-color: @hacker-primary;
@pre-bg: @hacker-box-bg;
@pre-border-color: @hacker-box-border;
// Buttons
@btn-font-weight: normal;
@btn-default-color: @hacker-primary-lighter;
@btn-default-bg: @comment;
@btn-default-border: @hacker-box-border;
@btn-primary-color: @hacker-bg;
@btn-primary-bg: @hacker-primary-light;
@btn-primary-border: darken(@btn-primary-bg, 10%);
@btn-success-color: @hacker-bg;
@btn-success-bg: @brand-success;
@btn-success-border: darken(@btn-success-bg, 10%);
@btn-warning-color: @hacker-bg;
@btn-warning-bg: @brand-warning;
@btn-warning-border: darken(@btn-warning-bg, 10%);
@btn-danger-color: @hacker-bg;
@btn-danger-bg: @brand-danger;
@btn-danger-border: darken(@btn-danger-bg, 10%);
@btn-info-color: @hacker-bg;
@btn-info-bg: @brand-info;
@btn-info-border: darken(@btn-info-bg, 10%);
@btn-link-disabled-color: @gray-light;
// Well
@well-bg: @hacker-box-bg;
@well-border: @hacker-box-border;
// Dropdowns
@dropdown-bg: @hacker-box-bg;
@dropdown-border: @hacker-box-border;
@dropdown-divider-bg: @hacker-box-border;
@dropdown-link-active-color: @component-active-color;
@dropdown-link-active-bg: @component-active-bg;
@dropdown-link-color: @hacker-primary-light;
@dropdown-link-hover-color: @link-hover-color;
@dropdown-link-hover-bg: @gray-darker;
@dropdown-link-disabled-color: @gray-light;
@dropdown-header-color: @headings-color;
@dropdown-caret-color: #000000;
// Custom colors
@dropdown-header-bg: lighten(@dropdown-bg, 10%);
// Forms
@input-bg: @hacker-bg;
@input-bg-disabled: lighten(@hacker-bg, 20%);
@input-color: @hacker;
@input-border: @hacker-box-border;
@input-border-focus: @component-active-bg;
@input-border-radius: @border-radius-base;
@input-color-placeholder: @hacker;
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
@input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
@legend-color: @headings-color;
@legend-border-color: @hacker-box-border;
@input-group-addon-bg: @hacker-bg;
@input-group-addon-border-color: @input-border;
// Table
@table-cell-padding: 8px;
@table-condensed-cell-padding: 5px;
@table-cell-padding: 8px;
@table-condensed-cell-padding: 5px;
@table-bg: @hacker-box-bg;
@table-bg-accent: lighten(@hacker-bg, 13%);
@table-bg-hover: darken(@gray-darker, 5%); /* Match active */
@table-bg-active: @comment;
@table-border-color: @hacker-box-border;
// Custom colors
@table-heading-color: @hacker-primary-lighter;
@table-heading-bg: darken(@hacker-box-bg, 5%);
@table-hover-color: @hacker-primary-lighter;
@table-active-color: @hacker-primary-lighter;
// Navbar
@navbar-height: 50px;
@navbar-margin-bottom: @line-height-computed;
@navbar-default-color: @hacker;
@navbar-default-bg: @hacker-box-bg;
@navbar-default-border: @hacker-bg;
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
@navbar-default-link-color: @link-color;
@navbar-default-link-hover-color: @link-hover-color;
@navbar-default-link-hover-bg: @hacker-bg;
@navbar-default-link-active-color: @hacker-bg;
@navbar-default-link-active-bg: @hacker-primary-lighter;
@navbar-default-link-disabled-color: #CCCCCC;
@navbar-default-link-disabled-bg: transparent;
@navbar-default-brand-color: @navbar-default-link-color;
@navbar-default-brand-hover-color: lighten(@navbar-default-link-color, 10%);
@navbar-default-brand-hover-bg: transparent;
@navbar-default-toggle-hover-bg: #DDDDDD;
@navbar-default-toggle-icon-bar-bg: #888888;
@navbar-default-toggle-border-color: #DDDDDD;
// Navs Tabs
@nav-link-padding: 10px 15px;
@nav-link-hover-bg: @gray-darker;
@nav-disabled-link-color: @hacker-primary-light;
@nav-disabled-link-hover-color: @gray-light;
@nav-tabs-border-color: #444444;
@nav-tabs-link-hover-border-color: #444444;
@nav-tabs-active-link-hover-bg: @hacker-primary-lighter;
@nav-tabs-active-link-hover-color: @hacker-bg;
@nav-tabs-active-link-hover-border-color: #444444;
@nav-tabs-justified-link-border-color: #DDDDDD;
@nav-tabs-justified-active-link-border-color: @body-bg;
@nav-pills-border-radius: @border-radius-base;
@nav-pills-active-link-hover-bg: @component-active-bg;
@nav-pills-active-link-hover-color: @component-active-color;
// Panel
@panel-bg: @hacker-bg;
@panel-body-padding: 15px;
@panel-heading-padding: 10px 15px;
@panel-footer-padding: @panel-heading-padding;
@panel-border-radius: @border-radius-base;
@panel-inner-border: @hacker-box-bg;
@panel-footer-bg: @hacker-box-bg;
@panel-default-text: @hacker-bg;
@panel-default-border: @hacker-box-bg;
@panel-default-heading-bg: lighten(@hacker-bg, 10%);
@panel-primary-text: @hacker-primary;
@panel-primary-border: @hacker-box-bg;
@panel-primary-heading-bg: @hacker-box-bg;
@panel-success-text: @state-success-text;
@panel-success-border: @state-success-border;
@panel-success-heading-bg: @state-success-bg;
@panel-info-text: @state-info-text;
@panel-info-border: @state-info-border;
@panel-info-heading-bg: @state-info-bg;
@panel-warning-text: @state-warning-text;
@panel-warning-border: @state-warning-border;
@panel-warning-heading-bg: @state-warning-bg;
@panel-danger-text: @state-danger-text;
@panel-danger-border: @state-danger-border;
@panel-danger-heading-bg: @state-danger-bg;
// Jumbotron
@jumbotron-padding: 30px;
@jumbotron-color: inherit;
@jumbotron-bg: lighten(@hacker-bg, 10%);
@jumbotron-heading-color: @headings-color;
@jumbotron-font-size: ceil((@font-size-base * 1.5));
// Pagination
@pagination-bg: @hacker-bg;
@pagination-border: #444444;
@pagination-hover-bg: @gray-darker;
@pagination-hover-color: @link-hover-color;
@pagination-hover-border: @pagination-border;
@pagination-active-bg: @component-active-bg;
@pagination-active-color: @component-active-color;
@pagination-active-border: @pagination-border;
@pagination-disabled-color: @hacker-primary;
@pagination-disabled-bg: @pagination-bg;
@pagination-disabled-border: @pagination-border;
@pager-bg: @pagination-bg;
@pager-border: @pagination-border;
@pager-border-radius: 0;
@pager-hover-bg: @pagination-hover-bg;
@pager-active-bg: @pagination-active-bg;
@pager-active-color: @pagination-active-color;
@pager-bg: @pagination-bg;
@pager-disabled-color: @gray-light;
// Form States
@state-warning-text: @brand-warning;
@state-warning-bg: lighten(@hacker-bg, 10%);
@state-warning-border: darken(spin(@state-warning-bg, -10), 3%);
@state-danger-text: @brand-danger;
@state-danger-bg: lighten(@hacker-bg, 10%);
@state-danger-border: darken(spin(@state-danger-bg, -10), 3%);
@state-success-text: @brand-success;
@state-success-bg: lighten(@hacker-bg, 10%);
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
@state-info-text: @brand-info;
@state-info-bg: lighten(@hacker-bg, 10%);
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
// ToolTip
@tooltip-max-width: 200px;
@tooltip-color: #FFFFFF;
@tooltip-bg: #000000;
@tooltip-arrow-width: 5px;
@tooltip-arrow-color: @tooltip-bg;
@tooltip-opacity: .9;
// Popover
@popover-bg: @hacker-box-bg;
@popover-max-width: 276px;
@popover-border-color: rgba(0,0,0,.2);
@popover-fallback-border-color: #333333;
@popover-title-bg: darken(@popover-bg, 3%);
@popover-arrow-width: 10px;
@popover-arrow-color: @popover-bg;
@popover-arrow-outer-width: (@popover-arrow-width + 1);
@popover-arrow-outer-color: rgba(0,0,0,.25);
@popover-arrow-outer-fallback-color: #999999;
// List Group
@list-group-bg: lighten(@hacker-bg, 5%);
@list-group-border: #222222;
@list-group-border-radius: @border-radius-base;
@list-group-hover-bg: lighten(@hacker-bg, 10%);
@list-group-active-color: @hacker-primary-lighter;
@list-group-active-bg: @comment;
@list-group-active-border: @list-group-active-bg;
@list-group-active-text-color: @hacker-bg;
@list-group-link-color: @hacker;
@list-group-link-heading-color: @hacker;
// Modal
@modal-content-bg: @hacker-box-bg;
@modal-content-border-color: transparent;
@modal-content-fallback-border-color: #999999;
@modal-backdrop-bg: @hacker-bg;
@modal-backdrop-opacity: .5;
@modal-header-border-color: lighten(@hacker-bg, 10%);
@modal-footer-border-color: @modal-header-border-color;
// Badge
@badge-color: @hacker;
@badge-bg: @hacker-bg;
// Progress bars
@progress-bg: @hacker-box-bg;
@progress-bar-color: lighten(@hacker-primary-lighter, 10%);
@progress-bar-bg: #FFB86C;
@progress-bar-success-bg: @brand-success;
@progress-bar-warning-bg: @brand-warning;
@progress-bar-danger-bg: @brand-danger;
@progress-bar-info-bg: @brand-info;
// Breadcrumb
@breadcrumb-bg: @hacker-box-bg;
@breadcrumb-color: @hacker-primary-light;
@breadcrumb-active-color: lighten(@hacker, 10%);
// Close
@close-color: @hacker-primary-light;
@close-text-shadow: none;
// Labels
@label-color: @hacker-bg;
// hr
@hr-border: lighten(@hacker-bg, 20%);

View File

@ -3,7 +3,7 @@
// @import (inline) "plex.css"; // @import (inline) "plex.css";
// import custom variables // import custom variables
@import "hacker_variables.less"; @import "variables.less";
// import custom theme changes // import custom theme changes
@import "_theme.less"; @import "_theme.less";

View File

@ -1,49 +1,56 @@
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: italic; font-style: italic;
font-weight: 300; font-weight: 300;
src: local('IBM Plex Mono Light Italic'), local('IBMPlexMono-LightItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-LightItalic.woff2) format('woff2'); src: local('IBM Plex Mono Light Italic'), local('IBMPlexMono-LightItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-LightItalic.woff2) format('woff2');
} }
/* latin */ /* latin */
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: italic; font-style: italic;
font-weight: 400; font-weight: 400;
src: local('IBM Plex Mono Italic'), local('IBMPlexMono-Italic'), url(https://tilde.team/fonts/plex/IBMPlexMono-Italic.woff2) format('woff2'); src: local('IBM Plex Mono Italic'), local('IBMPlexMono-Italic'), url(https://tilde.team/fonts/plex/IBMPlexMono-Italic.woff2) format('woff2');
} }
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: italic; font-style: italic;
font-weight: 500; font-weight: 500;
src: local('IBM Plex Mono Medium Italic'), local('IBMPlexMono-MediumItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-MediumItalic.woff2) format('woff2'); src: local('IBM Plex Mono Medium Italic'), local('IBMPlexMono-MediumItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-MediumItalic.woff2) format('woff2');
} }
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: italic; font-style: italic;
font-weight: 700; font-weight: 700;
src: local('IBM Plex Mono Bold Italic'), local('IBMPlexMono-BoldItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-BoldItalic.woff2) format('woff2'); src: local('IBM Plex Mono Bold Italic'), local('IBMPlexMono-BoldItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-BoldItalic.woff2) format('woff2');
} }
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: normal; font-style: normal;
font-weight: 300; font-weight: 300;
src: local('IBM Plex Mono Light'), local('IBMPlexMono-Light'), url(https://tilde.team/fonts/plex/IBMPlexMono-Light.woff2) format('woff2'); src: local('IBM Plex Mono Light'), local('IBMPlexMono-Light'), url(https://tilde.team/fonts/plex/IBMPlexMono-Light.woff2) format('woff2');
} }
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
src: local('IBM Plex Mono'), local('IBMPlexMono'), url(https://tilde.team/fonts/plex/IBMPlexMono-Regular.woff2) format('woff2'); src: local('IBM Plex Mono'), local('IBMPlexMono'), url(https://tilde.team/fonts/plex/IBMPlexMono-Regular.woff2) format('woff2');
} }
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: normal; font-style: normal;
font-weight: 500; font-weight: 500;
src: local('IBM Plex Mono Medium'), local('IBMPlexMono-Medium'), url(https://tilde.team/fonts/plex/IBMPlexMono-Medium.woff2) format('woff2'); src: local('IBM Plex Mono Medium'), local('IBMPlexMono-Medium'), url(https://tilde.team/fonts/plex/IBMPlexMono-Medium.woff2) format('woff2');
} }
@font-face { @font-face {
font-family: 'IBM Plex Mono'; font-family: 'IBM Plex Mono';
font-style: normal; font-style: normal;
font-weight: 700; font-weight: 700;
src: local('IBM Plex Mono Bold'), local('IBMPlexMono-Bold'), url(https://tilde.team/fonts/plex/IBMPlexMono-Bold.woff2) format('woff2'); src: local('IBM Plex Mono Bold'), local('IBMPlexMono-Bold'), url(https://tilde.team/fonts/plex/IBMPlexMono-Bold.woff2) format('woff2');
} }

929
css/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge"> <meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://tilde.team/css/hacker.css"> <link rel="stylesheet" href="https://tilde.team/css/hacker.css">
<title>my page</title> <title>my page</title>
</head> </head>
<body> <body>

View File

@ -82,3 +82,13 @@ print(f"Hello {name}!")
remember, anything that can read environment variables and write to stdout can remember, anything that can read environment variables and write to stdout can
be used to make CGI, as long as the server can figure out how to execute it. be used to make CGI, as long as the server can figure out how to execute it.
##how to set a CGI script as executable
The CGI script must be marked as executable in order to actually run.
To make the script executable, run this command:
```
chmod +x SCRIPT_NAME.cgi
```