1
0

Compare commits

..

No commits in common. "39e59c91afa343588a9422fe13bc35a24880d8e5" and "8059296e7363813abb1fd01d5a9afe8f2fe14b03" have entirely different histories.

14 changed files with 86 additions and 111 deletions

19
portfolio/about.rst Normal file
View File

@ -0,0 +1,19 @@
---
title: About
language: "en"
logosub: About me
---
Nullam imperdiet sodales orci vitae molestie. Nunc quam orci, pharetra a
rhoncus vitae, eleifend id felis. Suspendisse potenti. Etiam vitae urna orci.
Quisque pellentesque dignissim felis, egestas tempus urna luctus vitae. In hac
habitasse platea dictumst. Morbi fringilla mattis odio, et mattis tellus
accumsan vitae.
1. Amamus Unicode 碁
2. Interdum nex magna.
Vivamus eget mauris sit amet nulla laoreet lobortis. Nulla in diam elementum
risus convallis commodo. Cras vehicula varius dui vitae facilisis. Proin
elementum libero eget leo aliquet quis euismod orci vestibulum. Duis rhoncus
lorem consequat tellus vestibulum aliquam. Quisque orci orci, malesuada porta
blandit et, interdum nec magna.

View File

@ -41,7 +41,7 @@ $endfor$
</tr>
$for(fielddays)$
<tr>
<td>$formatted_date$</td>
<td>$date$</td>
<td><a href="$url$">$title$</a><br/>$if(pota-locator)$<strong>POTA</strong>: $pota-locator$ $endif$ $if(wwff-locator)$<strong>WW-FF</strong>: $wwff-locator$ $endif$</td>
<td class="d-none d-md-table-cell">$mode$ - $bands$ - $antenna$ antenna<br/>$transceiver$</td>
<td class="d-none d-md-table-cell">$total-unique-qso$</td>

View File

@ -41,7 +41,7 @@ $endfor$
</tr>
$for(fielddays)$
<tr>
<td>$formatted_date$</td>
<td>$date$</td>
<td><a href="$url$">$title$</a><br/>$if(pota-locator)$<strong>POTA</strong>: $pota-locator$ $endif$ $if(wwff-locator)$<strong>WW-FF</strong>: $wwff-locator$ $endif$</td>
<td class="d-none d-md-table-cell">$mode$ - $bands$ - $antenna$ アンテナ<br/>$transceiver$</td>
<td class="d-none d-md-table-cell">$total-unique-qso$</td>

View File

@ -41,7 +41,7 @@ $endfor$
</tr>
$for(fielddays)$
<tr>
<td>$formatted_date$</td>
<td>$date$</td>
<td><a href="$url$">$title$</a><br/>$if(pota-locator)$<strong>POTA</strong>: $pota-locator$ $endif$ $if(wwff-locator)$<strong>WW-FF</strong>: $wwff-locator$ $endif$</td>
<td class="d-none d-md-table-cell">$mode$ - $bands$ - $antenna$ antenne<br/>$transceiver$</td>
<td class="d-none d-md-table-cell">$total-unique-qso$</td>

View File

