Câu Chuyện Về Vanessa, Phù Thủy Nghĩa Trang
Câu Chuyện Về Vanessa, Phù Thủy Nghĩa Trang
Byㅤ Suzu-HitsujiSuzu-Hitsuji
Published on 17 Sep 2022 15:26
đánh giá: +3+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;
    }
    }
}

đánh giá: +3+x

Câu Chuyện Về Vanessa, Phù Thủy Nghĩa Trang

Lữ Khách tiến gần nơi cánh cửa đã rỉ sét của nghĩa trang. Những chiếc đèn lồng trước cổng dường như đã vỡ tan toàn bộ, thứ duy nhất soi sáng nơi đây là ánh trăng đỏ máu ấy.

Tại sao mình ở đây? Lữ Khách tự hỏi. Tại sao lại phải phiêu bạt ở cái thế giới đang lụi tàn này? Liệu vị ấy đang tìm kiếm điều gì? Những câu hỏi đó sẽ vĩnh viễn không có hồi đáp. Nhưng người Lữ Khách ấy vẫn đi tiếp, vì cảm giác được. Một thứ gì đó đang kêu gọi vị… hoặc một ai đó. Như thể có một ai đó ở một nơi cao hơn đang dẫn đường chỉ lối cho vị ấy vậy.

Dọc bước theo con đường, Lữ Khách di chuyển qua nghĩa địa. Từng bia đá được cây leo bám đầy, nở rộ đầy những bông hoa phát sáng trong đêm. Dù nơi đây chỉ là nơi người chết và những kí ức của họ trú ngụ, vị Lữ Khách ấy vẫn nghe được một tiếng thoang thoảng phát ra phía trước.

Lại gần nơi phát ra âm thanh, vị Lữ Khách đã tìm ra nơi phát ra âm thanh đầy du dương ấy. Một người phụ nữ đội mũ trùm đầu đang quỳ trước một tấm bia mộ, đang thản nhiên ngâm nga một mình. Ẩn mình dưới lớp khăn trải giường màu trắng đầy tinh xảo với khuôn mặt đã bị hoen ố bởi mảnh vải đẫm máu, cô giơ bàn tay xương xẩu, nhợt nhạt ra khẽ chạm vào ngôi mộ.

Những cành dây leo nhanh chóng chui lên từ mặt đất và quấn lấy tấm bia, những bông hoa trắng rực rỡ bắt đầu nở rộ từ cành dây leo đó. Cô cúi đầu, ngồi im lặng một lúc rồi lại di chuyển tới ngôi mộ tiếp theo.

Rồi tiếng ngâm nga lại tiếp tục vang lên.

Vị Lữ Khách đến gần cô. Vị đó chắc rằng cô đã để ý tới vị rồi, có vẻ cô cũng không có ý đồ gì xấu cả. Thay vào đó, cô chỉ chào vị Lữ Khách kia với ánh nhìn như thấu cả tâm can, trước khi quay về làm tiếp việc của mình.

“Xin thứ lỗi ạ.” Lữ Khách cất tiếng nói.

Tĩnh lặng. Rồi sao đó, một giọng nói nhỏ nhẹ, yếu ớt vang lên.

“Một lãng khách? Ở nơi này ư?” Cô hỏi, có vẻ như đang để ý tới Lữ Khách.

Vị đặt vũ khí xuống rồi ngồi xuống bên cạnh cô. "Mấy nơi như này thường nguy hiểm lắm. Đám xác sống cứ bò lổm ngổm xung quanh thôi." Vị đó nói.

“…Và đó là cả một vấn đề đấy." Khi cô đặt tay lên tấm bia mộ, nó càng mọc thêm nhiều cây leo và hoa, dường như nó đang mọc ra từ tay cô. Những bông hoa mỏng manh mềm mại — Mỏng manh tới nỗi một cơn gió nhẹ có thể thổi bay nó đi. Còn chưa kể, những bông hoa đó nở rộ trên những cành dây leo đầy gai. Khi người phụ nữ ấy cúi đầu, cô khẽ nói. "Nếu họ không muốn phải tản bộ thêm lần nào nữa.”

Cô quay về phía Lữ Khách, và nở một nụ cười gượng ép.

“Ngươi là ai vậy?”

"Vô danh".” Lữ Khách trả lời. “Cô thì sao?”

“Vanessa. Đến từ trung tâm Xerophylla.”

Lữ Khách dừng lại. Nơi này cách khá xa trung tâm thành phố. Vị ấy quay về phía cô.

“Vậy tại sao cô lại ở đây?” Vị Lữ Khách hỏi.

“Thì đang bày tỏ sự tôn trọng thôi.” Vanessa khẽ nói, giọng cô phảng phất nỗi u sầu.

Cô đứng lên, phủi bụi dính trên quần áo rồi chỉ tay về phía bia mộ dưới chân, trên đó khắc một dòng chữ "JACOB LEONHARDT".

"Đây là Ngài Leonhardt, đến từ Ilcana, cách đây khoảng vài quãng đường bộ ở phía bắc. Đã qua đời từ vài thập kỉ trước… cùng với cả nhà ông, bao gồm vợ và hai đứa con gái." Cô ngừng lại một chút rồi nghiêng đầu suy nghĩ. "Những người như Ngài Leonhardt lẫn gia đình ông đều không có ai thèm nhớ đến, từ trước cuộc chiến."

Vanessa hướng mặt về phía Lữ Khách. "Lãng Khách, ngươi đã ở đâu trong Cuộc Chiến Arcane lần thứ nhất?”

