Compare commits
3 Commits
8059296e73
...
39e59c91af
| Author | SHA1 | Date | |
|---|---|---|---|
| 39e59c91af | |||
| 1eb9d2e24e | |||
| ae7cf0a117 |
@ -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.
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<article>
|
||||
<section class="header">
|
||||
Posted on $date$
|
||||
Posted on $formatted_date$
|
||||
$if(author)$
|
||||
by $author$
|
||||
$endif$
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<ul>
|
||||
$for(events)$
|
||||
<li>
|
||||
$date$ - <a href="$url$">$title$</a>
|
||||
$formatted_date$ - <a href="$url$">$title$</a>
|
||||
</li>
|
||||
$endfor$
|
||||
</ul>
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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/>
|
||||
|
||||
@ -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)$
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<ul>
|
||||
$for(posts)$
|
||||
<li>
|
||||
<a href="$url$">$title$</a> - $date$
|
||||
<a href="$url$">$title$</a> - $formatted_date$
|
||||
</li>
|
||||
$endfor$
|
||||
</ul>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<article>
|
||||
<section class="header">
|
||||
Posted on $date$
|
||||
Posted on $formatted_date$
|
||||
$if(author)$
|
||||
by $author$
|
||||
$endif$
|
||||
|
||||
@ -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$
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<ul>
|
||||
$for(posts)$
|
||||
<li>
|
||||
<a href="$url$">$title$</a> - $date$
|
||||
$formatted_date$ - <a href="$url$">$title$</a>
|
||||
</li>
|
||||
$endfor$
|
||||
</ul>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user