1
Fork 0
This commit is contained in:
MMaker 2025-12-02 23:49:51 -05:00
commit cf7a27bfa1
Signed by: mmaker
GPG key ID: CCE79B8FEDA40FB2
225 changed files with 3580 additions and 0 deletions

10
layouts/404.html Normal file
View file

@ -0,0 +1,10 @@
{{ define "main" }}
<main>
<article>
<h2 class="title">404</h2>
<div class="articlecontent">
Page not found!
</div>
</article>
</main>
{{ end }}

View file

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode | default "en-us" }}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
{{ template "_internal/opengraph.html" . }}
{{ partial "twitter_cards_custom.html" . }}
<title>{{ .Title }}</title>
{{ with .Site.Params.description }}<meta name="description" content="{{ . }}">{{ end }}
{{ with .Site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
<link rel="shortcut icon" href="/mmaker.png" type="image/x-icon" />
<link rel="stylesheet" href="{{ "css/style.css" | relURL }}">
{{ with .OutputFormats.Get "RSS" -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s">` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }}
{{- end }}
</head>
<body>
<div id="wrapper">
{{ partial "header" . }}
<div id="container">
{{ block "main" . }}{{ end }}
{{ partial "sidebar.html" . }}
<!-- {{ partial "footer" . }} -->
</div>
<!--
<div class="kpan">
<iframe width="675" height="128" src="https://darkholme.kpworld.xyz/kpan-fetch?w=675&h=128"></iframe>
</div>
-->
</div>
<script type="text/javascript">
function getVideoEmbed(src)
{
let iframe = document.createElement('iframe');
iframe.frameBorder = 0;
iframe.width = 560;
iframe.height = 315;
iframe.src = 'https://www.youtube.com/embed/' + src;
iframe.allowFullscreen = true;
return iframe;
}
function enableEmbed(elem, iframe)
{
parentElem = elem.parentElement;
parentElem.appendChild(iframe);
elem.remove();
}
</script>
</body>
</html>

View file

@ -0,0 +1,17 @@
{{ define "main" }}
<main>
{{ if or .Title .Content }}
<div>
<!-- {{ with .Title }}<h2>{{ . }}</h2>{{ end }} -->
{{ with .Content }}<div>{{ . }}</div>{{ end }}
</div>
{{ end }}
{{ $paginator := .Paginate .RegularPagesRecursive }}
{{ range $paginator.Pages }}
{{ .Render "summary" }}
{{ end }}
{{ partial "pagination.html" . }}
</main>
<!-- {{ partial "sidebar.html" . }} -->
{{ end }}

View file

@ -0,0 +1,16 @@
{{ define "main" }}
<main>
<article>
<a href="{{ .Permalink }}"><h2 class="title">{{ .Title }}</h2></a>
{{ if .Date }}
<time class="date" title='{{ .Date.Format "02 Jan 06 15:04 UTC" }}' datetime='{{ .Date.Format "2006-01-02" }}'><a href="{{ .Permalink }}">#</a> {{ .Date.Format "2006-01-02" }}</time>
{{ end }}
<hr />
<div class="articlecontent">
{{ .Content }}
</div>
<hr />
{{ if not .Params.disableComments }}{{ partial "comments" }}{{ end }}
</article>
</main>
{{ end }}

View file

@ -0,0 +1,10 @@
<article>
<a href="{{ .Permalink }}"><h2 class="title">{{ .Title }}</h2></a>
<time class="date" title='{{ .Date.Format "02 Jan 06 15:04 UTC" }}' datetime='{{ .Date.Format "2006-01-02" }}'><a href="{{ .Permalink }}">#</a> {{ .Date.Format "2006-01-02" }}</time>
<hr />
<div>
{{ .Content }}
</div>
</article>

View file

@ -0,0 +1,23 @@
{{ define "main" }}
<main>
<article>
{{ if or .Title .Content }}
<div>
{{ with .Title }}<h2 class="title">{{ . }}</h2>{{ end }}
{{ with .Content }}<div>{{ . }}</div>{{ end }}
</div>
{{ end }}
<ul>
<li><a href="/things">All</a></li>
<li><a href="/things/article">Articles</a></li>
<li><a href="/things/game">Games</a></li>
<li><a href="/things/video">Videos</a></li>
<li><a href="/things/website">Websites</a></li>
</ul>
{{ $showAll := .Parent.IsHome }}
{{ partial "things.html" (dict "ctx" . "showAll" $showAll) }}
</article>
</main>
{{ end }}

16
layouts/ae/list.html Normal file
View file

@ -0,0 +1,16 @@
{{ define "main" }}
<main>
<article>
{{ if or .Title .Content }}
<div>
{{ with .Title }}<h2 class="title">{{ . }}</h2>{{ end }}
{{ with .Content }}<div>{{ . }}</div>{{ end }}
</div>
{{ end }}
{{ range sort (where .Site.RegularPages.ByTitle "Section" "ae" ) }}
{{ .Render "summary" }}
{{ end }}
</article>
</main>
{{ end }}

7
layouts/ae/summary.html Normal file
View file

@ -0,0 +1,7 @@
<a href="{{ .Permalink }}">
<div class="tip" style="background:linear-gradient(to right, rgba(46,47,49,1.0), rgba(46, 47, 49, 0)), url({{ index (.Param "images") 0 }});">
<div class="tip-content">
{{ .Param "shorttitle" }}
</div>
</div>
</a>

21
layouts/archive/list.html Normal file
View file

@ -0,0 +1,21 @@
{{ define "main" }}
<main>
<article>
<h2>Archive</h2>
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
{{ range $pages.GroupByDate "2006" }}
<div class="archive-year">
<h3>{{ .Key }}</h3>
<ul class="archive-list">
{{ range .Pages.ByDate.Reverse }}
<li>
<span class="archive-date">{{ .Date.Format "01-02" }}</span>
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
</li>
{{ end }}
</ul>
</div>
{{ end }}
</article>
</main>
{{ end }}

9
layouts/index.html Normal file
View file

@ -0,0 +1,9 @@
{{ define "main" }}
<main>
{{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
{{ range $paginator.Pages }}
{{ .Render "summary" }}
{{ end }}
{{ partial "pagination.html" . }}
</main>
{{ end }}

View file

@ -0,0 +1,13 @@
<div class="commentarea">
<h2 class="title">Comments</h2>
<script
data-isso="https://comments.mmaker.moe/"
data-isso-css="false"
data-isso-require-author="false"
data-isso-postbox-author-placeholder-text-en="Aniki"
data-isso-postbox-website-placeholder-text-en="https://example.com"
data-isso-postbox-text-text-en="Leave a comment..."
src="https://comments.mmaker.moe/js/embed.min.js">
</script>
<section id="isso-thread" data-title="{{ .Title }}" data-isso-id=""></section>
</div>

View file

@ -0,0 +1,3 @@
<footer>
<p>&copy; {{ now.Year }} <a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a></p>
</footer>

View file

@ -0,0 +1,11 @@
<header
{{ with .File }}
{{ if eq .BaseFileName "ytpmv" }}
style='background-image: linear-gradient(rgba(46,47,49,0.75), rgba(46, 47, 49, 0.75)),
url("/etc/1663080_p0.jpg"); background-size:cover;'
{{ end }}
{{ end }}
>
<h1><a href="{{ .Site.BaseURL }}">{{ .Site.Title }}</a></h1>
<h3 style="font-weight:normal;">{{ .Site.Params.Subtext }}</h3>
</header>

View file

@ -0,0 +1,14 @@
<a href="{{ .srcLink }}" target="_blank">
<div class="mediaitem" data-video-id="{{ .videoid }}" data-video-type="{{ .type }}">
<div class="mediaitem-thumb">
<img width="160" src="{{ .srcThumb }}">
</div>
<div class="mediaitem-type">
{{ .type }}
</div>
<div class="mediaitem-data">
<span class="mediaitem-title">{{ .title }}</span>
<span class="mediaitem-date">{{ .date }}</span>
</div>
</div>
</a>

View file

@ -0,0 +1,10 @@
<div class="pagination">
{{ if .Paginator.HasPrev }}
<a href="{{ .Paginator.Prev.URL }}">Previous Page</a>
{{ end }}
Page {{ .Paginator.PageNumber }} of {{ .Paginator.TotalPages }}
{{ if .Paginator.HasNext }}
<a href="{{ .Paginator.Next.URL }}">Next Page</a>
{{ end }}
</div>

View file

@ -0,0 +1,219 @@
<div id="left">
<div style="height:32px;display:flex;align-items:center;">
<img style="image-rendering: crisp-edges;" src="/mmaker.png"/>
<span style="margin-left:4px;font-size:12px;">MMaker's Homepage</span>
</div>
<ul>
<li><a href="/about">About</a></li>
<li><a href="/archive">Archive</a></li>
<li><a href="/index.xml">RSS Feed</a></li>
<li><a href="/videos">Videos</a></li>
<li><a href="https://shop.mmaker.moe">Shop</a><img class="new" src="/etc/new.gif"/></li>
</ul>
<hr />
<ul>
<span>Online</span>
<li><a rel="me" href="https://www.youtube.com/Mari0MakerV2">YouTube</a> <a rel="me" href="https://www.nicovideo.jp/user/52964540">Niconico</a> <a rel="me" href="https://space.bilibili.com/3494359766927957">Bilibili</a></li>
<li><a rel="me" href="https://twitter.com/mmakerdotmoe">Twitter</a> <a rel="me" href="https://bsky.app/profile/mmaker.moe">Bluesky</a> <a rel="me" href="https://mastodon.social/@mmaker">Mastodon</a></li>
<li><a rel="me" href="https://www.twitch.tv/mmaker___">Twitch</a></li>
<li><a rel="me" href="https://git.mmaker.moe">Git</a></li>
</ul>
<hr />
<ul>
<span>Pages</span>
<!-- <li><a href="/ae">After Effects Tips</a></li> -->
<li><a href="/files">Project Files</a></li>
<li><a href="/things">Things I Like</a><img class="new" src="/etc/new.gif"/></li>
<li><a href="/twitter">Twitter Archive</a></li>
<li><a href="https://ytpmv.mmaker.moe">YTPMV Radio</a></li>
<li><a href="/ytpmv">YTPMV/音MAD Document</a></li>
</ul>
<hr />
<ul class="archive-desktop">
<span>Archive</span>
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
{{ range $pages.GroupByDate "2006" }}
{{ $year := .Key }}
{{ $months := .Pages.GroupByDate "01" }}
<li><a href="{{ printf "/%s/" $year | relURL }}">{{ $year }}</a></li>
{{ range $i, $m := $months }}
{{ $month := .Key }}
{{ $isLast := eq $i (sub (len $months) 1) }}
<li style="padding-left:0.5em;"><span style="color:#666;">{{ if $isLast }}└{{ else }}├{{ end }}</span> <a href="{{ printf "/%s/%s/" $year $month | relURL }}">{{ $month }}</a></li>
{{ end }}
{{ end }}
</ul>
<ul class="archive-mobile">
<span>Archive</span>
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
{{ range $pages.GroupByDate "2006-01" }}
{{ $key := .Key }}
<li><a href="{{ printf "/%s/%s/" (slicestr $key 0 4) (slicestr $key 5 7) | relURL }}">{{ $key }}</a></li>
{{ end }}
</ul>
<hr />
<ul id="contact">
<span style="cursor: help" title="If you would like to send me an encrytped message, my pubkey can be found at:&#10;/mmaker-pubkey.txt">Contact</span>
<li><a href="mailto:mmaker@mmaker.moe">mmaker@mmaker.moe</a></li>
<li style="display:none;"><a href="/mmaker-pubkey.txt">Pubkey</a></li>
</ul>
<hr />
<ul>
<span>Related blogs/sites</span>
<li><a href="http://plustek.top/">+TEK</a></li>
<li><a href="https://0b5vr.com/">0b5vr</a></li>
<li><a href="https://102.cool/">102</a></li>
<li><a href="http://ae-users.com/jp/">AEP Project</a></li>
<li><a href="https://awesomekling.github.io/">Andreas Kling</a></li>
<li><a href="http://atarabi.com/">Atarabi</a></li>
<li><a href="http://www.aversionofreality.com/">aVersion of Reality</a></li>
<li><a href="http://www.ayatoweb.com/">ayato@web</a></li>
<li><a href="http://baaaf.com/">バカ・アフター</a></li>
<li><a href="https://baku89.com/">Baku 麦</a></li>
<li><a href="https://bisqwit.iki.fi/">Bisqwit</a></li>
<li><a href="http://bryful.yuzu.bz/">bryful</a></li>
<li><a href="https://calzoneman.net/">calzoneman</a></li>
<li><a href="https://cancel.fm/">cancel.fm</a></li>
<li><a href="http://www.capsadmin.com/">CapsAdmin</a></li>
<li><a href="https://caseymuratori.com/">Casey Muratori</a></li>
<li><a href="https://www.tokeru.com/cgwiki">cgwiki</a></li>
<li><a href="/~chfr/">CH FR's webpage</a></li>
<li><a href="https://chrisbrejon.com/">Christophe Brejon</a></li>
<li><a href="https://clubfantastic.dance/">Club Fantastic</a></li>
<li><a href="https://comp.moe/">CompComf</a></li>
<li><a href="https://comp-inc.com/">Composition Inc.</a></li>
<li><a href="https://cumulo.works/">Cumuloworks</a></li>
<li><a href="https://danielkreuter.com/">Daniel Kreuter</a></li>
<li><a href="https://aidn.jp/">daniwell</a></li>
<li><a href="https://www.dnalounge.com/">DNA Lounge</a></li>
<li><a href="https://dskjal.com/">dskjal</a></li>
<li><a href="http://dylanjames.xyz">Dylan James</a></li>
<li><a href="https://everydayskillshare.jp/">Everyday Skill Share</a></li>
<li><a href="https://exppad.com/">exppad*</a></li>
<li><a href="http://fartme.me">fartme.me</a></li>
<li><a href="https://fastdestination.net/">Fast Destination</a></li>
<li><a href="http://www.fatalfarm.com/">Fatal Farm</a></li>
<li><a href="https://flash.moe/">flash.moe</a></li>
<li><a href="https://www.froyotam.info/">Froyo Tam</a></li>
<li><a href="http://www.frums.xyz/">Frums</a></li>
<li><a href="http://getsuren.com/">GN's Side</a></li>
<li><a href="http://grunku.com">grunku</a></li>
<li><a href="http://hdlv.tv/">HDLV</a></li>
<li><a href="https://www.iquilezles.org/">Inigo Quilez</a></li>
<li><a href="http://number-none.com/blow/">Jonathan Blow</a></li>
<li><a href="https://www.jwz.org/">jwz</a></li>
<li><a href="https://ch.nicovideo.jp/JR_kannai_5">Kannai</a></li>
<li><a href="http://ksk.st/">kasokuSato</a></li>
<li><a href="http://blog.kenperlin.com/">Ken Perlin's Blog</a></li>
<li><a href="http://www.3dfiggins.com/">Kiel Figgins</a></li>
<li><a href="http://lamer-e.tv/">LA MER ARTWORKS</a></li>
<li><a href="https://lachrymal.net/">Lacrima</a></li>
<li><a href="https://lateasusual.com/">Late as usual</a></li>
<li><a href="https://ch.nicovideo.jp/memmortalt">メモタルト</a></li>
<li><a href="http://mowtendoo.com/">MowtenDoo</a></li>
<li><a href="https://near.sh/">Near</a></li>
<li><a href="http://www.neilblevins.com/">Neil Blevins</a></li>
<li><a href="https://osk.sh/">osk</a></li>
<li><a href="https://www.racoon-artworks.de/">Racoon Artworks</a></li>
<li><a href="https://muffler.red/">RedMuffleR</a></li>
<li><a href="https://rogerclark.org/">Roger Clark</a></li>
<li><a href="https://grumpygamer.com">Ron Gilbert</a></li>
<li><a href="https://ruiji.hatenablog.jp/">ruiji</a></li>
<li><a href="https://rustedlogic.net/">Rusted Logic</a></li>
<li><a href="https://safnine.pw">SAF 9</a></li>
<li><a href="https://ss-sahara.work/">sahara</a></li>
<li><a href="http://nothings.org/">Sean Barrett</a></li>
<li><a href="http://www.futurecrew.com/skaven/">Skaven</a></li>
<li><a href="https://www.starpelly.com/">Starpelly</a></li>
<li><a href="https://studiollb.wordpress.com/">Studio LLB</a></li>
<li><a href="https://guegan.de/">Stuff by Maurice</a></li>
<li><a href="http://sunrisemoon.net/">Sunrise Moon</a></li>
<li><a href="https://terrio.xyz/">TerribleTerrio</a></li>
<li><a href="http://thx.nightcore.zone/">thx nightcore</a></li>
<li><a href="https://sites.google.com/site/tomo0web/">tomo@web</a></li>
<li><a href="http://wakamura.livedoor.biz/">wakamura plex</a></li>
<li><a href="http://whereduaneat.com/">Where Duane At?</a></li>
<li><a href="https://wiby.me/">Wiby</a></li>
<li><a href="https://strlen.com/">Wouter van Oortmerssen</a></li>
<li><a href="https://wunkolo.github.io/">Wunk</a></li>
<li><a href="https://xkeeper.net/">Xkeeper</a></li>
<li><a href="http://www.yama-ko.net/blog/">yama-ko.net</a></li>
<li><a href="https://skybase.xyz">Yuya Takeda</a></li>
</ul>
<hr />
<ul id="buttons">
<li><a href="/"><img src="/etc/mmaker.gif"></a></li>
<li><a href="https://thechaseexp.com/"><img src="/etc/thechaseexp.gif"></a></li>
<li><a href="http://dylanjames.xyz"><img src="/etc/dylanjames.gif"></a></li>
<li><a href="https://terrio.xyz"><img src="/etc/asses.gif"></a></li>
<li><a href="https://lachrymal.net/"><img src="/etc/lachrymal-1.gif"></a></li>
<li><a href="https://chfr.link"><img src="/etc/chfr.gif"></a></li>
<li><a href="https://dopi.sexy/"><img src="/etc/dopi.gif"></a></li>
<li><a href="https://noahataya.com/"><img src="/etc/noah.gif"></a></li>
<li><a href="https://soaroz.com/"><img src="/etc/soaroz.gif"></a></li>
<li><a href="https://flashii.net/"><img src="/etc/flashii.gif"></a></li>
<li><a href="https://strovi.neocities.org/"><img src="/etc/strovi.png"></a></li>
<li><a href="https://meow.garden/"><img src="/etc/meowgarden-88x31.png"></a></li>
<li><a href="https://surasshu.com/"><img src="/etc/surasshu-88x31-1.gif"></a></li>
<li><a href="https://www.youtube.com/watch?v=ddWJatRxfz8"><img src="/etc/octagon.gif"></a></li>
<li><a href="https://www.youtube.com/watch?v=OYG8Ul276-w"><img src="/etc/terry.gif"></a></li>
<li><a href="https://iwf.gay/2015"><img src="/etc/iwf15.gif"></a></li>
<li><a href="https://iwf.gay/2016"><img src="/etc/iwf16.gif"></a></li>
<li><a href="https://iwf.gay/2017"><img src="/etc/iwf17.gif"></a></li>
<li><a href="https://iwf.gay/2021"><img src="/etc/iwf.gif"></a></li>
<li><a href="http://www.mytouhoupage.net"><img src="/etc/mytouhoupage.gif"></a></li>
<li><a href="https://nekoweb.org/"><img src="/etc/button5.gif"></a></li>
<li><a href="https://www.debian.org/"><img src="/etc/debian.gif"></a></li>
<li><img src="/etc/amiga.gif"></li>
<li><img src="/etc/hicolor.gif"></li>
<li><img src="/etc/tsukuda.png"></li>
<li><img src="/etc/bookmark.gif"></li>
<li><img src="/etc/sharing.gif"></li>
<li><img src="/etc/ss.png"></li>
<li><img src="/etc/discord.gif"></li>
<li><a href="https://cancel.fm/ripcord/"><img src="/etc/ripcord.png"></a></li>
<li><img src="/etc/adobe.gif"></li>
<li><a href="https://www.blender.org/"><img src="/etc/blender.png"></a></li>
<li><img src="/etc/daftpunk.gif"></li>
<li><img src="/etc/sears.png"></li>
<li><img src="/etc/touhoubutton.gif"></li>
<li><a href="https://www.foobar2000.org/"><img src="/etc/fb2k.png"></a></li>
<li><a href="https://stabyourself.net"><img src="/etc/stys.png"></a></li>
<li><a href="https://mega64.com/"><img src="/etc/rocco.gif"></a></li>
<li><a href="https://web.archive.org/web/20051109114059/http://rocco.razza.org/index2.htm"><img src="/etc/rwoi.gif"></a></li>
<li><a href="https://battleofthebits.org/"><img src="/etc/88x31_botb.gif"></a></li>
<li><a href="https://www.smwcentral.net/"><img src="/etc/smwc.gif"></a></li>
<li><a href="https://www.smbxgame.com/"><img src="/etc/smbx.gif"></a></li>
<li><a href="http://talkhaus.raocow.com/"><img src="/etc/talkhaus.gif"></a></li>
<li><a href="https://www.newgrounds.com/"><img src="/etc/ngbanner2.gif"></a></li>
<li><a href="http://forest.her.jp/Union_surreal/"><img src="/etc/moe88.png"></a></li>
<li><img src="/etc/rainbow88.gif"></li>
<li><img src="/etc/lol.gif"></li>
{{/* <div id="navlink-ad">
<iframe width="88" height="88" style="border:none" src="https://dimden.neocities.org/navlink/" name="neolink"></iframe>
</div> */}}
<li><img src="/etc/miku.gif"></li>
<li><a href="http://clamp-cc.sakura.ne.jp/"><img width="150px" src="/etc/bannar0p.png"></a></li>
</ul>
<hr />
<div style="text-align:center">
<script language="javascript" type="text/javascript" src="//counter1.fc2.com/counter.php?id=38340481&main=1"></script><noscript><img src="//counter1.fc2.com/counter_img.php?id=38340481&main=1" /></noscript>
</div>
</div>

View file

@ -0,0 +1,14 @@
{{/* Accept optional "showAll" parameter to show all site pages vs section pages */}}
{{ $showAll := .showAll | default false }}
{{ $ctx := .ctx }}
{{ $pages := $ctx.Pages }}
{{ if $showAll }}
{{ $pages = $ctx.Site.RegularPages }}
{{ end }}
<div class="medialist">
{{ range ($ctx.Paginate (where $pages "Params.thumb" "!=" nil) 5).Pages }}
{{ $DateField := (printf "%s" (time.Format "2006-01-02" .Date))}}
{{ partial "media_item" ( dict "srcLink" .Params.link "srcThumb" .Params.thumb "title" .Params.title "date" $DateField "type" .Params.type ) }}
{{ end }}
</div>
{{ partial "pagination.html" $ctx }}

View file

@ -0,0 +1,29 @@
{{- with $.Params.images -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
{{ else -}}
{{- $images := $.Resources.ByType "image" -}}
{{- $featured := $images.GetMatch "*feature*" -}}
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
{{- with $featured -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ $featured.Permalink }}"/>
{{- else -}}
{{- with $.Site.Params.images -}}
<meta name="twitter:card" content="summary"/>
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
{{ else -}}
<meta name="twitter:card" content="summary"/>
{{- end -}}
{{- end -}}
{{- end }}
<meta name="twitter:title" content="{{ .Title }}"/>
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
{{ with .Site.Params.Social.twitter -}}
<meta name="twitter:site" content="@{{ . }}"/>
{{ end -}}
{{ range .Site.Params.Authors }}
{{ with .twitter -}}
<meta name="twitter:creator" content="@{{ . }}"/>
{{ end -}}
{{ end -}}

37
layouts/rss.xml Normal file
View file

@ -0,0 +1,37 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>
{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}
{{ .Site.Title }}{{ end }}
</title>
<link>{{ .Permalink }}</link>
<description>Recent posts {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}}
{{ end }}{{ end }}by {{ .Site.Title }}</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>
{{end}}
{{ with .Site.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>
{{end}}
{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
{{ with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{ end }}
{{ range first 5 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
{{ if not .Date.IsZero }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>
<description>{{ .Content | html }}</description>
</item>
{{ end }}
{{ end }}
</channel>
</rss>

View file

@ -0,0 +1 @@
<br/>

View file

@ -0,0 +1 @@
<span class="code">{{ index .Params 0 }}</span>

View file

@ -0,0 +1,14 @@
<div class="image-container">
{{ $src := .Get "src" }}
{{ if hasPrefix $src "/" }}
<img src='{{ $src }}' title='{{ .Get "caption" | markdownify }}' />
{{ else }}
{{ $img := .Page.Resources.GetMatch $src }}
{{ if $img }}
<img src='{{ $img.RelPermalink }}' title='{{ .Get "caption" | markdownify }}' />
{{ else }}
<img src='{{ $src }}' title='{{ .Get "caption" | markdownify }}' />
{{ end }}
{{ end }}
<p>{{ .Get "caption" | markdownify }}</p>
</div>

View file

@ -0,0 +1 @@
<span class="important">{{ index .Params 0 }}</span>

View file

@ -0,0 +1 @@
<code style="display: inline-block; overflow: initial; background-color: #000; color: #fff; padding: 0 4px">{{ index .Params 0 }}</code>

View file

@ -0,0 +1 @@
<iframe style="border: none; height: 75vh;" src="https://mmaker.moe/twitter-archive/" width="100%"></iframe>

View file

@ -0,0 +1,16 @@
<div class="video-container">
{{ $src := .Get "src" }}
{{ $poster := .Get "poster" }}
{{ if and $src (not (hasPrefix $src "http")) (not (hasPrefix $src "/")) }}
{{ $vid := .Page.Resources.GetMatch $src }}
{{ if $vid }}{{ $src = $vid.RelPermalink }}{{ end }}
{{ end }}
{{ if and $poster (not (hasPrefix $poster "http")) (not (hasPrefix $poster "/")) }}
{{ $p := .Page.Resources.GetMatch $poster }}
{{ if $p }}{{ $poster = $p.RelPermalink }}{{ end }}
{{ end }}
<video controls muted preload="auto" title='{{ .Get "caption" }}' poster='{{ $poster }}'>
<source src='{{ $src }}' type="video/webm">
</video>
<p>{{ .Get "caption" }}</p>
</div>

View file

@ -0,0 +1,138 @@
<p>
<div class="videoplayer">
<video controls>
<source src="" type="video/mp4">
</video>
</div>
<div class="videoplayer-title">Now playing: [no video selected]</div>
</p>
<div class="medialist medialistscroll">
{{ range $index, $elem := sort $.Site.Data.videos.videos "date" "desc" }}
{{ $srcLink := or $elem.link (printf "https://cdn.mmaker.moe/video/%s_%s.mp4" $elem.date $elem.videoid) }}
{{ $srcThumb := or $elem.thumb (printf "https://cdn.mmaker.moe/video/thumbnail/%s_%s.jpg" $elem.date $elem.videoid) }}
{{ partial "media_item" ( dict "srcLink" $srcLink "srcThumb" $srcThumb "title" $elem.title "date" $elem.date "type" $elem.type "videoid" $elem.videoid ) }}
{{ end }}
</div>
<br />
<div class="videoplayer-description">Description</div>
<div class="videodescription">[no video selected]</div>
<script type="text/javascript">
(function ()
{
const CDN_PATH = "https://cdn.mmaker.moe/video/";
const COMMENTS_ENABLED = true;
let videos = document.getElementsByClassName("mediaitem");
let videoPlayer = document.getElementsByClassName("videoplayer")[0].children[0];
let videoPlayerTitle = document.getElementsByClassName("videoplayer-title")[0];
videoPlayer.volume = 0.25;
function loadIssoThread(videoId, videoTitle)
{
if (!COMMENTS_ENABLED) return;
let issoThread = document.getElementById("isso-thread");
if (!issoThread) return;
// Set both data-isso-id and data-title
// The title prevents Isso from checking if the URI exists
issoThread.setAttribute("data-isso-id", "/videos/" + videoId);
issoThread.setAttribute("data-title", videoTitle);
if (window.Isso) {
window.Isso.fetchComments();
}
}
function setVideo(url, videoId, videoTitle, videoDate)
{
setUrl(videoId);
videoPlayer.src = url;
videoPlayerTitle.textContent = "Now playing: " + videoTitle;
getDesc(CDN_PATH + "description/" + videoDate + "_" + videoId + ".description");
loadIssoThread(videoId, videoTitle);
}
function setUrl(videoId)
{
let url = new URL(window.location.href);
url.searchParams.set('v', videoId);
window.history.pushState(null, document.title, url.href);
}
function handleUrl()
{
let url = new URL(window.location);
let v = url.searchParams.get("v");
if (!v) return;
let video = document.querySelector('[data-video-id="' + v + '"]');
if (video != null)
{
let videoUrl = video.parentElement.href;
let videoTitle = video.querySelector('.mediaitem-title').textContent;
let videoDate = video.querySelector('.mediaitem-date').textContent;
setUrl(v);
videoPlayer.src = videoUrl;
videoPlayerTitle.textContent = "Now playing: " + videoTitle;
getDesc(CDN_PATH + "description/" + videoDate + "_" + v + ".description");
let issoThread = document.getElementById("isso-thread");
if (issoThread) {
issoThread.setAttribute("data-isso-id", "/videos/" + v);
issoThread.setAttribute("data-title", videoTitle);
}
}
}
function getDesc(url)
{
let videoDescription = document.getElementsByClassName("videodescription")[0];
fetch(url)
.then(response => {
if (response.status === 403)
{
return "[No description available]";
}
return response.text();
})
.then((data) => {
videoDescription.textContent = data;
})
.catch((error) => {
videoDescription.textContent = "[Error occurred when fetching description]";
});
}
for (let video of videos)
{
let videoTitle = video.getElementsByClassName("mediaitem-title")[0].textContent;
let videoDate = video.getElementsByClassName("mediaitem-date")[0].textContent;
let videoThumbnail = video.getElementsByClassName("mediaitem-thumb")[0];
let videoId = video.getAttribute("data-video-id");
let videoType = video.getAttribute("data-video-type");
let videoTypes = ["video", "ビデオ", "collab work"];
video.addEventListener("click", function(evt)
{
if (!(videoTypes.indexOf(videoType) >= 0)) {
videoPlayer.pause();
return;
} else {
evt.preventDefault();
};
videoUrl = video.parentElement.href;
if (videoPlayer.src != videoUrl)
{
setVideo(videoUrl, videoId, videoTitle, videoDate);
}
});
}
document.addEventListener('DOMContentLoaded', handleUrl);
})();
</script>

View file

@ -0,0 +1 @@
<span class="warning">{{ index .Params 0 }}</span>

View file

@ -0,0 +1,6 @@
<div class="video-wrapper">
<a href="https://www.youtube.com/watch?v={{ index .Params 0 }}"><img width="528" height="297" src="https://i.ytimg.com/vi_webp/{{ index .Params 0 }}/mqdefault.webp" onmouseover="enableEmbed(this, getVideoEmbed({{ index .Params 0 }}));" /></a>
<!--
<iframe width="560" height="315" src="https://www.youtube.com/embed/{{ index .Params 0 }}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-->
</div>

38
layouts/things/rss.xml Normal file
View file

@ -0,0 +1,38 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1" xmlns:content="http://purl.org/rss/1.0/modules/content" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>
{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} by {{ end }}
{{ .Site.Title }}{{ end }}
</title>
<link>{{ .Permalink }}</link>
<description>Recent videos by MMaker</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>
{{end}}
{{ with .Site.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>
{{end}}
{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
{{ with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{ end }}
{{ $pages := (where .Site.RegularPages "Params.thumb" "!=" nil).ByDate.Reverse }}
{{ range first 20 $pages }}
{{ if not .Date.IsZero }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Params.link }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
<guid>{{ .Params.link }}</guid>
<media:content medium="image" url="{{ .Params.thumb | absURL }}"/>
<description></description>
</item>
{{ end }}
{{ end }}
</channel>
</rss>

18
layouts/videos/list.html Normal file
View file

@ -0,0 +1,18 @@
{{ define "main" }}
<main>
<article>
{{ if or .Title .Content }}
<div>
{{ with .Title }}<h2 class="title">{{ . }}</h2>{{ end }}
<hr />
{{ with .Content }}<div>{{ . }}</div>{{ end }}
</div>
{{ end }}
<hr />
{{ partial "comments" }}
</article>
</main>
{{ end }}

36
layouts/videos/rss.xml Normal file
View file

@ -0,0 +1,36 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1" xmlns:content="http://purl.org/rss/1.0/modules/content" xmlns:media="http://search.yahoo.com/mrss/">
<channel>
<title>
{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} by {{ end }}
{{ .Site.Title }}{{ end }}
</title>
<link>{{ .Permalink }}</link>
<description>Recent videos by MMaker</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>
{{end}}
{{ with .Site.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>
{{end}}
{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>
{{ end }}
{{ with .OutputFormats.Get "RSS" }}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{ end }}
{{ range $index, $elem := sort $.Site.Data.videos.videos "date" "desc" }}
{{ if and $elem.videoid $elem.date }}
<item>
<title>{{ $elem.title }}</title>
<link>https://mmaker.moe/videos/?v={{ $elem.videoid }}</link>
<pubDate>{{ dateFormat "Mon, 02 Jan 2006" (time $elem.date) | safeHTML }}</pubDate>
<guid>https://mmaker.moe/videos/?v={{ $elem.videoid }}</guid>
<media:content type="image/jpeg" medium="image" url="https://cdn.mmaker.moe/video/thumbnail/{{ $elem.date }}_{{ $elem.videoid }}.jpg"/>
<description></description>
</item>
{{ end }}
{{ end }}
</channel>
</rss>

View file