1
0

Compare commits

..

3 Commits

14 changed files with 111 additions and 86 deletions

View File

@ -1,19 +0,0 @@
---
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>$date$</td>
<td>$formatted_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>$date$</td>
<td>$formatted_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>$date$</td>
<td>$formatted_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,10 +35,11 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/post.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= loadAndApplyTemplate "templates/post.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= relativizeUrls
match "events/*" $ do
@ -47,10 +48,11 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/event.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= loadAndApplyTemplate "templates/event.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= relativizeUrls
match "pages/en/japan/language/**" $ do
@ -59,10 +61,11 @@ 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 language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= loadAndApplyTemplate "templates/japan-language-note.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= relativizeUrls
match "pages/*/plamo/equipment/**" $ do
@ -71,10 +74,11 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/equipment.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= loadAndApplyTemplate "templates/equipment.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= relativizeUrls
match "pages/*/plamo/model-kits/**" $ do
@ -83,16 +87,17 @@ 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 purchaseDateValue
formattedPurchaseDate = maybe "" (formatDate lang) 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 language)
extendedCtx = constField "formatted_purchase_date" formattedPurchaseDate <> (postCtx lang)
pandocCompiler
>>= loadAndApplyTemplate modelKitTemplate extendedCtx
@ -105,10 +110,11 @@ main = hakyll $ do
identifier <- getUnderlying
metadata <- getMetadata identifier
let language = lookupString "language" metadata
let lang = fromMaybe "en" language
pandocCompiler
>>= loadAndApplyTemplate "templates/radio.html" (postCtx language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
>>= loadAndApplyTemplate "templates/radio.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= relativizeUrls
match "pages/*/software/**" $ do
@ -117,10 +123,11 @@ 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 language)
>>= loadAndApplyTemplate "templates/default.html" (postCtx language)
-- >>= loadAndApplyTemplate "templates/software-post.html" (postCtx lang)
>>= loadAndApplyTemplate "templates/default.html" (postCtx lang)
>>= relativizeUrls
create ["archive.html"] $ do
@ -133,7 +140,7 @@ main = hakyll $ do
posts <- recentFirst =<< loadAll "posts/*"
let archiveCtx =
listField "posts" (postCtx language) (return posts) <>
listField "posts" (postCtx lang) (return posts) <>
constField "title" "Archives" <>
constField "language" lang <>
langDict lang <>
@ -151,19 +158,16 @@ 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 urla = "pages/" ++ lang ++ "/plamo/model-kits/**"
kits <- recentFirst =<< loadAll (fromGlob (urla))
let url = "pages/" ++ lang ++ "/plamo/model-kits/**"
kits <- recentFirst =<< loadAll (fromGlob (url))
let plamoCtx =
listField "kits" kitCtx (return kits) <>
listField "kits" (kitCtx lang) (return kits) <>
langDict lang <>
defaultContext
@ -187,7 +191,7 @@ main = hakyll $ do
notes <- loadAll "pages/en/japan/language/notes/*"
let japanCtx =
listField "notes" (postCtx language) (return notes) <>
listField "notes" (postCtx lang) (return notes) <>
langDict lang <>
defaultContext
@ -213,8 +217,8 @@ main = hakyll $ do
fielddays <- recentFirst fielddays
let radioCtx =
listField "antenna" (postCtx language) (return antenna) <>
listField "fielddays" (postCtx language) (return fielddays) <>
listField "antenna" (postCtx lang) (return antenna) <>
listField "fielddays" (postCtx lang) (return fielddays) <>
langDict lang <>
defaultContext
@ -239,7 +243,7 @@ main = hakyll $ do
projects <- recentFirst projects
let softwareCtx =
listField "projects" (postCtx language) (return projects) <>
listField "projects" (postCtx lang) (return projects) <>
langDict lang <>
defaultContext
@ -263,7 +267,7 @@ main = hakyll $ do
blazorPages <- loadAll "pages/en/software/code/blazor/*"
let softwareCtx =
listField "blazorPages" (postCtx language) (return blazorPages) <>
listField "blazorPages" (postCtx lang) (return blazorPages) <>
langDict lang <>
defaultContext
@ -287,7 +291,7 @@ main = hakyll $ do
elmPages <- loadAll "pages/en/software/code/elm/*"
let softwareCtx =
listField "elmPages" (postCtx language) (return elmPages) <>
listField "elmPages" (postCtx lang) (return elmPages) <>
langDict lang <>
defaultContext
@ -311,7 +315,7 @@ main = hakyll $ do
haskellPages <- loadAll "pages/en/software/code/haskell/*"
let softwareCtx =
listField "haskellPages" (postCtx language) (return haskellPages) <>
listField "haskellPages" (postCtx lang) (return haskellPages) <>
langDict lang <>
defaultContext
@ -335,7 +339,7 @@ main = hakyll $ do
equipment <- loadAll $ (fromGlob ("pages/" ++ lang ++ "/plamo/equipment/*"))
let equipmentCtx =
listField "equipment" (postCtx language) (return equipment) <>
listField "equipment" (postCtx lang) (return equipment) <>
langDict lang <>
defaultContext
@ -393,8 +397,8 @@ main = hakyll $ do
let indexCtx =
-- (<> is the modern version of `mappend`.)
listField "posts" (postCtx language) (return posts) <>
listField "events" (postCtx language) (return events) <>
listField "posts" (postCtx lang) (return posts) <>
listField "events" (postCtx lang) (return events) <>
langDict lang <>
defaultContext
@ -413,29 +417,69 @@ staticPageContext =
langDict "en" <>
defaultContext
formatDate :: String -> String
formatDate s =
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 =
case parseTimeM True defaultTimeLocale "%Y-%m-%d" s :: Maybe Day of
Just day -> formatTime defaultTimeLocale "%e %B %Y" day
Just day -> formatTime (localeFor lang) (formatStringFor lang) day
Nothing -> s
postCtx :: Maybe String -> Context String
postCtx :: String -> Context String
postCtx language =
let lang = fromMaybe "en" language
in
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.
dateField "date" "%e %B %Y" <>
constField "language" lang <>
langDict lang <>
constField "language" language <>
formattedDateField <>
langDict language <>
defaultContext
kitCtx :: Context String
kitCtx =
kitCtx :: String -> Context String
kitCtx language =
(field "formatted_purchase_date" $ \item -> do
metadata <- getMetadata (itemIdentifier item)
let purchaseDateValue = lookupString "purchase_date" metadata
return $ maybe "" formatDate purchaseDateValue
return $ maybe "" (formatDate language) purchaseDateValue
)
<> postCtx Nothing
<> (postCtx language)
isUpcoming :: UTCTime -> Item a -> Compiler Bool
isUpcoming cutoff item = do