@ -35,11 +35,10 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/post.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/post.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= relativizeUrls
match "events/*" $ do
@ -48,11 +47,10 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/event.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/event.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= relativizeUrls
match "pages/en/japan/language/**" $ do
@ -61,11 +59,10 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/japan-language-note.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/japan-language-note.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= relativizeUrls
match "pages/*/plamo/equipment/**" $ do
@ -74,11 +71,10 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/equipment.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/equipment.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= relativizeUrls
match "pages/*/plamo/model-kits/**" $ do
@ -87,17 +83,16 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
let dateValue = lookupString "date" metadata
purchaseDateValue = lookupString "purchase_date" metadata
formattedPurchaseDate = maybe "" (formatDate lang) purchaseDateValue
formattedPurchaseDate = maybe "" formatDate purchaseDateValue
modelKitTemplate =
if dateValue == Just "1990-01-01"
then "templates/model-kit-not-ready.html"
else "templates/model-kit.html"
extendedCtx = constField "formatted_purchase_date" formattedPurchaseDate <> (postCtx lang)
extendedCtx = constField "formatted_purchase_date" formattedPurchaseDate <> (postCtx language)
pandocCompiler
>>= loadAndApplyTemplate modelKitTemplate extendedCtx
@ -110,11 +105,10 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/radio.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/radio.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= relativizeUrls
match "pages/*/software/**" $ do
@ -123,11 +117,10 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
-- >>= loadAndApplyTemplate "templates/software-post.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
-- >>= loadAndApplyTemplate "templates/software-post.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= relativizeUrls
create ["archive.html"] $ do
@ -140,7 +133,7 @@ main = hakyll $ do
posts <- recentFirst =<< loadAll "posts/*"
let archiveCtx =
listField "posts" (postCtx lang) (return posts) <>
listField "posts" (postCtx language) (return posts) <>
constField "title" "Archives" <>
constField "language" lang <>
langDict lang <>
@ -158,16 +151,19 @@ main = hakyll $ do
]) $ do
route idRoute
compile $ do
-- ident <- getUnderlying
-- language <- getMetadataField' ident "language"
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
let url = "pages/" ++ lang ++ "/plamo/model-kits/**"
kits <- recentFirst =<< loadAll (fromGlob (url))
let urla = "pages/" ++ lang ++ "/plamo/model-kits/**"
kits <- recentFirst =<< loadAll (fromGlob (urla))
let plamoCtx =
listField "kits" (kitCtx lang) (return kits) <>
listField "kits" kitCtx (return kits) <>
langDict lang <>
defaultContext
@ -191,7 +187,7 @@ main = hakyll $ do
notes <- loadAll "pages/en/japan/language/notes/*"
let japanCtx =
listField "notes" (postCtx lang) (return notes) <>
listField "notes" (postCtx language) (return notes) <>
langDict lang <>
defaultContext
@ -217,8 +213,8 @@ main = hakyll $ do
fielddays <- recentFirst fielddays
let radioCtx =
listField "antenna" (postCtx lang) (return antenna) <>
listField "fielddays" (postCtx lang) (return fielddays) <>
listField "antenna" (postCtx language) (return antenna) <>
listField "fielddays" (postCtx language) (return fielddays) <>
langDict lang <>
defaultContext
@ -243,7 +239,7 @@ main = hakyll $ do
projects <- recentFirst projects
let softwareCtx =
listField "projects" (postCtx lang) (return projects) <>
listField "projects" (postCtx language) (return projects) <>
langDict lang <>
defaultContext
@ -267,7 +263,7 @@ main = hakyll $ do
blazorPages <- loadAll "pages/en/software/code/blazor/*"
let softwareCtx =
listField "blazorPages" (postCtx lang) (return blazorPages) <>
listField "blazorPages" (postCtx language) (return blazorPages) <>
langDict lang <>
defaultContext
@ -291,7 +287,7 @@ main = hakyll $ do
elmPages <- loadAll "pages/en/software/code/elm/*"
let softwareCtx =
listField "elmPages" (postCtx lang) (return elmPages) <>
listField "elmPages" (postCtx language) (return elmPages) <>
langDict lang <>
defaultContext
@ -315,7 +311,7 @@ main = hakyll $ do
haskellPages <- loadAll "pages/en/software/code/haskell/*"
let softwareCtx =
listField "haskellPages" (postCtx lang) (return haskellPages) <>
listField "haskellPages" (postCtx language) (return haskellPages) <>
langDict lang <>
defaultContext
@ -339,7 +335,7 @@ main = hakyll $ do
equipment <- loadAll $ (fromGlob ("pages/" ++ lang ++ "/plamo/equipment/*"))
let equipmentCtx =
listField "equipment" (postCtx lang) (return equipment) <>
listField "equipment" (postCtx language) (return equipment) <>
langDict lang <>
defaultContext
@ -397,8 +393,8 @@ main = hakyll $ do
let indexCtx =
-- (<> is the modern version of `mappend`.)
listField "posts" (postCtx lang) (return posts) <>
listField "events" (postCtx lang) (return events) <>
listField "posts" (postCtx language) (return posts) <>
listField "events" (postCtx language) (return events) <>
langDict lang <>
defaultContext
@ -417,69 +413,29 @@ staticPageContext =
langDict "en" <>
defaultContext
localeFor :: String -> TimeLocale
localeFor "nl" = dutchLocale
localeFor "jp" = japaneseLocale
localeFor _ = defaultTimeLocale
dutchLocale :: TimeLocale
dutchLocale = defaultTimeLocale
{ months =
[ ("januari", "jan"), ("februari", "feb"), ("maart", "mrt")
, ("april", "apr"), ("mei", "mei"), ("juni", "jun")
, ("juli", "jul"), ("augustus", "aug"), ("september", "sep")
, ("oktober", "okt"), ("november", "nov"), ("december", "dec")
]
}
japaneseLocale :: TimeLocale
japaneseLocale = defaultTimeLocale
{ months =
[ ("1月","1月"), ("2月","2月"), ("3月","3月")
, ("4月","4月"), ("5月","5月"), ("6月","6月")
, ("7月","7月"), ("8月","8月"), ("9月","9月")
, ("10月","10月"), ("11月","11月"), ("12月","12月")
]
}
formatStringFor :: String -> String
formatStringFor "en" = "%e %B %Y"
formatStringFor "nl" = "%e %B %Y"
formatStringFor "jp" = "%Y年 %m月 %e日"
formatStringFor _ = "%e %B %Y"
formatDate :: String -> String -> String
formatDate lang s =
formatDate :: String -> String
formatDate s =
case parseTimeM True defaultTimeLocale "%Y-%m-%d" s :: Maybe Day of
Just day -> formatTime (localeFor lang) (formatStringFor lang) day
Just day -> formatTime defaultTimeLocale "%e %B %Y" day
Nothing -> s
postCtx :: String -> Context String
postCtx :: Maybe String -> Context String
postCtx language =
let
-- Custom field for formatted date
formattedDateField :: Context String
formattedDateField = field "formatted_date" $ \item -> do
-- Get the metadata for this item
meta <- getMetadata (itemIdentifier item)
let mDate = lookupString "date" meta
return $ maybe "" (formatDate language) mDate
in -- Keep the original "date" field.
let lang = fromMaybe "en" language
in
dateField "date" "%e %B %Y" <>
constField "language" language <>
formattedDateField <>
langDict language <>
constField "language" lang <>
langDict lang <>
defaultContext
kitCtx :: String -> Context String
kitCtx language =
kitCtx :: Context String
kitCtx =
(field "formatted_purchase_date" $ \item -> do
metadata <- getMetadata (itemIdentifier item)
let purchaseDateValue = lookupString "purchase_date" metadata
return $ maybe "" (formatDate language) purchaseDateValue
return $ maybe "" formatDate purchaseDateValue
)
<> (postCtx language)
<> postCtx Nothing
isUpcoming :: UTCTime -> Item a -> Compiler Bool
isUpcoming cutoff item = do

