Compare commits
55 Commits
Author | SHA1 | Date | |
---|---|---|---|
2aa5d0625c | |||
a7da364018 | |||
0fd9059750 | |||
33f9644197 | |||
aef9b91972 | |||
33ef377cc3 | |||
9a9e266ae0 | |||
e0caf6a151 | |||
b9521b541c | |||
94c3dec650 | |||
874b02ef67 | |||
a5640f2a81 | |||
d7a7af38d1 | |||
d13be06e60 | |||
f88cee59c7 | |||
7003b0030e | |||
309f496642 | |||
ec257b615e | |||
0b31d48b79 | |||
d976f8b945 | |||
645346e9d3 | |||
7d20eed269 | |||
8ce8b53bad | |||
79c17a61a5 | |||
2482c1279e | |||
504d65fe7d | |||
5d2926dabf | |||
b398dea8cb | |||
6adf061e99 | |||
215249ed0f | |||
c9a289766c | |||
fa6fe56e11 | |||
85ecda9847 | |||
7cd375a84a | |||
1fc7b94c95 | |||
e0c6202859 | |||
02960bd706 | |||
954e25ad4c | |||
2a4d8189e9 | |||
f3e8786799 | |||
56db0e51b0 | |||
32a8c9b083 | |||
44f754b185 | |||
7dda7cdc1e | |||
397f9369d6 | |||
d8a0d1e3d8 | |||
ee169c5bb3 | |||
7f54ee12fd | |||
a0c16265e4 | |||
00266516fe | |||
5cbce8ed03 | |||
0e6c4241e5 | |||
c7e0129b3d | |||
b48d719d4a | |||
565ac8d612 |
@ -2,13 +2,14 @@ root=true
|
||||
[*]
|
||||
charset=utf-8
|
||||
end_of_line=lf
|
||||
indent_size=4
|
||||
trim_trailing_whitespace=true
|
||||
insert_final_newline=true
|
||||
[{Makefile,*.s[ac]ss}]
|
||||
indent_style=tab
|
||||
indent_size=1
|
||||
[{ignore.txt,*.csv,m4/*}]
|
||||
insert_final_newline=false
|
||||
[*.rb]
|
||||
indent_style=space
|
||||
indent_size=2
|
||||
indent_style=tab
|
||||
[*.sh]
|
||||
indent_style=tab
|
||||
|
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
\#*
|
||||
.\#*
|
||||
*.zip
|
||||
titlelookup
|
||||
out/
|
||||
|
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "in"]
|
||||
path = in
|
||||
url = git@github.com:Atlas48/site-neo-content.git
|
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"*.txti": "textile"
|
||||
}
|
||||
}
|
@ -4,7 +4,10 @@ and Ruby scripts, that I've taken to calling the "tape-and-string" framework for
|
||||
|
||||
# License
|
||||
All markup is licensed under the Creative Commons [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) license.
|
||||
|
||||
Any runnable computer code or Sass/CSS definitions are licensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
|
||||
All fonts belong to their respective owners.
|
||||
# Specification
|
||||
## Dependencies
|
||||
You will need the following tools to render and upload the site
|
||||
|
@ -1,4 +1,4 @@
|
||||
css/extra.scss
|
||||
css/bui.scss
|
||||
dnd/template.org
|
||||
article/perfect-markup.md
|
||||
article/perfect-markup.md
|
||||
.git
|
||||
|
@ -1,2 +1,3 @@
|
||||
/,Home
|
||||
/about.html,About
|
||||
https://atlas48.sdf.org/,Blog
|
||||
|
|
1
in
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 5e986a96496f262929d217e8bac60a51d643da83
|
@ -1,48 +0,0 @@
|
||||
# Treatise on My Perfect Lightweight Markup Language
|
||||
|
||||
## It would have...
|
||||
- org-mode style inline syntax.
|
||||
- with the ease of HTML hackery of textile.
|
||||
- with the compiled language support that Markdown offers.
|
||||
|
||||
org-mode's inline attributes map nearly 1:1 with how I personally format in plain text, you have `__underscores__` that look like *underlines*,
|
||||
`//italics//` that look like *italics*, and `**bold**` that actually looks like **bold**. I want a LML that has nearly all the same features that you'd find on
|
||||
your common or garden word-processor, and with how often I refer to D&D 5e books, I want actual, *implemented* description lists. org-mode is absolutely
|
||||
perfect for this, but it's nearly entirely confined to the single text editor it was created in. Markdown has amazing support, but as a general shorthand
|
||||
for HTML, it feels sorely lacking. Textile makes up for it's shortcomings, but it suffers from a lesser problem that also plagues org-mode's development,
|
||||
and it's syntax can feel woefully clunky at points, that being said, it has the absolute best numbered list syntax out of all of the above mentioned LMLs.
|
||||
|
||||
## Sample
|
||||
|
||||
```
|
||||
= Heading 1
|
||||
== Heading 2
|
||||
=== Heading 3
|
||||
====[id] Heading 4
|
||||
|
||||
- Here
|
||||
- is
|
||||
- an
|
||||
- unordered
|
||||
- list
|
||||
|
||||
#. Here
|
||||
#. is
|
||||
#. an
|
||||
#. ordered
|
||||
#. list
|
||||
|
||||
- Here :: is
|
||||
- a :: single
|
||||
- description :: list
|
||||
|
||||
!<an_image.png>
|
||||
|
||||
And here is **Bold**, //Italic//, __Underline__, ^^Superscript^^, & --Strikethrough-- %{color:red}We also have span support%, %(i)in diffent flavours!%
|
||||
|
||||
[Markdown's](https://en.wikipedia.org/wiki/Markdown) link format works //fine//.
|
||||
|
||||
\`\`\`c
|
||||
// So do the code blocks.
|
||||
\`\`\`
|
||||
```
|
@ -1,13 +0,0 @@
|
||||
@import "extra.scss"
|
||||
body
|
||||
@include font("sans")
|
||||
.header
|
||||
margin-left: 2em
|
||||
.content
|
||||
margin-left: 4em
|
||||
.u
|
||||
text-decoration: underline
|
||||
.i
|
||||
font-style: italic
|
||||
.b
|
||||
font-weight: bold
|
@ -1,35 +0,0 @@
|
||||
@import "extra.scss"
|
||||
@import url("all.css")
|
||||
@import url("font/ibm-plex-sans/def.css")
|
||||
$bg: #00103D
|
||||
$fg: #EAE8E3
|
||||
$link: #189E86
|
||||
$cont: #C7532B
|
||||
@font-face
|
||||
font-family: 'Science Gothic', monospace
|
||||
src: url('font/science-gothic.ttf') format('truetype')
|
||||
body
|
||||
background-color: $bg
|
||||
color: $fg
|
||||
.header
|
||||
@include font("mono")
|
||||
border: 2px solid $fg
|
||||
background-color: scale-color($bg,$lightness:-25%)
|
||||
a
|
||||
text-decoration: underline
|
||||
color: #B8B991
|
||||
.content
|
||||
font-family: 'IBM Plex Sans', sans-serif
|
||||
h1
|
||||
font-family: 'Science Gothic', monospace
|
||||
@include font-settings(345,100,116,0)
|
||||
:before
|
||||
content: '#'
|
||||
a
|
||||
color: $link
|
||||
a:visited
|
||||
color: #CDA75C
|
||||
text-decoration: none
|
||||
blockquote
|
||||
border-left: 6px solid $cont
|
||||
color: scale-color($fg,$lightness:25%)
|
@ -1,20 +0,0 @@
|
||||
//Mixin definitions and global variables.
|
||||
@mixin font($font) {
|
||||
//no support for case so gonna have to YandereDev this.
|
||||
@if($font=="sans") {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
}
|
||||
@else if($font=="serif") {
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
}
|
||||
@else if($font=="mono") {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
}
|
||||
@else {
|
||||
@warn "Unknown value passed to mixin font: #{$font}."
|
||||
}
|
||||
}
|
||||
|
||||
@mixin font-settings($weight: 0, $width: 0, $yopq: 0, $slant: 0) {
|
||||
font-variation-settings: 'wght'$weight, 'wdth'$width, 'YOPQ'$yopq, 'slnt'$slant
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'IBM Plex Sans';
|
||||
src: url('regular.woff2') format('woff2'),
|
||||
url('regular.woff') format('woff'),
|
||||
url('regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'IBM Plex Sans';
|
||||
src: url('bold.woff2') format('woff2'),
|
||||
url('bold.woff') format('woff'),
|
||||
url('bold.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'IBM Plex Sans';
|
||||
src: url('italic.woff2') format('woff2'),
|
||||
url('italic.woff') format('woff'),
|
||||
url('italic.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'IBM Plex Sans';
|
||||
src: url('bolditalic.woff2') format('woff2'),
|
||||
url('bolditalic.woff') format('woff'),
|
||||
url('bolditalic.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
.marquee {
|
||||
width: 450px;
|
||||
margin: 0 auto;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.marquee span {
|
||||
display: inline-block;
|
||||
padding-left: 100%;
|
||||
/* show the marquee just outside the paragraph */
|
||||
animation: marquee 15s linear infinite;
|
||||
}
|
||||
|
||||
|
||||
/* Make it move */
|
||||
|
||||
@keyframes marquee {
|
||||
0% {
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
100% {
|
||||
transform: translate(-100%, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.blink {
|
||||
animation: blink-animation 1s steps(5, start) infinite;
|
||||
-webkit-animation: blink-animation 1s steps(5, start) infinite;
|
||||
}
|
||||
@keyframes blink-animation {
|
||||
to {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes blink-animation {
|
||||
to {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
@import "extra.scss";
|
||||
@import url("all.css");
|
||||
|
||||
.header {
|
||||
border-bottom: 1px solid black;
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBGGOuTgBCACq1Dq9NEjX2mZfz9TFOIh33boqhtIXVvqdAgxZ900dSNCbjzFI
|
||||
vTduuycpOYyeetPqIcBqvsABR1LNoLcJfo7or26Wn45QOum9LAwVJiSCHIanla43
|
||||
PHPAOHTbFiAxqSRQMyC5/YN44j3IkA2FYuiWzoZ0IYunJEn4Vp4/V4Bq3hZtCAfb
|
||||
xucJChbWW1v9lBx015m816q6vN6MIUk20SAMogvavcen0Bt6KtIhWK+HzSQpgCik
|
||||
Md8x8BXXWIIqWDeLx20Fw60CbApZxVD1M7M/Dh9dotyYVSyjzdzZCBHYbpXYO8HA
|
||||
XNn/MRuZ2+S+vA+TrDIHbgZhX0lx5zlCZxsVABEBAAG0HEF0bGFzIENvdmUgPEF0
|
||||
bGFzNDhAZ214LmNvbT6JAU4EEwEIADgWIQQt87jdY7kWCINK5WCbHZ7uJTslJAUC
|
||||
YY65OAIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCbHZ7uJTslJNakCACQ
|
||||
2IWlaWbHZPeGMhOTrVB9WciTiPHJr0YHQ9QI2EUE9PSHFlh5CD4CRuefdDH6PjS8
|
||||
xIQcPV1lgtyqYOqN2MVggOITXrdpDmsKZuADkn3JFbWEN/XAueO/MUFygWrOuMjn
|
||||
l650nBtgG2tJI93K76Gi4mPOui8vHDmUBuaFjqMdiinV4URBz65FrOdFICXauWZc
|
||||
q4c0BJfJwIzp3fBpRxmftO8TmXw7QT8Js9ObeZEgoNQZJAKQgewnIFKDlA4OGan4
|
||||
eLyHsHvngK2vBOh7+k5942HGclWrRNU1adco5ioyG8ghFeRkaVNkxBfSfKZwajbS
|
||||
AonbkJOP8BQNt2q4LcWOuQENBGGOuTgBCACeWHAHaPVRBOrjk+FUfHLPIuADdMj4
|
||||
vLQi8fMirnM6gWViYYmPWPYIwLLc33SszJ01tFZwRpqnwwbFsb7CpUPiWFvV4k/W
|
||||
3Gjlg2ydBsdyiWHpZvBNGl7aVUXDz8EBaBdeYWsJKZEtHuTQ+VqxI80WtWIM6o1d
|
||||
4AIIH4qY45nhL5Fu8ZDynculFtfQgdF2e6oCbCNLeKD8fiKrC6uGcLYAOHnGz1Oo
|
||||
X8SQx7iGWLZvG47fwP+resqWE3IlswcQETmw/bmSDJLaTCJnXasJ++RRb1T2Cm6b
|
||||
mLXsBwBvloZeKnHJ4MzvXs5ZSRwzSe/1k7eU4D9skL9t/j4CcohifUwvABEBAAGJ
|
||||
ATYEGAEIACAWIQQt87jdY7kWCINK5WCbHZ7uJTslJAUCYY65OAIbDAAKCRCbHZ7u
|
||||
JTslJPG4CACirDfC8PueuGfh41tXrtuEzEyRJsOnLo9IIXPO8w1SqV6/vaTiEBQ9
|
||||
LSeukeMqhR/DxjttO+LcDQhJJZHJ26xCcK7ILEwwMpPbdpQine3WwBLVx1CWnClO
|
||||
F7eqzWhSeBWnUogJo4It2scqqeITtZ9IXZ6r7oVDXvNSh1yXdv1VpYeOOjvzUhJ2
|
||||
3EEaoIEhl2/LG4+LNwHr8ieX/IpV7IgQ7g5/qRR427DqeFzo24S1pcb0VpFlo+CD
|
||||
4HbwnEYIg+afIx2FsPmSe4rYsyf3t9IOpOSCmY9YzDYjZbC2+GBuBCLnQmJ0J6zZ
|
||||
7zX0dH+xloPjI1abuM9tsR5VFAa1g3YN
|
||||
=Qjxw
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -1,7 +0,0 @@
|
||||
#+TITLE: Minions
|
||||
#+OPTIONS: toc:1 num:nil
|
||||
#+STARTUP: entitiespretty
|
||||
* Clockwork Spider
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: clockwork-spider
|
||||
:END:
|
@ -1,43 +0,0 @@
|
||||
/medium humanoid,/
|
||||
- Armor Class ::
|
||||
- Hit Points :: 162 (d+)
|
||||
- Speed ::
|
||||
| STR | DEX | CON | INT | WIS | CHA |
|
||||
|-----+-----+-----+-----+-----+-----|
|
||||
| | | | | | |
|
||||
| -5 | -5 | -5 | -5 | -5 | -5 |
|
||||
#+TBLFM: @3=floor((@2-10)/2)
|
||||
- Saving Throws ::
|
||||
- Damage Resisistances ::
|
||||
- Damage Immunities ::
|
||||
- Condition Immunities ::
|
||||
- Senses ::
|
||||
- Languages ::
|
||||
** Traits
|
||||
- Legendary Resistance (3/Day). :: If Xaviard fails a saving throw, he can choose to succeed instead.
|
||||
** Actions
|
||||
** Legendary Actions
|
||||
** Lair Actions
|
||||
** Spellcasting
|
||||
is an -level spellcaster. It's spellcasting ability is (spell save DC , to hit with spell attacks).
|
||||
has the following wizard spells prepared:
|
||||
*** Cantrips
|
||||
-
|
||||
*** 1^st
|
||||
-
|
||||
*** 2^nd
|
||||
-
|
||||
*** 3^rd
|
||||
-
|
||||
*** 4^th
|
||||
-
|
||||
*** 5^th
|
||||
-
|
||||
*** 6^th
|
||||
-
|
||||
*** 7^th
|
||||
-
|
||||
*** 8^th
|
||||
-
|
||||
*** 9^th
|
||||
-
|
@ -1,5 +0,0 @@
|
||||
#+TITLE: Villan Ideas
|
||||
#+OPTIONS: num:nil toc:1
|
||||
#+STARTUP: entitiespretty
|
||||
* Xaviard
|
||||
See: [[xaviard.html]]
|
@ -1,91 +0,0 @@
|
||||
#+TITLE: Xaviard: The Mad Artificer
|
||||
#+OPTIONS: num:nil toc:1
|
||||
#+STARTUP: entitiespretty
|
||||
* Synopsis
|
||||
* Xaviard
|
||||
/medium construct/humanoid, neutral evil/
|
||||
- Armor Class :: 19
|
||||
- Hit Points :: 162 (18d8+18)
|
||||
- Speed :: 30ft., fly 30ft. (hover)
|
||||
| STR | DEX | CON | INT | WIS | CHA |
|
||||
|-----+-----+-----+-----+-----+-----|
|
||||
| 10 | 16 | 13 | 20 | 14 | 16 |
|
||||
| 0 | 3 | 1 | 5 | 2 | 3 |
|
||||
#+TBLFM: @3=floor((@2-10)/2)
|
||||
- Saving Throws :: INT+12, WIS+9
|
||||
- Damage Resisistances :: Cold, Lightning, Necrotic, Bludgeoning, Piecing, Slashing
|
||||
- Damage Immunities :: Force, Poison, Radiant, Necrotic
|
||||
- Condition Immunities :: Charmed, Frightened, Paralyzed, Poisoned
|
||||
- Senses :: Blindsight 120ft; Passive Perception 19
|
||||
- Languages :: Common, Elvish, Dwarvish, Draconic, Gnomish
|
||||
** TODO Traits
|
||||
- Legendary Resistance (3/Day). :: If Xaviard fails a saving throw, he can choose to succeed instead.
|
||||
** TODO Actions
|
||||
** TODO Legendary Actions
|
||||
** TODO Lair Actions
|
||||
** Spellcasting
|
||||
Xaviard is an 18th-level spellcaster. His spellcasting ability is Intelligence (spell save DC 20, +12 to hit with spell attacks).
|
||||
Xaviard has the following wizard spells prepared:
|
||||
*** Cantrips
|
||||
- [[http://dnd5e.wikidot.com/spell:booming-blade][Booming Blade]]
|
||||
- [[http://dnd5e.wikidot.com/spell:guidance][Guidance]]
|
||||
- [[http://dnd5e.wikidot.com/spell:lightning-lure][Lightning Lure]]
|
||||
- [[http://dnd5e.wikidot.com/spell:mending][Mending]]
|
||||
*** 1^st
|
||||
- [[http://dnd5e.wikidot.com/spell:absorb-elements][Absorb Elements]]
|
||||
- [[http://dnd5e.wikidot.com/spell:alarm][Alarm]]
|
||||
- [[http://dnd5e.wikidot.com/spell:catapult][Catapult]]
|
||||
- [[http://dnd5e.wikidot.com/spell:cure-wounds][Cure Wounds]][fn:1]
|
||||
- [[http://dnd5e.wikidot.com/spell:false-life][False Life]]
|
||||
- [[http://dnd5e.wikidot.com/spell:healing-word][Healing Word]][fn:1]
|
||||
*** 2^nd
|
||||
- [[http://dnd5e.wikidot.com/spell:guiding-bolt][Guiding Bolt]][fn:2]
|
||||
- [[http://dnd5e.wikidot.com/spell:heat-metal][Heat Metal]]
|
||||
*** 3^rd
|
||||
-
|
||||
*** 4^th
|
||||
-
|
||||
*** 5^th
|
||||
-
|
||||
*** 6^th
|
||||
-
|
||||
*** 7^th
|
||||
-
|
||||
*** 8^th
|
||||
-
|
||||
*** 9^th
|
||||
-
|
||||
** Footnotes: Xaviard
|
||||
[fn:1] (at-will, Can only effect creatures with the /construct/ tag, ignores regular spell restrictions)
|
||||
* Clockwork Spider
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: clockwork-spider
|
||||
:END:
|
||||
/Large construct, neutral evil/
|
||||
- Armor Class :: 16 (Metal plating)
|
||||
- Hit Points :: 30 (4d10+5)
|
||||
- 30ft, climb 30ft ::
|
||||
| STR | DEX | CON | INT | WIS | CHA |
|
||||
|-----+-----+-----+-----+-----+-----|
|
||||
| 15 | 15 | 17 | 1 | 12 | 4 |
|
||||
| 2 | 2 | 3 | -5 | 1 | -3 |
|
||||
#+TBLFM: @3=floor((@2-10)/2)
|
||||
- Skills :: Acrobatics +7
|
||||
- Senses :: Tremorsense 20ft., Darkvision 60ft., Passive Perception 11
|
||||
- Languages :: Can understand all languages of its creator, but cannot speak.
|
||||
- Challenge :: 1 (200XP)
|
||||
- Proficiency Bonus :: +2
|
||||
** Traits
|
||||
- Spider Climb. :: The clockwork spider can climb difficult surfaces, including upside down on ceilings,
|
||||
without needing to make an ability check.
|
||||
- Web Walker. :: The clockwork spider ignores movement restrictions caused by webbing.
|
||||
** Actions
|
||||
- Bite :: /Melee Weapon Attack:/ +5 to hit, reach 5ft., one creature. /Hit:/ 6 (2d4+2) piercing damage,
|
||||
and the target must make a DC 12 Constitution saving throw, taking 8 (4d4) damage force damage on a
|
||||
failed save, and half as much on a successful one.
|
||||
- Paralyzing Bolt /(Recharge 5-6)/ :: /Ranged Weapon Attack:/ +5 to hit, range 30/60ft, one creature.
|
||||
/Hit:/ The target is paralyzed. As an action, the paralyzed target can make a DC 12 wisdom check, freeing
|
||||
themselves from the effects of the spell.
|
||||
* Clockwork Reanimation
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
h1. Files
|
||||
|
||||
h2. Main
|
||||
|
||||
- "Introduction":intro.html := A rough introduction to the setting.
|
||||
- Homebrew Races !/img/ucbug.gif! := Various different races used in Elysium's Edge.
|
||||
- "Infopages":inf := Wiki-style info pages about different topics within the setting.
|
||||
|
||||
h2. Campaign
|
||||
|
||||
!/img/ee/mgh_banner.png!
|
||||
|
||||
I'm running a game with this setting, if I've linked you to here, here's where you come to find out more about the game.
|
||||
|
||||
!/img/ucbug.gif! _Just going to need to set the site up a bit more, first._
|
||||
|
Before Width: | Height: | Size: 44 KiB |
@ -1,6 +0,0 @@
|
||||
<svg width="1200" height="800" viewBox="0 0 317.5 211.6" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#1a1a1a;fill-opacity:1" d="M0 0h317.5v211.667H0z"/>
|
||||
<path style="fill:#f32323;fill-opacity:1" d="M171.265 14.817a53.565 53.565 0 0 1 28.535 8.277 46.267 46.267 0 0 0-9.343-.98 46.267 46.267 0 0 0-46.267 46.267 46.267 46.267 0 0 0 46.267 46.267 46.267 46.267 0 0 0 9.343-.98 53.565 53.565 0 0 1-28.535 8.278A53.565 53.565 0 0 1 117.7 68.381a53.565 53.565 0 0 1 53.565-53.564z"/>
|
||||
<path style="fill:#f32323;fill-opacity:1;fill-rule:evenodd;" d="M159.236 121.796c-4.9 8.337-15.518 37.738-1.087 38.095 15.884.223 5.418-29.76 1.087-38.095z"/>
|
||||
<path d="m32.79 188.9-5.92-10.5q.17 1.5.17 2.5v8h-2.53v-13.6h3.25l6.01 10.6q-.17-1.5-.17-2.7v-7.9h2.53v13.6zM52 182q0 2.2-.84 3.8-.84 1.6-2.41 2.4-1.56.9-3.64.9-3.2 0-5.03-1.9-1.81-1.9-1.81-5.2 0-3.2 1.81-5.1 1.82-1.8 5.05-1.8 3.23 0 5.04 1.8Q52 178.8 52 182zm-2.91 0q0-2.2-1.04-3.4-1.04-1.3-2.92-1.3-1.91 0-2.95 1.3-1.05 1.2-1.05 3.4 0 2.3 1.06 3.6 1.08 1.2 2.92 1.2 1.91 0 2.94-1.2 1.04-1.3 1.04-3.6zM62.42 188.9l-5.92-10.5q.17 1.5.17 2.5v8h-2.52v-13.6h3.25l6.01 10.6q-.18-1.5-.18-2.7v-7.9h2.53v13.6zM68.41 188.9v-13.6H79.1v2.2h-7.84v3.4h7.25v2.2h-7.25v3.6h8.24v2.2zM92.73 189.1q-2.81 0-4.3-1.4-1.49-1.4-1.49-3.9v-8.5h2.85v8.3q0 1.6.76 2.4.77.9 2.26.9 1.52 0 2.34-.9.82-.9.82-2.5v-8.2h2.85v8.4q0 2.5-1.6 4-1.59 1.4-4.49 1.4zM109.6 188.9l-5.9-10.5q.2 1.5.2 2.5v8h-2.6v-13.6h3.3l6 10.6q-.2-1.5-.2-2.7v-7.9h2.6v13.6zM127.7 182q0 2.1-.8 3.7-.8 1.5-2.3 2.4-1.5.8-3.5.8h-5.5v-13.6h4.9q3.5 0 5.3 1.7 1.9 1.8 1.9 5zm-2.8 0q0-2.2-1.2-3.3-1.1-1.2-3.2-1.2h-2v9.2h2.4q1.8 0 2.9-1.3 1.1-1.2 1.1-3.4zM129.9 188.9v-13.6h10.7v2.2h-7.9v3.4h7.3v2.2h-7.3v3.6h8.3v2.2zM152.4 188.9l-3.2-5.2h-3.3v5.2h-2.8v-13.6h6.7q2.5 0 3.8 1 1.3 1.1 1.3 3 0 1.5-.8 2.5-.8 1.1-2.2 1.4l3.7 5.7zm-.3-9.4q0-2-2.6-2h-3.6v4h3.7q1.2 0 1.8-.5.7-.6.7-1.5zM171.1 188.9l-5.9-10.5q.1 1.5.1 2.5v8h-2.5v-13.6h3.3l6 10.6q-.2-1.5-.2-2.7v-7.9h2.5v13.6zM190.3 182q0 2.2-.8 3.8-.9 1.6-2.4 2.4-1.6.9-3.7.9-3.2 0-5-1.9-1.8-1.9-1.8-5.2 0-3.2 1.8-5.1 1.8-1.8 5-1.8 3.3 0 5.1 1.8 1.8 1.9 1.8 5.1zm-2.9 0q0-2.2-1.1-3.4-1-1.3-2.9-1.3t-2.9 1.3q-1.1 1.2-1.1 3.4 0 2.3 1.1 3.6 1.1 1.2 2.9 1.2 1.9 0 2.9-1.2 1.1-1.3 1.1-3.6zM200.7 188.9l-5.9-10.5q.2 1.5.2 2.5v8h-2.6v-13.6h3.3l6 10.6q-.2-1.5-.2-2.7v-7.9h2.6v13.6zM206.7 188.9v-13.6h10.7v2.2h-7.8v3.4h7.2v2.2h-7.2v3.6h8.2v2.2zM234.3 188.9l-1.3-3.5h-5.1l-1.2 3.5h-2.9l5-13.6h3.3l5 13.6zm-3.8-11.5-.1.2-.2.8q-.2.4-1.7 4.9h3.9l-1.3-3.9-.4-1.3zM251 185q0 1.9-1.4 2.9t-3.9 1h-6.8v-13.6h6.2q2.5 0 3.8.9 1.3.8 1.3 2.5 0 1.2-.7 2-.6.8-1.9 1 1.6.2 2.5 1.1.9.8.9 2.2zm-3.7-5.9q0-.9-.6-1.3t-1.7-.4h-3.2v3.4h3.2q1.2 0 1.8-.4.5-.5.5-1.3zm.8 5.7q0-1.9-2.7-1.9h-3.6v3.9h3.7q1.3 0 2-.5.6-.5.6-1.5zM266.4 182q0 2.2-.8 3.8-.9 1.6-2.4 2.4-1.6.9-3.7.9-3.2 0-5-1.9-1.8-1.9-1.8-5.2 0-3.2 1.8-5.1 1.8-1.8 5-1.8 3.3 0 5.1 1.8 1.8 1.9 1.8 5.1zm-2.9 0q0-2.2-1.1-3.4-1-1.3-2.9-1.3t-2.9 1.3q-1.1 1.2-1.1 3.4 0 2.3 1.1 3.6 1.1 1.2 2.9 1.2 1.9 0 2.9-1.2 1.1-1.3 1.1-3.6zM275.3 188.9h-2.9l-5-13.6h2.9l2.8 8.7q.3.9.7 2.6l.2-.8.5-1.8 2.8-8.7h3zM281.7 188.9v-13.6h10.7v2.2h-7.8v3.4h7.2v2.2h-7.2v3.6h8.2v2.2z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 13 KiB |
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="1200" height="660" version="1.1" id="svg72" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs id="defs76" />
|
||||
<path d="M 0,437.8 H 1200 V 660 H 0 Z" fill="#ffd800" />
|
||||
<path d="M 0,219.9 H 1200 V 440 H 0 Z" fill="#fff" />
|
||||
<path d="M0 0h1200v220H0z" fill="#00247d" />
|
||||
<path d="m 772.4,330 c 0,95.3 -77.1,172.3 -172.3,172.3 -95.2,0 -172.3,-77 -172.3,-172.3 0,-95.2 77.1,-172.2 172.3,-172.2 95.2,0 172.3,77 172.3,172.2 z" fill="#d7000c" />
|
||||
</svg>
|
Before Width: | Height: | Size: 542 B |
Before Width: | Height: | Size: 20 KiB |
@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="800" viewBox="0 0 317.5 211.667">
|
||||
<path fill="#1a1a1a" d="M0 0h317.5v211.667H0z"/>
|
||||
<path fill="#f3c423" d="M140.205 26.458A79.375 79.375 0 0 0 97.92 38.725a68.56 68.56 0 0 1 13.844-1.452 68.56 68.56 0 0 1 68.561 68.56 68.56 68.56 0 0 1-68.56 68.56 68.56 68.56 0 0 1-13.845-1.451 79.375 79.375 0 0 0 42.285 12.266 79.375 79.375 0 0 0 79.375-79.375 79.375 79.375 0 0 0-79.375-79.375z"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 457 B |
@ -1,17 +0,0 @@
|
||||
# Infopages of the Elysium's Edge Setting
|
||||
Welcome to the knowledgebase of the *Elysium's Edge* setting.
|
||||
|
||||
# Index
|
||||
## Planets
|
||||
- Earth !/img/ucbug.gif!
|
||||
- Moon !/img/ucbug.gif!
|
||||
- Mars
|
||||
## Megacorperations
|
||||
### Big 3
|
||||
- Beyond
|
||||
- Stellar
|
||||
- Rahat
|
||||
### Lesser
|
||||
- Keunsan
|
||||
- Ginsei
|
||||
- Hidalgo
|
@ -1 +0,0 @@
|
||||
# Mars
|
@ -1,9 +0,0 @@
|
||||
h1. The Solar System
|
||||
|
||||
h2. Earth
|
||||
|
||||
h2. Moon
|
||||
|
||||
h2. Mars
|
||||
|
||||
h2. Saturn
|
@ -1,21 +0,0 @@
|
||||
<span class="b u">見ぬが花:人類がファンタジーに陥りかけている宇宙</span>
|
||||
|
||||
# Intro
|
||||
> The year is 2721, Mankind has established colonies on the Moon and Mars, and plan to expand to other planets, as well. Hyperspace
|
||||
technology has been developed with the use of a newly discovered force called "Thauma", which allows seemingly magical effects that
|
||||
defy the laws of physics with minimal effort. Biological engineering and nanotechnology have evolved to the point where people can
|
||||
rewrite their DNA and appearances on the fly, and humans have evolved and genewarped into separate species over the last few centuries.
|
||||
Megacorperations and nations jostle for control of a new force and planetary territory, while something ancient since awakened stirs
|
||||
from an ancient sleep in a realm beyond the stars.
|
||||
|
||||
As this setting was initially kludged around the mechanics and setting of Dungeons and Dragons 5^th edition, a lot of concepts and
|
||||
races are heavily inspired, or are directly taken from settings typical of that system, as a result, only 4 of the 7 core races are
|
||||
actually playable, with nearly all of the legacy core races being playable. This setting also adds or reskins certain races.
|
||||
# Playable Races
|
||||
**See:** [races.html](races.html)
|
||||
# Initial Plot
|
||||
> You will be starting on Moonbase 1, dubbed *Crisey* by the locals. Due to reasons outside of your control, you have somehow found
|
||||
yourself stranded on the moon, and wish to get off of it. The moon is a dangerous place, full of sin, debauchery and crime, ruled
|
||||
over by a belligerent, constantly-bickering & loosely-connected oligarchy that has a habit of vying for eachother's territory, who
|
||||
are known to them as the "Barons". True to the old tradition, you've all found eachother sitting at the same table
|
||||
in a local pub, and are starting to talk about how you've all fallen on hard times.
|
BIN
in/img/av.png
Before Width: | Height: | Size: 214 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 5.5 KiB |
BIN
in/img/ucbug.gif
Before Width: | Height: | Size: 1.1 KiB |
@ -1,22 +0,0 @@
|
||||
_Welcome to the Atlas48 Archives!_
|
||||
|
||||
!img/ucbanner.gif(Construction is coming along smoothly.)!
|
||||
|
||||
Everything's slowly being set up, I'm working on the layout as I go along, hopefully you'll be able to find your way.
|
||||
|
||||
h1. Links.
|
||||
|
||||
- "My PGP Key":dl/atlas48.asc
|
||||
|
||||
h2. D&D
|
||||
|
||||
- "Antagonist Ideas":dnd/villains.html !img/ucbug.gif! := Different Antagonist ideas to use in your games.
|
||||
|
||||
h2. Starfinder
|
||||
|
||||
- "Elysium's Edge":ee := Homebrew Starfinder setting.
|
||||
|
||||
---
|
||||
|
||||
"!neocities.png(Love this place.)!":https://neocities.org./
|
||||
|
BIN
in/neocities.png
Before Width: | Height: | Size: 13 KiB |
@ -1,3 +0,0 @@
|
||||
<h1>404</h1>
|
||||
<p><strong>Page not found.</strong></p>
|
||||
<p>The requested page could not be found.</p>
|
@ -1,18 +0,0 @@
|
||||
# Postext
|
||||
## Requirement Levels
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119](https://www.rfc-editor.org/rfc/rfc2119).
|
||||
## Pronounciation
|
||||
"Postext" is a combination of the words "post" and "text", so it's pronounced "pohs-text".
|
||||
## Definitions
|
||||
- `EOL` is defined as either **CR** (`0x0D`) or **CRLF** (`0x0D 0x0A`). It is RECCOMENDED you keep to either one of the two forms throughout the written document.
|
||||
## Design Rules
|
||||
1. Whatever works best for the other LMLs, we adopt.
|
||||
2. Unix philosophy is king, postext's one thing well is HTML rendering.
|
||||
3. We need enough syntax to be hackable without changing the internals.
|
||||
4. Inline style elements must always be two identical characters together; it's the only way to be sure.
|
||||
## Features
|
||||
### Inline
|
||||
- **Bold**: two (2) `*` (`0x2A`) enclosing text. Converts to `<strong>[...]</strong>`
|
||||
- **Italic**: two (2) `/` (`0x2F`) enclosing text. Converts to `<em>[...]</em>`
|
||||
- **Underline**: two (2) `_` enclosing text. Converts to `<span style="text-decoration:underline">[...]</span>`
|
||||
- **Superscript**: two (2) `^` () enclosing text. Converts to `<sup>[...]</sup>`.
|
@ -1,5 +0,0 @@
|
||||
Sitemap: https://atlas48.neocities.org/sitemap.xml
|
||||
|
||||
User-Agent: *
|
||||
Allow: /
|
||||
Crawl-delay: 1
|
@ -1,6 +1,5 @@
|
||||
divert(-1)
|
||||
# extra macros for site structure
|
||||
define(`_ytv',`<iframe width="ifdef(`$3',$1,560)" height="ifdef(`$3',$3,315)" src="$1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>')
|
||||
define(`_wrap',<$1>$2</$1>)
|
||||
define(`_empty',`')
|
||||
divert`'dnl
|
||||
|
81
pfiles.rb
@ -1,56 +1,55 @@
|
||||
#!/usr/bin/ruby
|
||||
# pfiles.rb
|
||||
# v1.0-p3
|
||||
# v1.1-p1
|
||||
abort "\x1B[1;31mERR\x1B[0m: No arguments supplied" if ARGV.length == 0
|
||||
require 'find'
|
||||
ignore=!File.file?('dat/ignore.txt') ? [] : File.readlines('dat/ignore.txt')
|
||||
if ignore != []
|
||||
ignore.map! do |i|
|
||||
"in/#{i}"
|
||||
end
|
||||
ignore.map! { |i| "in/#{i}" }
|
||||
end
|
||||
class Enumerator
|
||||
def collect
|
||||
out=Array.new
|
||||
for i in self
|
||||
out.push(i)
|
||||
end
|
||||
return out
|
||||
end
|
||||
def collect
|
||||
out=Array.new
|
||||
for i in self
|
||||
out.push(i)
|
||||
end
|
||||
return out
|
||||
end
|
||||
end
|
||||
list=Find.find('in')
|
||||
l=list.collect
|
||||
l=Find.find('in').collect
|
||||
case ARGV.first
|
||||
when "doc"
|
||||
for i in l do
|
||||
next if ignore.include?(i) or /\.v.html/.match?(i)
|
||||
if /\.(txti|org|md|html)$/.match?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
for i in l do
|
||||
next if ignore.include?(i) or /(?<!\.e)\.html$/.match?(i)
|
||||
if /\.(txti|org|md|e.html)$/.match?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
when "sass"
|
||||
for i in l do
|
||||
next if ignore.include?(i)
|
||||
if /\.s[ac]ss$/.match?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
for i in l do
|
||||
next if ignore.include?(i)
|
||||
if /\.s[ac]ss$/.match?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
when "dir"
|
||||
for i in l do
|
||||
next if ignore.include?(i)
|
||||
if File.directory?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
for i in l do
|
||||
next if ignore.include?(i) or i == ".git"
|
||||
if File.directory?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
when "rest"
|
||||
for i in l do
|
||||
next if ignore.include?(i)
|
||||
unless /\.(s[ac]ss|txti|org|md)$/.match?(i) or File.directory(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
for i in l do
|
||||
next if ignore.include?(i)
|
||||
unless /\.(s[ac]ss|txti|org|md|html)$/.match?(i) or File.directory?(i)
|
||||
print i
|
||||
print ' ' unless i==l.last
|
||||
end
|
||||
end
|
||||
else
|
||||
abort "\x1B[1;31mERR\x1B[0m: Unknown option: #{ARGV.first}"
|
||||
end
|
||||
|
54
render.sh
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# render.sh: part of the tape-and-string framework.
|
||||
# v3.4-p6
|
||||
#V:3.6-p1
|
||||
#B: Load
|
||||
enable -f /usr/lib/bash/csv csv
|
||||
declare -A title
|
||||
@ -34,7 +34,7 @@ function docs {
|
||||
inf "Rendering document files..."
|
||||
for i in ${doc[@]}; do
|
||||
o="${i/in/out}"
|
||||
o="${o%.*}.html"
|
||||
o="${o%%.*}.html"
|
||||
echo "'$i' -> '$o'"
|
||||
if test -z "${title[$i]}"; then
|
||||
m4 -D_INFILE="$i" -DCSSI=$(awk -f awk/getsd.awk <<< "$i") m4/main.html.m4 > $o
|
||||
@ -43,42 +43,30 @@ function docs {
|
||||
fi
|
||||
done
|
||||
}
|
||||
function sass {
|
||||
function sassfn {
|
||||
if ! test -d out; then
|
||||
err "Cannot render, directory 'out' does not exist, run ./render.sh dir"
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
local i o sass
|
||||
sass=(`./pfiles.rb sass`)
|
||||
inf "Rendering sass files..."
|
||||
if [ ${#sass[@]} -eq 0 ]; then
|
||||
inf "No .sass files detected, skipping"
|
||||
return 0
|
||||
else
|
||||
for i in ${sass[@]}; do
|
||||
o="${i/in/out}"
|
||||
o="${o/.s[ac]/.c}"
|
||||
echo "'$i' -> '$o'"
|
||||
sassc -t expanded -a $i | sed '/^$/d' > $o
|
||||
done
|
||||
fi
|
||||
sass --no-source-map in/css:out/css
|
||||
}
|
||||
function other {
|
||||
if ! test -d out; then
|
||||
err "Cannot render, directory 'out' does not exist, run ./render.sh dir"
|
||||
return 1
|
||||
fi
|
||||
inf "Copying other files..."
|
||||
cp -rv 'in'/* out/
|
||||
}
|
||||
function sitemap {
|
||||
./gensimap.sh
|
||||
local o other=`./pfiles.rb rest`
|
||||
for i in $other; do
|
||||
o=${i/in/out}
|
||||
if test -f $o; then
|
||||
inf "Skipping $i, file/hardlink exists..."
|
||||
continue
|
||||
fi
|
||||
ln -v $i $o
|
||||
done
|
||||
}
|
||||
function all {
|
||||
load_title
|
||||
dirs
|
||||
docs
|
||||
sass
|
||||
sassfn
|
||||
other
|
||||
}
|
||||
function info {
|
||||
@ -120,17 +108,21 @@ if test -z "$*"; then
|
||||
exit $?
|
||||
fi
|
||||
case $1 in
|
||||
clean) rm -rf out;;
|
||||
dir) dirs;;
|
||||
doc) docs;;
|
||||
docs) docs;;
|
||||
s[ac]ss) sass;;
|
||||
other) other;;
|
||||
s[ac]ss) sassfn;;
|
||||
other) dirs; other;;
|
||||
rest) other;;
|
||||
info) info;;
|
||||
sitemap) sitemap;;
|
||||
sitemap) ./sitemap.sh;;
|
||||
vall) info; all;;
|
||||
all) all;;
|
||||
*) all;;
|
||||
*)
|
||||
err "Invalid option, $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
#E: Logic
|
||||
exit $?
|
||||
|