|
@@ -1,361 +0,0 @@
|
|
|
-<html>
|
|
|
-<head>
|
|
|
-<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/purecss@2.1.0/build/pure-min.css" integrity="sha384-yHIFVG6ClnONEA5yB5DJXfW2/KC173DIQrYoZMEtBvGzmf0PKiGyNEqe9N6BNDBH" crossorigin="anonymous">
|
|
|
-<link rel="stylesheet" href="css/grids-responsive-min.css"/>
|
|
|
-<link rel="stylesheet" href="css/responsive-visibility.css"/>
|
|
|
-<link rel="alternate" title="News RSS Feed" href="https://shandan.one/feed/news/rss.xml" type="application/rss+xml"/>
|
|
|
-<link rel="alternate" title="Discovery RSS Feed" href="https://shandan.one/feed/discovery/rss.xml" type="application/rss+xml"/>
|
|
|
-<link rel="alternate" title="Humour RSS Feed" href="https://shandan.one/feed/humour/rss.xml" type="application/rss+xml" >
|
|
|
-</head>
|
|
|
-<body style="background-color: darkgrey; position: absolute; max-width: 68em; min-width: min(100%, 68em); left: 50%; transform: translate(max(-50%, -34em),0)">
|
|
|
-<title>Portal - Access, manage and share</title>
|
|
|
-<meta name="title" content="Portal - Access, manage and share">
|
|
|
-<meta name="description" content="Self-hosted services for remote access, management and syndication.">
|
|
|
-<style>
|
|
|
-.card {
|
|
|
- display: inline-block;
|
|
|
- box-shadow: 0 0.1em 0.2em 0 rgba(0,0,0,.15);
|
|
|
- margin-bottom: 0.2em;
|
|
|
- position: relative;
|
|
|
- transition: all .2s ease-in-out;
|
|
|
- min-width: 100%;
|
|
|
-}
|
|
|
-
|
|
|
-.card:hover {
|
|
|
- box-shadow: 0 0.2em 0.4em rgba(0,0,0,0.20), 0 0.1em 0.2em rgba(0,0,0,0.30);
|
|
|
- margin-bottom: 0.2em;
|
|
|
-}
|
|
|
-
|
|
|
-.image {
|
|
|
- opacity: .7;
|
|
|
- overflow: hidden;
|
|
|
- transition: all .2s ease-in-out;
|
|
|
- line-height: 1;
|
|
|
-}
|
|
|
-
|
|
|
-.image:hover,
|
|
|
-.card:hover .image {
|
|
|
- opacity: 1;
|
|
|
-}
|
|
|
-
|
|
|
-.text {
|
|
|
- color: black;
|
|
|
- text-align: left;
|
|
|
- background: transparent;
|
|
|
- padding: 0.2em 0.4em;
|
|
|
- margin: 0.2em;
|
|
|
- top: 64px;
|
|
|
- position: absolute;
|
|
|
- overflow: hidden;
|
|
|
- line-height: 1;
|
|
|
-}
|
|
|
-
|
|
|
-.text p {
|
|
|
- margin-bottom: 0.2em;
|
|
|
-}
|
|
|
-
|
|
|
-.pure-g > div {
|
|
|
- box-sizing: border-box;
|
|
|
-
|
|
|
-}
|
|
|
-.card > button {
|
|
|
- background: transparent;
|
|
|
- min-height: 100%;
|
|
|
- min-width: 100%;
|
|
|
- padding: 0.2em 0.4em 50%;
|
|
|
-}
|
|
|
-.l-box {
|
|
|
- padding: 0.5em;
|
|
|
-}
|
|
|
-</style>
|
|
|
-<div class="pure-g">
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/feed/news/rss.html"
|
|
|
- id="news" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="news" style="color: gold; border-color: gold">
|
|
|
- <div class="image">
|
|
|
- <table style="display: inline-block"><tr style="vertical-align: baseline"><td><img src="//upload.wikimedia.org/wikipedia/en/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png" width="32" alt="RSS"></td><td><h2>News</h2></td></tr></table>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>News Feed</h3>
|
|
|
- <p>Notable events but not weather or sports</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/feed/discovery/rss.html"
|
|
|
- id="discovery" rel="external" method="get" formtarget="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="discovery" style="color: gold; border-color: gold">
|
|
|
- <div class="image">
|
|
|
- <table style="display: inline-block"><tr style="vertical-align: baseline"><td><img src="//upload.wikimedia.org/wikipedia/en/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png" width="32" alt="RSS"></td><td><h2>Discover</h2></td></tr></table>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Discovery Feed</h3>
|
|
|
- <p>Cool and inspirational articles</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/feed/humour/rss.html"
|
|
|
- id="humour" rel="external" method="get" formtarget="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="humour" style="color: gold; border-color: gold">
|
|
|
- <div class="image">
|
|
|
- <table style="display: inline-block"><tr style="vertical-align: baseline"><td><img src="//upload.wikimedia.org/wikipedia/en/thumb/4/43/Feed-icon.svg/128px-Feed-icon.svg.png" width="32" alt="RSS"></td><td><h2>Humour</h2></td></tr></table>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Humour Feed</h3>
|
|
|
- <p>Humourous articles, memes or anything funny</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
-</div>
|
|
|
-<hr/>
|
|
|
-<div class="pure-g">
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="/clip" id="clip" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="clip" style="color: darkgreen; border-color: darkgreen">
|
|
|
- <div class="image">
|
|
|
- <a title="Seth Taylor, CC0, via Wikimedia Commons" href="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Clipboard_%281714%29_-_The_Noun_Project.svg/256px-Clipboard_%281714%29_-_The_Noun_Project.svg.png"><img height="64" alt="Clipboard (1714) - The Noun Project" src="/static/clip/clip-favicon_square.svg"></a>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Clipboard</h3>
|
|
|
- <p>Paste snippets to share via tiny URL</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="/goto" id="goto" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="goto" style="color: darkred; border-color: darkred">
|
|
|
- <div class="image">
|
|
|
- <a title="Daniel Sheffield, Public Domain" href="/static/goto/chain-link2fr-3-2.svg"><img height="64" alt="Chain Links - Three to Two" src="/static/goto/chain-link2fr-3-2.svg"></a>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Short URL</h3>
|
|
|
- <p>Make long URLs shorter and easy to type and pronounce</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="/upload" id="upload" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="upload" style="color: olive; border-color: olive">
|
|
|
- <div class="image">
|
|
|
- <a title="Dave Gandy, Galaksidekiotostopcu, CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File:Upload_icon_-_Font_Awesome_-_Red.svg"><img width="64" alt="Upload icon - Font Awesome - Red" src="/static/upload/upload-favicon_square.svg"></a>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Share a file</h3>
|
|
|
- <p>Upload a file and generate a short URL to share easily</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
-</div>
|
|
|
-<hr/>
|
|
|
-<div class="pure-g">
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://wol.shandan.one"
|
|
|
- id="wol-combo" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="wol-combo" style="color: firebrick; border-color: firebrick">
|
|
|
- <div class="image">
|
|
|
- <h2>Wol</h2>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Wake a device</h3>
|
|
|
- <p>Wake a device from</p>
|
|
|
- <p>
|
|
|
-<input type="radio" name="location" value="home"></label> <label>home
|
|
|
-<input type="radio" name="location" value="outside"></label> <label>outside
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="/grocery/internal/apply.sql"
|
|
|
- id="grocery-trend" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="grocery-trend" style="color: tomato; border-color: tomato">
|
|
|
- <input type="text" name="groups[]" value="Fish, Meat, Eggs" hidden="true"/>
|
|
|
- <input type="text" name="apply" value="Apply" hidden="true"/>
|
|
|
- <input type="text" name="title" value="Trend" hidden="true"/>
|
|
|
- <div class="image">
|
|
|
- <a href="https://en.wikipedia.org/wiki/File:Shopping_cart_with_food_clip_art_2.svg"><img width="64" alt="Shopping Cart with food clip art. CDC" src="/grocery/favicon_square.svg"></a>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Trending Prices</h3>
|
|
|
- <p>Plot charts showing historic price data</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/pgadmin4"
|
|
|
- id="pgadmin" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="pgadmin" style="color: steelblue; border-color: steelblue">
|
|
|
- <div class="image">
|
|
|
- <img src="https://raw.githubusercontent.com/postgres/pgadmin4/c1ba645dceed5c9551a5f408e37a14d1041ee598/web/pgadmin/static/favicon.ico" width="64" alt="pgAdmin">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>pgAdmin</h3>
|
|
|
- <p>Manage and access postgresql databases</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/guacamole"
|
|
|
- id="guacamole" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="guacamole" style="color: darkolivegreen; border-color: darkolivegreen">
|
|
|
- <div class="image">
|
|
|
- <img src="https://raw.githubusercontent.com/apache/guacamole-website/main/images/logos/guac-classic-logo.svg" width="64" alt="Guacamole">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Guacamole</h3>
|
|
|
- <p>Remote desktop</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://gogs.shandan.one"
|
|
|
- id="vcs" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="vcs" style="color: yellow; border-color: yellow">
|
|
|
- <div class="image">
|
|
|
- <img src="https://gogs.shandan.one/img/favicon.png" width="64" alt="Gogs">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Gogs</h3>
|
|
|
- <p>Manage and access git repositories</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://syncthing.shandan.one"
|
|
|
- id="syncthing" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="syncthing" style="color: royalblue; border-color: royalblue">
|
|
|
- <div class="image">
|
|
|
- <img src="https://syncthing.net/img/logo-horizontal.svg" width="128" alt="Syncthing">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3>Syncthing</h3>
|
|
|
- <p>Monitor and configure file shares</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/wekan"
|
|
|
- id="wekan" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="wekan" style="color: teal; border-color: teal">
|
|
|
- <div class="image">
|
|
|
- <img src="https://raw.githubusercontent.com/wekan/wekan/master/public/logo-header.png" width="128" alt="WeKan">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3 class="opt-md opt-lg opt-xl opt-xxl">WeKan</h3>
|
|
|
- <p class="opt-lg opt-xl opt-xxl">Kanban board</p>
|
|
|
- <p>Manage projects and tasks</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://mouse.shandan.one/#remote-mouse"
|
|
|
- id="mouse" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="mouse" style="color: teal; border-color: teal">
|
|
|
- <div class="image">
|
|
|
- <img src="https://raw.githubusercontent.com/Unrud/remote-touchpad/master/webdata/icon.png" width="64" alt="Mouse">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3 class="opt-md opt-lg opt-xl opt-xxl">Remote Touchpad</h3>
|
|
|
- <p class="opt-lg opt-xl opt-xxl">Use device as touchpad</p>
|
|
|
- <p>Turn your device's touchscreen into a remote touchpad</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://gateway.shandan.one"
|
|
|
- id="gateway" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="gateway" style="color: lightblue; border-color: lightblue">
|
|
|
- <div class="image">
|
|
|
- <img src="https://gateway.shandan.one/favicon.ico?t=6dcc8b66" width="64" alt="Gateway">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3 class="opt-sm opt-md opt-lg opt-xl opt-xxl">Gateway</h3>
|
|
|
- <p class="opt-lg opt-xl opt-xxl">Access the gateway</p>
|
|
|
- <p>Manage local LAN and internet connection settings</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://listgarden.shandan.one"
|
|
|
- id="listgarden" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="listgarden" style="color: olivedrab; border-color: olivedrab">
|
|
|
- <div class="image">
|
|
|
- <img src="https://www.wikicalc.org/images/listgardenlogo48.gif" width="64" alt="ListGarden">
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <h3 class="opt-sm opt-md opt-lg opt-xl opt-xxl">ListGarden</h3>
|
|
|
- <p class="opt-lg opt-xl opt-xxl">Manage RSS Feeds</p>
|
|
|
- <p>Publish new items and create new feeds</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
- <div class="pure-u-1-2 pure-u-sm-1-2 pure-u-md-1-3 pure-u-lg-1-4 l-box">
|
|
|
- <form action="https://shandan.one/pyapi/random"
|
|
|
- id="prayer-generator" rel="external" method="get" target="_self">
|
|
|
- <div class="card">
|
|
|
- <button form="prayer-generator" style="color: orange; border-color: orange">
|
|
|
- <div class="image">
|
|
|
- <h2>Prayer Generator</h2>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <p>Generate a template prayer following the form of the model prayer outlined in Matthew 6:9‑13 and Luke 11:2‑4</p>
|
|
|
- </div>
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
-</form>
|
|
|
-</div>
|
|
|
-</body>
|
|
|
-</html>
|