SCP-7006
SCP-7006
Byㅤ LirynLiryn
Published on 25 Jul 2022 22:50
rating: +180+x

What this is

A bunch of miscellaneous CSS 'improvements' that I, CroquemboucheCroquembouche, use on a bunch of pages because I think it makes them easier to deal with.

The changes this component makes are bunch of really trivial modifications to ease the writing experience and to make documenting components/themes a bit easier (which I do a lot). It doesn't change anything about the page visually for the reader — the changes are for the writer.

I wouldn't expect translations of articles that use this component to also use this component, unless the translator likes it and would want to use it anyway.

This component probably won't conflict with other components or themes, and even if it does, it probably won't matter too much.

Usage

On any wiki:

[[include :scp-wiki:component:croqstyle]]

This component is designed to be used on other components. When using on another component, be sure to add this inside the component's [[iftags]] block, so that users of your component are not forced into also using Croqstyle.

Related components

Other personal styling components (which change just a couple things):

Personal styling themes (which are visual overhauls):

CSS changes

Reasonably-sized footnotes

Stops footnotes from being a million miles wide, so that you can actually read them.

.hovertip { max-width: 400px; }

Monospace edit/code

Makes the edit textbox monospace, and also changes all monospace text to Fira Code, the obviously superior monospace font.

@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap');
 
:root { --mono-font: "Fira Code", Cousine, monospace; }
#edit-page-textarea, .code pre, .code p, .code, tt, .page-source { font-family: var(--mono-font); }
.code pre * { white-space: pre; }
.code *, .pre * { font-feature-settings: unset; }

Teletype backgrounds

Adds a light grey background to <tt> elements ({{text}}), so code snippets stand out more.

tt {
  background-color: var(--swatch-something-bhl-idk-will-fix-later, #f4f4f4);
  font-size: 85%;
  padding: 0.2em 0.4em;
  margin: 0;
  border-radius: 6px;
}

No more bigfaces

Stops big pictures from appearing when you hover over someone's avatar image, because they're stupid and really annoying and you can just click on them if you want to see the big version.

.avatar-hover { display: none !important; }

Breaky breaky

Any text inside a div with class nobreak has line-wrapping happen between every letter.

.nobreak { word-break: break-all; }

Code colours

Add my terminal's code colours as variables. Maybe I'll change this to a more common terminal theme like Monokai or something at some point, but for now it's just my personal theme, which is derived from Tomorrow Night Eighties.

Also, adding the .terminal class to a fake code block as [[div class="code terminal"]] gives it a sort of pseudo-terminal look with a dark background. Doesn't work with [[code]], because Wikidot inserts a bunch of syntax highlighting that you can't change yourself without a bunch of CSS. Use it for non-[[code]] code snippets only.

Quick tool to colourise a 'standard' Wikidot component usage example with the above vars: link

:root {
  --c-bg: #393939;
  --c-syntax: #e0e0e0;
  --c-comment: #999999;
  --c-error: #f2777a;
  --c-value: #f99157;
  --c-symbol: #ffcc66;
  --c-string: #99cc99;
  --c-operator: #66cccc;
  --c-builtin: #70a7df;
  --c-keyword: #cc99cc;
}
 
.terminal, .terminal > .code {
  color: var(--c-syntax);
  background: var(--c-bg);
  border: 0.4rem solid var(--c-comment);
  border-radius: 1rem;
}

Debug mode

Draw lines around anything inside .debug-mode. The colour of the lines is red but defers to CSS variable --debug-colour.

You can also add div.debug-info.over and div.debug-info.under inside an element to annotate the debug boxes — though you'll need to make sure to leave enough vertical space that the annotation doesn't overlap the thing above or below it.

…like this!

.debug-mode, .debug-mode *, .debug-mode *::before, .debug-mode *::after {
  outline: 1px solid var(--debug-colour, red);
  position: relative;
}
.debug-info {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Fira Code', monospace;
  font-size: 1rem;
  white-space: nowrap;
}
.debug-info.over { top: -2.5rem; }
.debug-info.under { bottom: -2.5rem; }
.debug-info p { margin: 0; }
/* source: http://ah-sandbox.wikidot.com/component:collapsible-sidebar-x1 */
 
#top-bar .open-menu a {
        position: fixed;
        top: 0.5em;
        left: 0.5em;
        z-index: 5;
        font-family: 'Nanum Gothic', san-serif;
        font-size: 30px;
        font-weight: 700;
        width: 30px;
        height: 30px;
        line-height: 0.9em;
        text-align: center;
        border: 0.2em solid #888;
        background-color: #fff;
        border-radius: 3em;
        color: #888;
}
 