View File

@ -1,6 +1,6 @@
<article>
<section class="header">
Posted on $formatted_date$
Posted on $date$
$if(author)$
by $author$
$endif$

View File

@ -1,7 +1,7 @@
<ul>
$for(events)$
<li>
$formatted_date$ - <a href="$url$">$title$</a>
$date$ - <a href="$url$">$title$</a>
</li>
$endfor$
</ul>

View File

@ -5,46 +5,46 @@
</section>
<section>
<hr/>
<h2>$table-plamo-model-info$</h2>
Model information
<table class="table table-striped-columns">
$if(model_name)$
<tr><td>$table-plamo-model$</td><td>$model_name$</td></tr>
<tr><td>Model</td><td>$model_name$</td></tr>
$endif$
$if(scale)$
<tr><td>$table-plamo-scale$</td><td>$scale$</td></tr>
<tr><td>Scale</td><td>$scale$</td></tr>
$endif$
$if(series)$
<tr><td>$table-plamo-series$</td><td>$series$</td></tr>
<tr><td>Series</td><td>$series$</td></tr>
$endif$
$if(manufacturer)$
<tr><td>$table-plamo-manufacturer$</td><td>$manufacturer$</td></tr>
<tr><td>Manufacturer</td><td>$manufacturer$</td></tr>
$endif$
$if(release)$
<tr><td>$table-plamo-release-year$</td><td>$release$</td></tr>
<tr><td>Release year</td><td>$release$</td></tr>
$endif$
$if(number)$
<tr>
<td>$table-plamo-kit-number$</td><td><a class="external" aria-label="scalemates dot com (opens external site in new tab)" href="https://www.scalemates.com/search.php?fkSECTION%5B%5D=All&q=$number$*" target="_blank" rel="noopener noreferrer">$number$</a></td>
<td>Kit number</td><td><a class="external" aria-label="scalemates dot com (opens external site in new tab)" href="https://www.scalemates.com/search.php?fkSECTION%5B%5D=All&q=$number$*" target="_blank" rel="noopener noreferrer">$number$</a></td>
</tr>
$endif$
</table>
<h2>$table-plamo-purchase-information$</h2>
Purchase information
<table class="table table-striped-columns">
$if(purchase_date)$
<tr><td>$table-plamo-date$</td><td>$formatted_purchase_date$</td></tr>
<tr><td>Date</td><td>$formatted_purchase_date$</td></tr>
$endif$
$if(price)$
<tr><td>$table-plamo-price$</td><td>$price$</td></tr>
<tr><td>Price</td><td>$price$</td></tr>
$endif$
$if(purchase_store)$
<tr><td>$table-plamo-store$</td><td>$purchase_store$</td></tr>
<tr><td>Store</td><td>$purchase_store$</td></tr>
$endif$
$if(purchase_venue)$
<tr><td>$table-plamo-venue$</td><td>$purchase_venue$</td></tr>
<tr><td>Venue</td><td>$purchase_venue$</td></tr>
$endif$
$if(purchase_location)$
<tr><td>$table-plamo-location$</td><td>$purchase_location$</td></tr>
<tr><td>Location</td><td>$purchase_location$</td></tr>
$endif$
</table>