“Không biết.” Vị Lữ Khách trả lời.

“Tầm vài thập kỉ trước. Xerophylla đã gây chiến với người phương bắc của Ilcana. Hình như khi đó có ý tưởng… quản thúc Phù Thủy. Nhằm sử dụng tri thức và kĩ năng của họ nhằm đánh thắng phương bắc. Các phù thủy trẻ ép buộc phải rời xa gia đình và được huấn luyện trong đội quân của Xerophylla. Và được đặt chân lên tiền tuyến cùng với những người lính khác.”

Lại thêm một khoảng lặng. Vanessa hít một hơi thật sâu rồi nói tiếp.

“Ta đã… là một trong số họ. Đứa con đầu tiên của Phủ Thủy Nữ Vương kiêm người mạnh nhất của Xerophylla."

Vanessa tiến về phía ngôi mộ gần đó, nhẹ nhàng đặt tay lên bia đá.

"Đó là cuộc chiến ngắn nhất trong lịch sử, chỉ kéo dài ba đêm. Người từ phía bắc đông hơn nhưng đã bị áp đảo. Xerophylla tiến về phía thủ đô của Ilcana, chỉ để lại sau lưng một bãi hoang tàn tràn ngập chết chóc."

Cô quay mặt về phía Lữ Khách. "Vụ… thảm sát này… không ai có thể quên đi được. Cả Phù Thủy lẫn binh lính. Nhưng chúng tôi vẫn đi tiếp, tiến về phía thủ đô."

“Trong khi đang bao vây nơi thủ đô đó, tôi đã học được một điều. Tôi đã thấy hình ảnh một đứa nhóc, đang ôm lấy thứ đã từng là mẹ mình, với đôi mắt giàn giụa nước mắt. Tôi đã thấy hình ảnh một người mẹ cố gắng bảo vệ con mình trong tuyệt vọng. Và thấy được hình ảnh vài gia đình ôm chặt lấy nhau vào thời khắc lâm chung, chấp nhận số phận.”

Vanessa lướt tay qua đỉnh mộ, khuôn mặt hiện rõ vẻ uy nghiêm.

“Người phương bắc không hề ác độc. Không phải là những con quái thú vô tâm như lời thủ lĩnh kể.”

Dây leo từ dưới đất mọc vụt lên, hoa trắng bao phủ cả ngôi mộ.

“Họ vẫn có gia đình, vẫn có bạn bè, vẫn biết vui biết buồn, biết cách cảm thông. Và là con người" Cô nói, giọng như vỡ ra. "Thủ lĩnh đã nói rằng chúng tôi là ánh sáng chống lại màn đêm. Là những kẻ đã bảo vệ những con người yếu đuối không biết chiến đấu. Tất cả. Đều chỉ là một lời nói dối."

"Tôi đã giết hàng nghìn mạng người, chỉ vì lời nói dối đó."

Vanessa chỉ tay về phía bông hoa trắng trên ngôi mộ.

“Đây là nơi chôn cất họ. Tất cả những mảnh đời vô tội đã bị tôi kết liễu. Những bông hoa tôi trồng này sẽ khiến linh hồn họ được thanh thản, kể cả khi mặt trời vĩnh viễn không xuất hiện lần nào nữa.”

Vanessa đi tới ngôi mộ tiếp theo, nhưng cô đột nhiên bị vấp, loạng choạng xong ngã xuống đất.

“Cô ổn chứ?” Lữ khách vừa hỏi vừa chạy vội tới để giúp cô.

Áo choàng của Vanessa lộ ra cơ thể của cô. Cô trông gầy gò, y như đã nhịn đói vài ngày rồi vậy.

“Tôi vẫn ổn mà, lãng khách, tôi-”

Cô ho sặc sụa, máu xanh trào ra thẫm thấm đầy bộ đồ màu trắng.

“Để tôi giúp cô cho, tôi có quen một người chữa được cho cô đấy. Nếu cần đồ ăn thì-”

Cô ngắt lời, “Không cần đâu, Lãng Khách. Đây là hình phạt của tôi.”

Vanessa giơ tay về phía Lữ Khách, một bông hoa trắng nở rộ trên tay cô.

“Hình như tôi cũng sắp đi rồi. Xin ngươi, hãy đặt bông hoa này trên ngôi mộ đó. Hãy để họ được thanh thản.”

Vị Lữ Khách nhận lấy bông hoa, đặt nó trên ngôi mộ. Vị ấy nhìn lại xung quanh nghĩa trang, từng ngôi mộ một đều rộ lên một ánh sáng trắng.

Bông hoa mà vị Lữ Khách vừa đặt xuống cũng tỏa sáng y hệt như vậy.

“Lãng Khách.” Vanessa khẽ nói. Và nhìn lên bầu trời.

“Giờ tôi chỉ cần được ngắm nhìn các vì sao… nốt lần cuối.”

Cô đã quá yếu để di chuyển rồi, Lữ Khách nhấc tấm vải nhuộm máu xanh khỏi mặt cô lên, mắt cô phát ra một ánh sáng màu xanh lam. Cô ngắm nhìn hàng triệu ngôi sao trên trời cao, một cảnh tưởng cô đã không thấy được nhiều năm trời.

Vanessa mỉm cười, mắt cô dần khép lại.

Nếu không có ngoại lệ được nêu, nội dung của trang này được xuất bản dưới giấy phép Creative Commons Attribution-ShareAlike 3.0 License