@media (min-width: 768px) {
 
    #top-bar .mobile-top-bar {
        display: block;
    }
 
    #top-bar .mobile-top-bar li {
        display: none;
    }
 
    #main-content {
        max-width: 708px;
        margin: 0 auto;
        padding: 0;
        transition: max-width 0.2s ease-in-out;
    }
 
    #side-bar {
        display: block;
        position: fixed;
        top: 0;
        left: -20em;
        width: 17.75em;
        height: 100%;
        margin: 0;
        overflow-y: auto;
        z-index: 10;
        padding: 1em 1em 0 1em;
        background-color: rgba(0,0,0,0.1);
        transition: left 0.4s ease-in-out;
 
        scrollbar-width: thin;
    }
 
    #side-bar:target {
        left: 0;
    }
    #side-bar:focus-within:not(:target) {
        left: 0;
    }
 
    #side-bar:target .close-menu {
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        margin-left: 19.75em;
        opacity: 0;
        z-index: -1;
        visibility: visible;
    }
    #side-bar:not(:target) .close-menu { display: none; }
 
    #top-bar .open-menu a:hover {
        text-decoration: none;
    }
 
    /* FIREFOX-SPECIFIC COMPATIBILITY METHOD */
    @supports (-moz-appearance:none) {
    #top-bar .open-menu a {
        pointer-events: none;
    }
    #side-bar:not(:target) .close-menu {
        display: block;
        pointer-events: none;
        user-select: none;
    }
 
    /* This pseudo-element is meant to overlay the regular sidebar button
    so the fixed positioning (top, left, right and/or bottom) has to match */
 
    #side-bar .close-menu::before {
        content: "";
        position: fixed;
        z-index: 5;
        display: block;
 
        top: 0.5em;
        left: 0.5em;
 
        border: 0.2em solid transparent;
        width: 30px;
        height: 30px;
        font-size: 30px;
        line-height: 0.9em;
 
        pointer-events: all;
        cursor: pointer;
    }
    #side-bar:focus-within {
        left: 0;
    }
    #side-bar:focus-within .close-menu::before {
        pointer-events: none;
    }
    }
}

teader.jpg

.

SCP-7006

rating: +180+x

NOTICE: The Ritual of Absolution is complete. Please discontinue all Ritual-specific procedures immediately.

Estimated chance of success: 87.6%

Ritual-7006-Warden
SECUREMENT Success! (99.2%)
CONTAINMENT Success! (78.41%)
PROTECTION Success! (51.8%)

* * *

I would like to tell you a story.

Every Administrator of the Foundation, since the late 1800s, has participated in 7006-Warden, as a player. I was a woman of only twenty-nine years when I first played, and my Warden was a man named Collin. I played a character of the Wonder attribute, named Jackson Rochester. At first, we thought it was grim, serious work, like all Foundation work. Then, over elderflower-flavored sparkling punch, someone made a joke about how Violence was oddly considerate, interrogating downed enemies when she should have been ripping them limb from limb. It wasn't that funny of a joke, but the Warden laughed, and the atmosphere changed.

By the second module, we stopped seeing it as a ritual, and started seeing it as a game, something to enjoy. This was the age of Gygax's dragons and Petersen's nightmares from beyond the stars. We had all had a campaign in college. And, of course, we were all told off for not taking it seriously after the Ritual was concluded.

Every year, new Avatars are prepared, but the old scores and statistics are archived. My group decided to continue the adventure we had started, and we met in the night, containing the Maze in the Cupboard, fighting against the Rebar Fiends of the Nineteenth Temple, and performing a daring heist to steal the "living gonne" (Collin had stepped down as Warden, and David, who read far too much Pratchett, had taken over). It surprised nobody when we were caught and accused of diluting the Sacred Rules of the Warden.

But we didn't dilute it at all. The longer the stories went, and the more characters went through them, the stronger it became. Our fortune grew, along with our campaigns.

The Absolutes enjoy a good story above all else, it seems. Bad rolls, failed saves, missteps in judgment… It all made for more interesting stories. When we designed the Pentad Church, it took us three years to beat it. But we didn't fail to Protect, because the Avatars had made valiant last stands, given their lives for the world, gone out as heroes instead of cowards. They protected their world, and our own Protections were bolstered.

In contrast, the Warden overseeing the 2002 Containment module ended up going "rocks fall, everyone dies", and Site-43 blew up. Because everyone dying in the hands of a petty game master isn't a good story. Them trying and failing to save Abigail would have made a far better one.

And then there's the Festering Chaos Lump. Twice in the last decade, someone has managed to bring it to their side, to calm it, convince it to eat other Cultists even as it writhes in pain. Someone once called it "seduction", but for the real Director Bailey's sake, I will ignore that.

In any case, this is an invitation: take your stories from this Ritual, and spiral them out. Keep these Avatars, or make new ones. Have new adventures. Secure wondrous treasures, hidden in secret. Contain a collection of cursed items, and study them so the hexes may one day be broken. Protect the innocent, defend your friends, and use whatever level of violence you feel is appropriate to save the world.

It's your world now. We just gave you a starting point. Go forth, players, and adventure. May the Absolutes smile on us all.

The Administrator
August 1st, 2022

SECURE - CONTAIN - PROTECT


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License