mirror of https://gitlab.com/octtspacc/sitoctt
Agg. interni
This commit is contained in:
parent
8944998c4f
commit
6a2167b535
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
|||
}
|
||||
|
||||
/*--------------------------------------------------------*/
|
||||
`);
|
|
@ -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:]}~~
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd public
|
||||
npx planktos .
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
|
@ -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
|
|
@ -49,7 +49,7 @@
|
|||
<staticoso:PageContent>
|
||||
</div>
|
||||
<div id="MainBoxBottom">
|
||||
<staticoso:Comments>
|
||||
<staticoso:Comments/>
|
||||
<br>
|
||||
<staticoso:DynamicPart:*/Footer>
|
||||
<br>
|
||||
|
|
Loading…
Reference in New Issue