Agg. interni

This commit is contained in:
octospacc 2023-03-14 15:23:35 +01:00
parent 8944998c4f
commit 6a2167b535
13 changed files with 104 additions and 45 deletions

View File

@ -27,7 +27,6 @@ jobs:
sudo npm install -g pug-cli
sh ./Scripts/Get.staticosoDevFixed.sh
sh ./Scripts/Deploy.GitHub.sh
sh ./Scripts/Prepare.NoStyle.sh
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4

View File

@ -20,7 +20,6 @@ pages:
sh ./Scripts/Get.staticosoDevFixed.sh
sh ./Scripts/Deploy.GitLab.sh
sh ./Scripts/Deploy.Gemini.sh
sh ./Scripts/Prepare.NoStyle.sh
artifacts:
paths:
- public

View File

@ -1,3 +1,11 @@
#!/usr/bin/env node
require('../../Scripts/Lib/SelfBuild.js').importAll();
const SectLink = `.staticoso-SectionLink`;
const IfDeskMode = `#DesktopModeCheck:Checked`;
const IfDeskMode_Div =`${IfDeskMode} ~ Div`;
Fs.writeFileSync(__filename.split('.SelfBuild.js')[0], `
/*--------------------------------------------------------*
* Globale *
*--------------------------------------------------------*/
@ -42,14 +50,11 @@ Body {
Font-Variant-Ligatures: None;
}
:Where(
.staticoso-ContentHeader-CreatedOn,
.staticoso-ContentHeader-EditedOn
) > .staticoso-Value {
${Where('', '.staticoso-ContentHeader-CreatedOn, .staticoso-ContentHeader-EditedOn', '> .staticoso-Value')} {
Font-Weight: Bold;
}
.staticoso-ContentHeader-Index > .staticoso-Value:Before { Content: '('; }
.staticoso-ContentHeader-Index > .staticoso-Value:After { Content: ')'; }
${Unpack('.staticoso-ContentHeader-Index > .staticoso-Value:', ['before { content:"("; }', 'after { content:")"; }'], '')}
/*--------------------------------------------------------*/
@ -74,14 +79,14 @@ Details Div Details:Not(.NoBorderBox) {
A { Color: Var(--cPurpleLighter); }
:Where(Code, .Code) A { Color: #60D0D0; }
H1, H2, H3, H4, H5, H6 {
${Where('h', Range(1,6), '')} {
Color: #503080;
}
Ul {
Padding-Left: 16px;
Padding-Right: 4px;
}
Table :Where(Td, Th, Tr) {
${Where('table', ' td, th, tr', '')} {
Border: 2px Solid Purple;
Padding: 4px;
}
@ -160,14 +165,14 @@ Header > P > A > Img {
Left: -1.5em;
Opacity: 0.08;
}
.staticoso-SectionLink:Hover { Opacity: 0.8; }
.staticoso-SectionLink > A:Before { Content: '🔗'; }
.staticoso-SectionLink > A { Border-Radius: Var(--BorderRad0); }
.staticoso-SectionLink > A > Span { Font-Size: 0; }
${SectLink}:Hover { Opacity: 0.8; }
${SectLink} > A:Before { Content: '🔗'; }
${SectLink} > A { Border-Radius: Var(--BorderRad0); }
${SectLink} > A > Span { Font-Size: 0; }
A:Hover:Not(
.NoABigger, .NoHoverLight,
:Where(.NoABigger, .NoHoverLight) A,
.NoABigger A, .NoHoverLight A,
:Where(H3, H4, H5, H6) > A
),
.YesHoverLight:Hover, .YesHoverLight A:Hover {
@ -198,9 +203,9 @@ IFrame {
Border-Radius: Var(--BorderRad0);
}
:Where(#LeftBox, #RightBox, #BottomBox) A { Color: Var(--cBasePinky); }
:Where(#LeftBox, #RightBox) Ul Li { List-Style-Type: None; }
:Where(#LeftBox, #RightBox) Ul { Padding-Top: 0px; }
#LeftBox A, #RightBox A, #BottomBox A { Color: Var(--cBasePinky); }
#LeftBox Ul Li, #RightBox Ul Li { List-Style-Type: None; }
#LeftBox Ul, #RightBox Ul { Padding-Top: 0px; }
#TopBox {
Width: 100%;
@ -237,20 +242,20 @@ IFrame {
Padding-Bottom: Calc(Var(--ContentPadding) + 64px);
}
#MainBox :Where(Img, Video) {
#MainBox Img, #MainBox Video {
Max-Width: 90%;
Max-Height: 80vh;
}
#MainBox :Where(Img, Video):Hover {
#MainBox Img:Hover, #MainBox Video:Hover {
Max-Width: 100%;
Max-Height: 90vh;
}
.Img36 :Where(Img, Video) { Max-Height: 36vh !important; }
.Img36 :Where(Img, Video):Hover { Max-Height: 64vh !important; }
.Img36 Img, .Img36 Video { Max-Height: 36vh !important; }
.Img36 Img:Hover, .Img36 Video:Hover { Max-Height: 64vh !important; }
:Where(Img, Video).Center,
.Center :Where(Img, Video),
Img.Center, Video.Center,
.Center Img, .Center Video,
#MainBox P Img:Not(.NoImgCenter, .NoImgCenter Img),
#MainBox P Video:Not(.NoImgCenter, .NoImgCenter Video) {
Display: Block;
@ -443,18 +448,18 @@ IFrame {
}
/* Nota: Forse dovrebbe stare più in alto, a destra, a fianco del tasto Menu */
#DesktopModeCheck:Checked {
${IfDeskMode} {
Position: Fixed;
Top: 5.5em;
Left: 3.5em;
}
#DesktopModeCheck:Checked ~ #DesktopModeLabel {
${IfDeskMode} ~ #DesktopModeLabel {
Position: Fixed;
Top: 4em;
Left: 2em;
}
#DesktopModeCheck:Checked ~ Div #MainBox {
${IfDeskMode_Div} #MainBox {
Top: 0px;
Left: Unset;
Right: 2%;
@ -471,28 +476,27 @@ IFrame {
Margin: 0px;
}
*/
#DesktopModeCheck:Checked ~ Div #LeftBox { max-height: calc(100vh - 52px - 3.5em); Z-Index: 256; }
#DesktopModeCheck:Checked ~ Div #RightBox { max-height: calc(100vh - 56px - 4em); }
#DesktopModeCheck:Checked ~ Div #LeftBox,
#DesktopModeCheck:Checked ~ Div #RightBox {
${IfDeskMode_Div} #LeftBox { max-height: calc(100vh - 52px - 3.5em); Z-Index: 256; }
${IfDeskMode_Div} #RightBox { max-height: calc(100vh - 56px - 4em); }
${Where(IfDeskMode_Div+' ', '#LeftBox, #RightBox', '')} {
Position: Fixed;
Bottom: 52px;
Left: Var(--mDesktopSideLeft)/*8px*/;
Width: Calc(Var(--mDesktopSideWidth) - Var(--mDesktopSideLeft));
Overflow: Scroll;
}
#DesktopModeCheck:Checked ~ Div #LeftBoxContainer > Details > Summary,
#DesktopModeCheck:Checked ~ Div #RightBoxContainer > Details > Summary {
${IfDeskMode_Div} #LeftBoxContainer > Details > Summary,
${IfDeskMode_Div} #RightBoxContainer > Details > Summary {
position: fixed;
left: Calc(Var(--mDesktopSideWidth) - Var(--mDesktopSideLeft) - 60px);
}
#DesktopModeCheck:Checked ~ Div #LeftBoxContainer > Details > Summary { Top: 1em; }
#DesktopModeCheck:Checked ~ Div #RightBoxContainer > Details > Summary { Top: 4em; }
#DesktopModeCheck:Checked ~ Div #TopBoxLeft { Position: Fixed; }
${IfDeskMode_Div} #LeftBoxContainer > Details > Summary { Top: 1em; }
${IfDeskMode_Div} #RightBoxContainer > Details > Summary { Top: 4em; }
${IfDeskMode_Div} #TopBoxLeft { Position: Fixed; }
/* Disable this hover for now: Strange bug with summary button of right sidebar, *\
\* goes way lower than it should (?) and does glitchy movements */
#DesktopModeCheck:Checked ~ Div Details > Summary:Not(
${IfDeskMode_Div} Details > Summary:Not(
#LeftBoxContainer > Details > Summary,
#RightBoxContainer > Details > Summary
):Hover { Font-Size: 15pt; }
@ -533,3 +537,4 @@ H1, H2, H3, A, Img, Video, Summary,
}
/*--------------------------------------------------------*/
`);