View File

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

View File

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

View File

@ -5,46 +5,46 @@
</section>
<section>
<hr/>
Model information
<h2>$table-plamo-model-info$</h2>
<table class="table table-striped-columns">
$if(model_name)$
<tr><td>Model</td><td>$model_name$</td></tr>
<tr><td>$table-plamo-model$</td><td>$model_name$</td></tr>
$endif$
$if(scale)$
<tr><td>Scale</td><td>$scale$</td></tr>
<tr><td>$table-plamo-scale$</td><td>$scale$</td></tr>
$endif$
$if(series)$
<tr><td>Series</td><td>$series$</td></tr>
<tr><td>$table-plamo-series$</td><td>$series$</td></tr>
$endif$
$if(manufacturer)$
<tr><td>Manufacturer</td><td>$manufacturer$</td></tr>
<tr><td>$table-plamo-manufacturer$</td><td>$manufacturer$</td></tr>
$endif$
$if(release)$
<tr><td>Release year</td><td>$release$</td></tr>
<tr><td>$table-plamo-release-year$</td><td>$release$</td></tr>
$endif$
$if(number)$
<tr>
<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>
<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>
</tr>
$endif$
</table>
Purchase information
<h2>$table-plamo-purchase-information$</h2>
<table class="table table-striped-columns">
$if(purchase_date)$
<tr><td>Date</td><td>$formatted_purchase_date$</td></tr>
<tr><td>$table-plamo-date$</td><td>$formatted_purchase_date$</td></tr>
$endif$
$if(price)$
<tr><td>Price</td><td>$price$</td></tr>
<tr><td>$table-plamo-price$</td><td>$price$</td></tr>
$endif$
$if(purchase_store)$
<tr><td>Store</td><td>$purchase_store$</td></tr>
<tr><td>$table-plamo-store$</td><td>$purchase_store$</td></tr>
$endif$
$if(purchase_venue)$
<tr><td>Venue</td><td>$purchase_venue$</td></tr>
<tr><td>$table-plamo-venue$</td><td>$purchase_venue$</td></tr>
$endif$
$if(purchase_location)$
<tr><td>Location</td><td>$purchase_location$</td></tr>
<tr><td>$table-plamo-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: $date$</span>
<span class="text-body-secondary">Posted on: $formatted_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">$date$</em><br/>
<em class="text-body-secondary">$formatted_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> - $date$
<a href="$url$">$title$</a> - $formatted_date$
</li>
$endfor$
</ul>

View File

@ -1,6 +1,6 @@
<article>
<section class="header">
Posted on $date$
Posted on $formatted_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 $date$
Posted on $formatted_date$
</section>
<section>
$body$

View File

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