View File

@ -1,7 +1,7 @@
<article>
<section class="header">
<a href="/$language$/plamo.html" class="back-link">$text-plamo-back$</a><br/>
<span class="text-body-secondary">Posted on: $formatted_date$</span>
<span class="text-body-secondary">Posted on: $date$</span>
</section>
<section>
<hr/>

View File

@ -9,7 +9,7 @@
<div class="col-6 col-md-8">
<div class="card-body">
<p class="card-text fs-xs-smaller">
<em class="text-body-secondary">$formatted_date$</em><br/>
<em class="text-body-secondary">$date$</em><br/>
$model_name$<br/>
<span class="badge rounded-pill text-bg-secondary ms-4 text-center">$scale$</span><br/>
$if(series)$

View File

@ -1,7 +1,7 @@
<ul>
$for(posts)$
<li>
<a href="$url$">$title$</a> - $formatted_date$
<a href="$url$">$title$</a> - $date$
</li>
$endfor$
</ul>

View File

@ -1,6 +1,6 @@
<article>
<section class="header">
Posted on $formatted_date$
Posted on $date$
$if(author)$
by $author$
$endif$

View File

@ -1,7 +1,7 @@
<article>
<section class="header">
<a href="/$language$/radio.html" class="back-link">$text-radio-back$</a><br/>
Posted on $formatted_date$
Posted on $date$
</section>
<section>
$body$

View File

@ -1,7 +1,7 @@
<ul>
$for(posts)$
<li>
$formatted_date$ - <a href="$url$">$title$</a>
<a href="$url$">$title$</a> - $date$
</li>
$endfor$
</ul>