Compare commits
8 Commits
11549b1be8
...
f8809fc020
Author | SHA1 | Date |
---|---|---|
urosm | f8809fc020 | |
urosm | a920266b3a | |
urosm | 577b5327f1 | |
urosm | 35d85a4980 | |
urosm | 818ebeb6d0 | |
urosm | ab46e4a1f2 | |
urosm | 5a2bac89dd | |
urosm | 15f0be9db6 |
|
@ -0,0 +1,60 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
package IkiWiki::Plugin::frontlinkpages;
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
use IkiWiki 3.00;
|
||||||
|
|
||||||
|
sub import {
|
||||||
|
hook(type => "pagetemplate", id => "frontlinkpages", call => \&pagetemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub pagetemplate (@) {
|
||||||
|
my %params=@_;
|
||||||
|
|
||||||
|
my $template=$params{template};
|
||||||
|
|
||||||
|
if (! $template->query(name => "frontlinkpages")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $quick=exists $params{quick} ? IkiWiki::yesno($params{quick}) : 0;
|
||||||
|
|
||||||
|
my $num=0;
|
||||||
|
if ($params{limit}) {
|
||||||
|
$num=$params{limit};
|
||||||
|
}
|
||||||
|
if ($params{feedlimit} && $num < $params{feedlimit} && $num > 0) {
|
||||||
|
$num=$params{feedlimit};
|
||||||
|
}
|
||||||
|
if ($params{skip} && $num) {
|
||||||
|
$num+=$params{skip};
|
||||||
|
}
|
||||||
|
|
||||||
|
my @pages = pagespec_match_list($params{page}, "link($params{page})",
|
||||||
|
deptype => deptype($quick ? "presence" : "content"),
|
||||||
|
filter => sub { $_[0] eq $params{page} },
|
||||||
|
# sort => exists $params{sort} ? $params{sort} : "age title",
|
||||||
|
reverse => IkiWiki::yesno($params{reverse}),
|
||||||
|
($num ? (num => $num) : ()),
|
||||||
|
);
|
||||||
|
|
||||||
|
my $destpage=$params{destpage};
|
||||||
|
my @contents;
|
||||||
|
for (@pages) {
|
||||||
|
if ($pagesources{$_}) {
|
||||||
|
my $title = $pagestate{$_}{meta}{title};
|
||||||
|
push @contents, {
|
||||||
|
content => IkiWiki::get_inline_content($_, $destpage),
|
||||||
|
pageurl => urlto($_, $destpage),
|
||||||
|
title => $title ? $title : pagetitle(IkiWiki::basename($_)),
|
||||||
|
ctime => displaytime($IkiWiki::pagectime{$_}, $params{timeformat}, 1),
|
||||||
|
mtime => displaytime($IkiWiki::pagemtime{$_}, $params{timeformat})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$template->param(frontlinkpages => \@contents);
|
||||||
|
}
|
||||||
|
|
||||||
|
1
|
240
css/style.css
240
css/style.css
|
@ -1,89 +1,231 @@
|
||||||
|
/* variables */
|
||||||
:root {
|
:root {
|
||||||
--font-size: 12pt;
|
--font-size: 12pt;
|
||||||
--line-height: 1.625;
|
--line-height: 1.625;
|
||||||
--height-unit: calc(var(--font-size) * var(--line-height));
|
--font-family: monospace;
|
||||||
--width-unit: 1ch;
|
|
||||||
--padding-left: calc(1 * var(--width-unit));
|
/* font-derived vertical and horizontal units */
|
||||||
--padding-right: calc(1 * var(--width-unit));
|
--v-un: calc(var(--font-size) * var(--line-height));
|
||||||
--padding-top: calc(1 * var(--height-unit));
|
--h-un: 1ch;
|
||||||
--padding-bottom: calc(1 * var(--height-unit));
|
|
||||||
--gap-vertical: calc(1 * var(--height-unit));
|
/* gaps and paddings */
|
||||||
--gap-horizontal: calc(2 * var(--width-unit));
|
--body-padding-h: var(--h-un);
|
||||||
--column-width: clamp(32ch, 72ch, calc(100vw - var(--gap-horizontal) - var(--padding-left) - var(--padding-right) - var(--width-unit)));
|
--body-padding-v: var(--v-un);
|
||||||
font: var(--font-size)/var(--line-height) monospace;
|
--main-gap-h: calc(2 * var(--h-un));
|
||||||
color-scheme: light dark;
|
--main-gap-v: 0;
|
||||||
|
|
||||||
|
/* font-derived column width */
|
||||||
|
--max-col-w: calc(100vw - (2 * var(--body-padding-h)) - var(--main-gap-h) - 1ch);
|
||||||
|
--col-w: clamp(32ch, 72ch, var(--max-col-w));
|
||||||
|
|
||||||
|
/* colors */
|
||||||
|
--fg-c: #000000;
|
||||||
|
--bg-c: #ffffff;
|
||||||
|
--link-c: hsl(240 100% 50%);
|
||||||
|
--visited-c: hsl(270 100% 50%);
|
||||||
|
--active-c: hsl(0 100% 50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--fg-c: #ffffff;
|
||||||
|
--bg-c: #000000;
|
||||||
|
--link-c: hsl(240 100% 75%);
|
||||||
|
--visited-c: hsl(270 100% 75%);
|
||||||
|
--active-c: hsl(0 100% 75%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* reset */
|
/* reset */
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
margin: unset;
|
||||||
|
hyphens: auto;
|
||||||
}
|
}
|
||||||
body {
|
|
||||||
color: light-dark(#000000, #ffffff);
|
/* root */
|
||||||
background-color: light-dark(#ffffff, #000000);
|
:root {
|
||||||
margin: 0;
|
color: var(--fg-c);
|
||||||
|
background-color: var(--bg-c);
|
||||||
|
font: var(--font-size)/var(--line-height) var(--font-family);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* content sectioning */
|
||||||
|
address {
|
||||||
|
font-style: unset;
|
||||||
|
}
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6 {
|
h1, h2, h3, h4, h5, h6 {
|
||||||
font: inherit;
|
font-size: unset;
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
h1 {
|
|
||||||
font-weight: bold;
|
article {
|
||||||
margin: var(--height-unit) var(--height-unit) 0 0;
|
counter-reset: heading;
|
||||||
}
|
}
|
||||||
h2, h3, h4, h5, h6 {
|
|
||||||
font-style: italic;
|
article h1:before {
|
||||||
margin: var(--height-unit) var(--height-unit) 0 0;
|
content:
|
||||||
|
counter(heading)". ";
|
||||||
|
counter-increment: heading;
|
||||||
}
|
}
|
||||||
p {
|
|
||||||
margin: var(--height-unit) 0 0 0;
|
article h1 {
|
||||||
hyphens: auto;
|
counter-reset: subheading;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
article h2:before {
|
||||||
|
content:
|
||||||
|
counter(heading)"."
|
||||||
|
counter(subheading)". ";
|
||||||
|
counter-increment: subheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h2 {
|
||||||
|
counter-reset: subsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h3:before {
|
||||||
|
content:
|
||||||
|
counter(heading)"."
|
||||||
|
counter(subheading)"."
|
||||||
|
counter(subsubheading)". ";
|
||||||
|
counter-increment: subsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h3 {
|
||||||
|
counter-reset: subsubsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h4:before {
|
||||||
|
content:
|
||||||
|
counter(heading)"."
|
||||||
|
counter(subheading)"."
|
||||||
|
counter(subsubheading)"."
|
||||||
|
counter(subsubsubheading)". ";
|
||||||
|
counter-increment: subsubsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h4 {
|
||||||
|
counter-reset: subsubsubsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h5:before {
|
||||||
|
content:
|
||||||
|
counter(heading)"."
|
||||||
|
counter(subheading)"."
|
||||||
|
counter(subsubheading)"."
|
||||||
|
counter(subsubsubheading)"."
|
||||||
|
counter(subsubsubsubheading)". ";
|
||||||
|
counter-increment: subsubsubsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h5 {
|
||||||
|
counter-reset: subsubsubsubsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
article h6:before {
|
||||||
|
content:
|
||||||
|
counter(heading)"."
|
||||||
|
counter(subheading)"."
|
||||||
|
counter(subsubheading)"."
|
||||||
|
counter(subsubsubheading)"."
|
||||||
|
counter(subsubsubsubheading)"."
|
||||||
|
counter(subsubsubsubsubheading)". ";
|
||||||
|
counter-increment: subsubsubsubsubheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* text content */
|
||||||
|
:is(blockquote, dl, figure, menu, ol, p, pre, ul) +
|
||||||
|
:is(blockquote, dl, figure, menu, ol, p, pre, ul) {
|
||||||
|
margin-block-start: var(--v-un);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
:is(blockquote, dl, figure, menu, ol, p, pre, ul) +
|
||||||
|
:is(h1, h2, h3, h4, h5, h6) {
|
||||||
|
margin-block-start: calc(2 * var(--v-un));
|
||||||
|
margin-block-end: var(--v-un);
|
||||||
|
}
|
||||||
|
|
||||||
|
:is(h1, h2, h3, h4, h5, h6) +
|
||||||
|
:is(blockquote, dl, figure, menu, ol, p, pre, ul) {
|
||||||
|
margin-block-start: var(--v-un);
|
||||||
|
}
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
margin: var(--height-unit) calc(2 * var(--width-unit));
|
margin-inline: calc(4 * var(--h-un));
|
||||||
}
|
}
|
||||||
ul, ol {
|
|
||||||
margin: var(--height-unit) 0;
|
ol, ul, menu {
|
||||||
padding: 0 0 0 calc(4 * var(--width-unit));
|
padding-inline-start: calc(4 * var(--h-un));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:is(ol, ul, menu) :is(ol, ul, menu) {
|
||||||
|
margin-block: unset;
|
||||||
|
}
|
||||||
|
|
||||||
ul>li::marker {
|
ul>li::marker {
|
||||||
content: "- ";
|
content: "- ";
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
color: inherit;
|
margin-block-start: var(--v-un);
|
||||||
border: none;
|
color: unset;
|
||||||
margin: var(--height-unit) 0;
|
border: unset;
|
||||||
}
|
text-align: center;
|
||||||
hr:after {
|
|
||||||
content: "---";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* main layout */
|
hr:after {
|
||||||
|
content: "---";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* inline text semantics */
|
||||||
|
a {
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:link {
|
||||||
|
color: var(--link-c);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:link:active {
|
||||||
|
color: var(--active-c);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited {
|
||||||
|
color: var(--visited-c);
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited:active {
|
||||||
|
color: var(--active-c);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* layout */
|
||||||
body {
|
body {
|
||||||
padding: var(--height-unit) var(--width-unit);
|
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
padding: var(--body-padding-v) var(--body-padding-h);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* secondary grid */
|
|
||||||
body>main {
|
body>main {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-auto-flow: column;
|
grid-auto-flow: column;
|
||||||
grid-template-columns: repeat(auto-fit, var(--column-width));
|
grid-auto-columns: var(--col-w);
|
||||||
grid-gap: var(--gap-horizontal);
|
gap: var(--main-gap-v) var(--main-gap-h);
|
||||||
overflow-x: scroll;
|
overflow-x: scroll;
|
||||||
scroll-snap-type: x proximity;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body>main>article {
|
body>main>article {
|
||||||
scroll-snap-align: start;
|
|
||||||
scroll-snap-stop: always;
|
|
||||||
width: var(--column-width);
|
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
}
|
}
|
||||||
body>main>article>header>h1 {
|
|
||||||
margin: unset;
|
body>main>article>header {
|
||||||
display: inline-block;
|
margin-block-end: var(--v-un);
|
||||||
}
|
}
|
||||||
body>main>article>article {
|
|
||||||
margin: var(--height-unit) 0 0 0;
|
body>main>article>footer {
|
||||||
|
margin-block-start: var(--v-un);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
viewBox="0 0 32 32"
|
viewBox="0 0 32 32"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
<rect style="fill:#551a8b" width="32" height="32" x="0" y="0" />
|
<rect style="fill:hsl(270 100% 50%)" width="32" height="32" x="0" y="0" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 262 B After Width: | Height: | Size: 272 B |
16
index.mdwn
16
index.mdwn
|
@ -1,11 +1,9 @@
|
||||||
Odkrivanje zatona arhitektov kot aktivnih ideologov, spoznanje o
|
> Odkrivanje zatona arhitektov kot aktivnih ideologov, spoznanje o
|
||||||
ogromnih tehnoloških zmožnostih racionalizacije mesta in ozemlja skupaj
|
> ogromnih tehnoloških zmožnostih racionalizacije mesta in ozemlja skupaj
|
||||||
z vsakodnevnimi ugotovitvami o njihovi brezkoristnosti ter zastaranje
|
> z vsakodnevnimi ugotovitvami o njihovi brezkoristnosti ter zastaranje
|
||||||
specifičnih metod projektiranja še preden so njihove hipoteze lahko
|
> specifičnih metod projektiranja še preden so njihove hipoteze lahko
|
||||||
preverjene v realnosti za arhitekte tvorijo tesnobno vzdušje, ki na
|
> preverjene v realnosti za arhitekte tvorijo tesnobno vzdušje, ki na
|
||||||
obzorju ponuja vpogled na zelo konkretno ozadje, zastrašujoče kot
|
> obzorju ponuja vpogled na zelo konkretno ozadje, zastrašujoče kot
|
||||||
največje zlo ...
|
> največje zlo ...
|
||||||
|
|
||||||
[[!inline pages="page(wiki/*)" feeds="no" archive="yes" sort="mtime"]]
|
|
||||||
|
|
||||||
[[!inlinepages pages="page(wiki/*)" sort="mtime"]]
|
[[!inlinepages pages="page(wiki/*)" sort="mtime"]]
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
<article>
|
|
||||||
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a><br />
|
|
||||||
<TMPL_VAR MTIME>
|
|
||||||
</article>
|
|
|
@ -4,29 +4,30 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title><TMPL_VAR TITLE></title>
|
<title><TMPL_VAR TITLE></title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link rel="icon" href="<TMPL_VAR BASEURL>/favicon.svg" />
|
<link rel="icon" href="<TMPL_VAR BASEURL>favicon.svg" />
|
||||||
<link rel="stylesheet" href="<TMPL_VAR BASEURL>/css/style.css" type="text/css" />
|
<link rel="stylesheet" href="<TMPL_VAR BASEURL>css/style.css" type="text/css" />
|
||||||
<TMPL_IF META><TMPL_VAR META></TMPL_IF>
|
<TMPL_IF META><TMPL_VAR META></TMPL_IF>
|
||||||
</head>
|
</head>
|
||||||
<body class="index">
|
<body id="index">
|
||||||
<main>
|
<main>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
<TMPL_LOOP PARENTLINKS><!--
|
<a href="<TMPL_VAR BASEURL>"><TMPL_VAR WIKINAME></a>
|
||||||
--><TMPL_IF __FIRST__><a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>/</TMPL_IF><!--
|
|
||||||
--></TMPL_LOOP><!--
|
|
||||||
--><h1><a href="<TMPL_VAR URL>"><TMPL_VAR TITLE></a></h1><br />
|
|
||||||
<TMPL_VAR MTIME>
|
|
||||||
</header>
|
</header>
|
||||||
<TMPL_VAR CONTENT>
|
<TMPL_VAR CONTENT>
|
||||||
|
<footer>
|
||||||
|
<TMPL_VAR MTIME>
|
||||||
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
<TMPL_LOOP INLINEPAGES>
|
<TMPL_LOOP INLINEPAGES>
|
||||||
<article>
|
<article>
|
||||||
<header>
|
<header>
|
||||||
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a><br />
|
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a><br />
|
||||||
<TMPL_VAR MTIME>
|
|
||||||
</header>
|
</header>
|
||||||
<TMPL_VAR CONTENT>
|
<TMPL_VAR CONTENT>
|
||||||
|
<footer>
|
||||||
|
<TMPL_VAR MTIME>
|
||||||
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
</TMPL_LOOP>
|
</TMPL_LOOP>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
@ -4,29 +4,43 @@
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title><TMPL_VAR TITLE></title>
|
<title><TMPL_VAR TITLE></title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link rel="icon" href="<TMPL_VAR BASEURL>/favicon.svg" />
|
<link rel="icon" href="<TMPL_VAR BASEURL>favicon.svg" />
|
||||||
<link rel="stylesheet" href="<TMPL_VAR BASEURL>/css/style.css" type="text/css" />
|
<link rel="stylesheet" href="<TMPL_VAR BASEURL>css/style.css" type="text/css" />
|
||||||
<TMPL_IF META><TMPL_VAR META></TMPL_IF>
|
<TMPL_IF META><TMPL_VAR META></TMPL_IF>
|
||||||
</head>
|
</head>
|
||||||
<body class="page">
|
<body id="page"
|
||||||
|
onload="document.getElementById('start').scrollIntoView({behavior:'smooth',inline:'start'})">
|
||||||
<main>
|
<main>
|
||||||
<article>
|
<TMPL_LOOP FRONTLINKPAGES>
|
||||||
|
<article class="frontlinkpage">
|
||||||
<header>
|
<header>
|
||||||
<TMPL_LOOP PARENTLINKS><!--
|
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a>
|
||||||
--><TMPL_IF __FIRST__><a href="<TMPL_VAR URL>"><TMPL_VAR PAGE></a>/</TMPL_IF><!--
|
|
||||||
--></TMPL_LOOP><!--
|
|
||||||
--><h1><a href="<TMPL_VAR URL>"><TMPL_VAR TITLE></a></h1><br />
|
|
||||||
<TMPL_VAR MTIME>
|
|
||||||
</header>
|
</header>
|
||||||
<TMPL_VAR CONTENT>
|
<TMPL_VAR CONTENT>
|
||||||
|
<footer>
|
||||||
|
<TMPL_VAR MTIME>
|
||||||
|
</footer>
|
||||||
|
</article>
|
||||||
|
</TMPL_LOOP>
|
||||||
|
<article id="start">
|
||||||
|
<header>
|
||||||
|
<a href="<TMPL_VAR BASEURL>"><TMPL_VAR WIKINAME></a>/<a href="<TMPL_VAR
|
||||||
|
URL>"><TMPL_VAR TITLE></a>
|
||||||
|
</header>
|
||||||
|
<TMPL_VAR CONTENT>
|
||||||
|
<footer>
|
||||||
|
<TMPL_VAR MTIME>
|
||||||
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
<TMPL_LOOP BACKLINKPAGES>
|
<TMPL_LOOP BACKLINKPAGES>
|
||||||
<article>
|
<article class="backlinkpage">
|
||||||
<header>
|
<header>
|
||||||
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a><br />
|
<a href="<TMPL_VAR PAGEURL>"><TMPL_VAR TITLE></a>
|
||||||
<TMPL_VAR MTIME>
|
|
||||||
</header>
|
</header>
|
||||||
<TMPL_VAR CONTENT>
|
<TMPL_VAR CONTENT>
|
||||||
|
<footer>
|
||||||
|
<TMPL_VAR MTIME>
|
||||||
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
</TMPL_LOOP>
|
</TMPL_LOOP>
|
||||||
</main>
|
</main>
|
||||||
|
|
Loading…
Reference in New Issue