initial commit

This commit is contained in:
Jose Falanga 2025-09-08 17:38:31 -03:00
commit 9df80bf3d3
62 changed files with 3401 additions and 0 deletions

BIN
arise-source/arise-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,15 @@
#!/bin/bash
##############################################################
# ARISE SITE CONFIG - Edit these variables to fit your website
##############################################################
# Set your base website URL here.
export base_url='https://log.thergic.ar'
# Set the path to your favicon. This should be an absolute path with reference to your siteroot.
# This variable is only used for your RSS feed, hence why it only allows up to a singular image to be set. Your primary site favicons should be configured by editing the /config/header.html file.
export favicon="/config/favicon/favicon.ico"
# Set the global human-readable site name for your website. This string is usable in your site header as {{global_name}}. This is also used as the title for your RSS feed.
export global_name="Thergic Log"

View file

@ -0,0 +1 @@
<p class="date">// {{published_date}} // <i>by {{author}}</i></p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/config/favicon/mstile-150x150.png"/>
<TileColor>#00aba9</TileColor>
</tile>
</msapplication>
</browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -0,0 +1,30 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="300.000000pt" height="300.000000pt" viewBox="0 0 300.000000 300.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,300.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M610 2985 c-304 -65 -532 -294 -594 -597 -24 -116 -24 -1660 0 -1776
62 -305 291 -534 596 -596 116 -24 1660 -24 1776 0 305 62 534 291 596 596 24
116 24 1660 0 1776 -62 305 -291 534 -596 596 -67 14 -186 16 -895 15 -657 0
-831 -3 -883 -14z m340 -645 l0 -120 180 0 c99 0 180 -1 180 -2 0 -2 -18 -50
-39 -108 l-39 -105 -141 -3 -141 -3 0 -183 0 -183 63 -6 c131 -11 237 -77 285
-179 45 -98 47 -331 2 -450 -44 -118 -141 -187 -276 -196 l-74 -5 0 -128 0
-129 -105 0 -105 0 0 130 0 130 -185 0 c-135 0 -185 3 -185 12 0 6 16 56 36
109 l36 98 147 3 146 3 3 191 2 191 -73 5 c-138 9 -256 87 -298 198 -16 39
-23 86 -27 163 -13 286 87 431 308 446 l85 6 3 118 3 117 104 0 105 0 0 -120z
m1649 -127 c0 -5 -21 -55 -47 -113 l-48 -105 -427 -3 -427 -2 0 115 0 115 475
0 c261 0 475 -3 474 -7z m-111 -690 l3 -113 -421 0 -420 0 0 115 0 115 418 -2
417 -3 3 -112z m82 -608 l0 -115 -460 0 -460 0 0 115 0 115 460 0 460 0 0
-115z"/>
<path d="M610 1962 c-44 -44 -64 -104 -58 -172 10 -96 58 -150 146 -165 l42
-7 0 191 0 191 -46 0 c-40 0 -51 -5 -84 -38z"/>
<path d="M950 1217 l0 -205 38 10 c89 25 131 88 132 199 0 108 -46 171 -142
194 l-28 7 0 -205z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,19 @@
{
"name": "",
"short_name": "",
"icons": [
{
"src": "/config/favicon/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/config/favicon/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone"
}

View file

@ -0,0 +1,10 @@
<!-- Page Footer -->
<div class="footer">
<p>Copyleft &copy 2023 <a href="https://spectrasecu.re">Spectra Secure</a> • All wrongs reserved</p>
<p>Built with 💚 using <a href="https://github.com/spectrasecure/arise">Arise</a>, a cloud-native static site generator written in Bash.</p>
</div>
<!-- End Page Footer -->
</body>
</html>

View file

@ -0,0 +1,65 @@
<!doctype html>
<html lang="{{language}}">
<head>
<!-- Basic Metadata -->
<meta charset="utf-8" />
<meta name="HandheldFriendly" content="True" />
<meta name="generator" content="Arise" />
<title>{{title}} · {{global_name}}</title>
<meta name="description" content="{{description}}">
<meta name="author" content="{{author}}">
<!-- End Basic Metadata -->
<!-- OpenGraph Metadata -->
<meta property="og:site_name" content="{{global_name}}" />
<meta property="og:type" content="article" />
<meta property="og:title" content="{{title}} · {{global_name}}" />
<meta property="og:description" content="{{description}}" />
<meta property="og:url" content="{{canonical_url}}" />
<meta property="og:image" content="{{canonical_url}}{{thumbnail}}" />
<meta property="article:published_time" content="{{published_date}}" />
<meta property="article:modified_time" content="{{modified_date}}" />
<!-- End OpenGraph Metadata -->
<!-- Twitter Metadata -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{{title}} · {{global_name}}" />
<meta name="twitter:description" content="{{description}}" />
<meta name="twitter:url" content="{{canonical_url}}" />
<meta name="twitter:image" content="{{canonical_url}}{{thumbnail}}" />
<!-- End Twitter Metadata -->
<!-- Favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="/config/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/config/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/config/favicon/favicon-16x16.png">
<link rel="manifest" href="/config/favicon/site.webmanifest">
<link rel="mask-icon" href="/config/favicon/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/config/favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#00aba9">
<meta name="msapplication-config" content="/config/favicon/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<!-- End Favicon -->
<!-- Styesheet+Logo -->
<style>
html * {font-family:monospace,sans-serif;}
body {background-color:#121619;margin:40px auto;max-width:650px;padding:0 10px;color:#65f85a;}
a {color:#b8f1b4;}
hr {color:#65f85a;}
.topbar a {color:#65f85a;}
</style>
<link rel="stylesheet" href="/config/main.css">
<div class="logo"><a href="/"><img src="/config/logo.png" /></a></div>
<!-- End Styles+Logo -->
<!-- Navigation -->
<nav class="topbar">
<a href="/">Home</a><a href="/posts">Posts</a><a href="https://github.com/spectrasecure/arise">GitHub</a>
</nav>
<!-- End Navigation -->
</head>
<body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,166 @@
/*** Core page styles to set the primary colours and styles to be inherited by everything else ***/
/* Core Styling */
html * {
font-family:sans-serif;
}
body{
margin:40px auto;
max-width:650px;
line-height:1.6;
font-size:18px;
color:#65f85a;
background-color:#121619;
padding:0 10px;
}
/********************************/
/********************************/
/*** Post styling. This section is for defining markup classes to make it easier to write prettier posts. ***/
img {
max-width: 100%;
max-height: 100%;
margin-top:20px;
margin-bottom:20px;
border-radius:16px;
margin-left: auto;
margin-right: auto;
display: block;
}
code {
background-color:#293137;
border-radius:16px;
padding-left:30px;
padding-right:30px;
line-height:2em;
padding-top:1px;
padding-bottom:1px;
color:#65f85a;
font-family:monospace;
}
pre {
overflow-x: auto;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
blockquote {
border-left:1px solid #65f85a;
display:block;
margin-top: 1em;
margin-bottom: 1em;
margin-left: 30px;
padding-left: 10px;
margin-right: 40px;
font-style: italic;
color:#46ab3e;
}
hr {
color:#65f85a;
margin-left: auto;
margin-right: auto;
max-width: 300px;
}
#endline { /* Special kind of <hr> for spacing out footnotes from the rest of a post */
color:#65f85a;
margin-left: auto;
margin-right: auto;
max-width: 300px;
margin-top: 80px;
}
a {
color:#b8f1b4
}
h1{
line-height:1.2
}
h2,h3{
padding-top:24px;
line-height:1.2
}
/* Style for inline dates. These are configured via a separate include file in /config/content_header.html. See notes on Arise page creation for more details. */
.date {
padding-bottom:0;
margin-bottom:0;
font-size:14px;
}
@media screen and (max-width: 900px) {
.date {
text-align:right;
}
}
@media screen and (min-width: 901px) {
.date {
float:right;
margin-left:30px;
}
}
/********************************/
/********************************/
/*** Modular component styles. Includes styling for the headers, navigation controls, and footer. ***/
/* Site logo. Styled to responsively move to either left or be centred, depending if the page is being viewed on desktop or mobile respectively. */
.logo {
margin-bottom:20px;
text-align:center;
}
/* Navbar styling. */
.topbar {
padding-right:10px;
border-top:1px solid #65f85a;
border-bottom:1px solid #65f85a;
margin-bottom:20px;
text-align:center;
}
.topbar a {
color:#65f85a;
text-decoration:none;
}
/* Site footer styling */
.footer {
border-top:2px solid #65f85a;
font-size:12px;
margin-top:120px;
text-align:center;
}
/********************************/
/********************************/
/*** Other misc garbage ***/
/* Arise Index Style */
.arise-toc-td {
border-width: 1px;
border-color: #65f85a;
border-top-style: solid;
text-align: center;
padding-right: 10px;
padding-bottom: 5px
}
.arise-toc-th {
padding-bottom: 20px;
border-bottom: 1px;
border-bottom-style: solid;
}

49
arise-source/index.md Normal file
View file

@ -0,0 +1,49 @@
<!-- BEGIN ARISE ------------------------------
Title:: "Bash Static Site Generator"
Author:: "Spectra Secure"
Description:: "Arise is the most polished cloud-native static site generator written in Bash."
Language:: "en"
Thumbnail:: "arise-icon.png"
Published Date:: "2022-09-17"
Modified Date:: "2022-09-17"
content_header:: "false"
rss_hide:: "true"
---- END ARISE \\ DO NOT MODIFY THIS LINE ---->
# Retro doesn't have to be regressive
Arise is a static site generator written in Bash, designed to be a fusion of ultra-stable 90s technology and modern DevOps paradigms. Arise is designed around use cases like individual blogs and personal websites.
Let me tell you why Arise exists. You ever seen one of those nineties zombie websites that hasn't been updated in like thirty years but is still somehow running today? [Stuff like this](http://home.mcom.com/home/welcome.html). Can you imagine a modern website lasting that long without becoming a completely broken mess?
We live in a world where the mindset of "move fast, break things" has trained web developers to keep stacking more and more overdesigned trash onto their websites, one node framework or polyfill at a time. Over time, we've collectively lost the plot and forgotten that websites are ultimately a tool to share information with other people.
Arise was built to show that you can take simple technology like Bash that is so set in stone as to be basically indestructible and use it to create modern web tools.
## Simplify deployment
90s websites may have been robust in their simplicity, but no one likes setting up a janky webserver on a computer in their closet. Arise is a modern cloud-native application that supports easy deployment to your cloud static site host of choice.
Simply fork [Arise on Github](https://github.com/spectrasecure/arise), edit your site, and point your cloud vendor to your repository. The included CI workflow does all the hard work of building and deploying your site straight from the cloud.
## Timeless tech built for the modern web
Arise websites may be spartan on the surface, but they are designed to take advantage of modern web conventions for rich content presence and SEO.
- Rich metadata for cross-site embeds with support for [OpenGraph](https://ogp.me/) and [TwitterCard](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards)
- Dynamic sitemap generation for SEO
- Dynamic RSS feed generation
## Practical pages for real-world use
Most projects like this are one-off tech demos. While many of them "work", they often lack critical CMS-style features that are important for actually organising stuff on your website. Real websites don't have just one page, but rather are built on top of hierarchies of linked pages.
Arise solves this problem by building websites that are designed to be modular, hierarchical, and traversable. Arise supports the creation of dynamic index pages based on individual page metadata— just tell Arise where you need an index, and it will build it for you all on its own.
For an example of what index pages created by Arise look like, check out the [Sample Posts](posts) on this website.
## Get started with Arise
Arise is free open-source software, available on [GitHub](https://github.com/spectrasecure/arise) under the [GNU AGPL License](https://www.gnu.org/licenses/agpl-3.0.en.html).

View file

@ -0,0 +1,23 @@
<!-- BEGIN ARISE ------------------------------
Title:: "Abolish Arasaka"
Author:: "Johnny Silverhand"
Description:: "I saw Saburo Arasaka at a grocery store in Night City yesterday."
Language:: "en"
Thumbnail:: ""
Published Date:: "2077-05-12"
Modified Date:: "2077-05-12"
---- END ARISE \\ DO NOT MODIFY THIS LINE ---->
# Abolish Arasaka
I saw Saburo Arasaka at a grocery store in Night City yesterday. I told him how cool it was to meet him in person, but I didnt want to be a douche and bother him and ask him for photos or anything.
He said, “Oh, like youre doing now?”
I was taken aback, and all I could say was “Huh?” but he kept cutting me off and going “huh? huh? huh?” and closing his hand shut in front of my face. I walked away and continued with my shopping, and I heard him chuckle as I walked off. When I came to pay for my stuff up front I saw him trying to walk out the doors with like fifteen Yikes! Tofu bars in his hands without paying.
The girl at the counter was very nice about it and professional, and was like “Sir, you need to pay for those first.” At first he kept pretending to be tired and not hear her, but eventually turned back around and brought them to the counter.
When she took one of the bars and started scanning it multiple times, he stopped her and told her to scan them each individually “to prevent any electrical infetterence,” and then turned around and winked at me. I dont even think thats a word. After she scanned each bar and put them in a bag and started to say the price, he kept interrupting her by yawning really loudly.

View file

@ -0,0 +1,17 @@
<!-- BEGIN ARISE ------------------------------
Title:: "CI Test Suite - XML Reserved Characters & < > ' ""
Author:: "Spectra Secure & < > ' ""
Description:: "This post tests if we are properly filtering XML reserved characters in page metadata & < > ' ""
Language:: "en"
Thumbnail:: "kanagawa.jpg"
Published Date:: "2023-11-08"
Modified Date:: "2023011-08"
---- END ARISE \\ DO NOT MODIFY THIS LINE ---->
# CI Test Suite - XML Reserved Characters
This page is part of a test suite to ensure that when a user tries to stick XML reserved characters into page metadata, such characters are properly converted to escape characters. This way we ensure that such characters don't break the monolithic sitemap or RSS feed.
The way we do this is by having a test page in our template site which contains a post whose title, author, and destripction all contain the XML reserved characters (&<>'"). This test suite verifies that this output page has all of the reserved characters properly sanitised to the escape code versions, so that they're safe to handle within the site's XML sitemap and RSS feed.

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 KiB

View file

@ -0,0 +1,13 @@
<!-- BEGIN ARISE ------------------------------
Title:: "Index: Posts"
Author:: ""
Description:: "A collection of sample posts build with Arise"
Language:: "en"
Thumbnail:: ""
Published Date:: ""
Modified Date:: ""
toc:: "true"
content_header:: "false"
---- END ARISE \\ DO NOT MODIFY THIS LINE ---->

View file

@ -0,0 +1,19 @@
<!-- BEGIN ARISE ------------------------------
Title:: "My Cool Post"
Author:: "Spectra Secure"
Description:: "This cool post is an example of a post published in Arise"
Language:: "en"
Thumbnail:: "kanagawa.jpg"
Published Date:: "2022-09-17"
Modified Date:: "2022-09-17"
---- END ARISE \\ DO NOT MODIFY THIS LINE ---->
# Look, a cool post
You can make cool posts on your Arise website!
You can even use images, look:
![The Great Wave off Kanagawa](kanagawa.jpg)

Binary file not shown.

After

Width:  |  Height:  |  Size: 590 KiB

4
arise-source/robots.txt Normal file
View file

@ -0,0 +1,4 @@
User-agent: *
Disallow: https://ari.se.net/config/*
Sitemap: https://ari.se.net/sitemap.xml