View File

@ -54,7 +54,7 @@ Mi puoi trovare sul Fediverso, ai contatti da me preferiti che lascio qui sotto.
- <b style="Color:#FFA020;">Friendica</b>: [@octt@poliverso.org](https://poliverso.org/profile/octt){[:MdTgtBlank:]}
- <b style="Color:#3088D4;">Mastodon</b>: [@octo@mastodon.uno](https://mastodon.uno/@octo){[:MdTgtBlank:]}
- <b style="Color:#2D2D2D;">Matrix</b>: [@octt:matrix.org](https://matrix.to/#/@octt:matrix.org){[:MdTgtBlank:]}
- C'erano anche le mie istanza ActivityPub qui, ma poi sono successi [**gli incidenti**](./Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.html).
- C'erano anche le mie istanze ActivityPub qui, ma poi sono successi [**gli incidenti**](./Posts/2023-01-28-Problemi-Hardware-Diventano-Mentali.html).
<!--
- ~~<b style="Color:#60C000/*#7FE600*/;">Misskey</b>[:SelfhostLineBadge:]: [@octt@miss.octt.eu.org](https://miss.octt.eu.org/@octt){[:MdTgtBlank:]}~~

View File

@ -15,7 +15,7 @@ Un po' mi dispiace dirlo, ma è possibile che una parte del tempo che dedicherei
Per quanto mi piaccia tutto quello che ho costruito in questi mesi, che infatti continuerà a vivere - sia come posto in cui esprimere il mio stile di design, che come luogo in cui pubblicare contenuti elaborati e mai spezzettati - devo dire che ho trovato uno strumento che riesce ad incanalare bene alcuni miei pensieri, quelli che il sitoctt non può gestire.
Non sto ora a spiegare troppo il lato tecnico dei vantaggi o degli svantaggi di TiddlyWiki, perché parliamo di un software facile da iniziare ad usare, e assolutamente complicatissimo da padroneggiare (mi ci vorrà tempo!).
Quello che dirò è che: con il suo essere orientato alla disposizione di informazioni in piccoli elementi fondamentali (i _tiddler_), che poi possono essere collegati tra loro per costruire informazioni elaborate - sia con link, che con la trasclusione (quando il contenuto di un elemento appare completamente ricopiato in mezzo ad un altro, cosa che si fa semplicemente scrivendo `\{{Nome Elemento}}`) - si presta davvero bene all'organizzazione del pensiero a tutto tondo in generale.
Quello che dirò è che: con il suo essere orientato alla disposizione di informazioni in piccoli elementi fondamentali (i _tiddler_), che poi possono essere collegati tra loro per costruire informazioni elaborate - sia con link, che con la trasclusione (quando il contenuto di un elemento appare completamente ricopiato in mezzo ad un altro, cosa che si fa semplicemente scrivendo <span>`{`</span><span>`{`</span><span>`Nome Elemento`</span><span>`}`</span><span>`}`<span>) - si presta davvero bene all'organizzazione del pensiero a tutto tondo in generale.
Come bonus, TiddlyWiki si può usare come un generatore di siti statici più tradizionale: si possono scrivere gli elementi in tanti file, ed usare il programma CLI per compilare tutto nel file monolitico sopra descritto. Il sito ufficiale del progetto usa questa tecnica, ma per un sito personale non è necessaria e anzi, annulla il vantaggio che TiddlyWiki ha, di poter essere usato come una app di note moderna: apri, scrivi, tutto è salvato in cloud in automatico.

View File

@ -10,8 +10,13 @@ python3 ../staticoso/App/Source/Build.py \
--GemtextHeader="\
# Spacc
" #\
" \
--MastodonURL="https://botsin.space" \
--MastodonToken="$MastodonToken;Debug=True" \
--ActivityPubHoursLimit="0"
#--DiffBuild="True" \
#--GemtextOutput=True #\
#--MastodonURL="https://botsin.space" \
#--MastodonToken="$MastodonToken"
sh ./Scripts/PostBuild.Common.sh

View File

@ -1,4 +0,0 @@
#!/bin/sh
cd public
npx planktos .

View File

@ -4,3 +4,6 @@ python3.10 ./staticoso/App/Source/Build.py \
--SiteDomain="https://sitoctt.octt.eu.org" \
--FolderRoots="{'*':'https://octtspacc.gitlab.io', 'Assets':'http://http.sitoctt-assets.octt.eu.org/public'}" \
--DynamicParts="{'Head':['Twemoji.html'], 'Footer':['StatCounter.html'], 'Other':['CountWindow.html']}"
sh ./Scripts/PostBuild.Common.sh
sh ./Scripts/Prepare.NoStyle.sh

View File

@ -13,3 +13,6 @@ Alcune informazioni importanti sono disponibili su:
=> /octt/index.gmi octocapsula/index
"
sh ./Scripts/PostBuild.Common.sh
sh ./Scripts/Prepare.NoStyle.sh

View File

@ -5,4 +5,5 @@ python3 ../staticoso/Source/Build.py \
--FolderRoots="{'*':'/', 'Assets':'/sitoctt-assets'}" \
--NoScripts=True
sh ./Scripts/PostBuild.Common.sh
sh ./Scripts/Prepare.NoStyle.sh

40
Scripts/Lib/SelfBuild.js Normal file
View File

@ -0,0 +1,40 @@
const Exp = {};
Exp.Fs = require('fs');
// https://stackoverflow.com/a/69049676
Exp.importAll = function importAll(){ delete this.importAll; Object.assign(global, this); };
Exp.TryStringToList = In => {
if (typeof(In) == 'string') {
return In.split(',');
} else {
return In;
};
};
Exp.Range = (Start, Stop, Step) => {
Step = Step || 1;
return Array.from(
{ length: (Stop - Start) / Step + 1 },
(value, index) => Start + index * Step,
);
};
Exp.Unpack = (Left, Middle, Right) => {
var Str = '';
TryStringToList(Middle).forEach(function(Target) {
Str += `${Left}${Target}${Right}`;
});
return Str;
};
// Make a CSS string basically emulating the :where selector, for old browsers
Exp.Where = (Left, Middle, Right) => {
var Style = '';
TryStringToList(Middle).forEach(function(Target) {
Style += `${Left}${Target}${Right},`;
});
return Style.slice(0, -1);
};
module.exports = Exp;

View File

@ -0,0 +1,8 @@
#!/bin/sh
# Common action after the base site build succeeded
# Compile self-executable assets
#for Dir in public public.*
#do
find ./public/Assets/ -type f -name "*.*.SelfBuild.js" -exec sh -c "echo {}; node {}; rm {}" \;
#done

View File

@ -49,7 +49,7 @@
<staticoso:PageContent>
</div>
<div id="MainBoxBottom">
<staticoso:Comments>
<staticoso:Comments/>
<br>
<staticoso:DynamicPart:*/Footer>
<br>