Browse Source

Simplify templates.

master
Justin Hsu 2 years ago
parent
commit
a11179a6ed
8 changed files with 110 additions and 133 deletions
  1. +21
    -33
      app/site.hs
  2. +0
    -11
      content/biblio.md
  3. +0
    -13
      content/body.md
  4. +1
    -1
      css/style.scss
  5. +88
    -22
      index.html
  6. +0
    -0
      templates/bibitem.html
  7. +0
    -3
      templates/biblisttpl.html
  8. +0
    -50
      templates/main.html

+ 21
- 33
app/site.hs View File

@@ -15,7 +15,7 @@ config = defaultConfiguration

--------------------------------------------------------------------------------
bibHeaders :: [(String, [String])]
bibHeaders = [ ("draft" , [ "-c", "$type='UNPUBLISHED'" ] ) ,
bibHeaders = [ ("drafts" , [ "-c", "$type='UNPUBLISHED'" ] ) ,
("thesis" , [ "-c", "$type='PHDTHESIS'" ] ) ,
("pubs" , [ "-c", "$type='INPROCEEDINGS' or $type='ARTICLE'" ] ) ]

@@ -70,31 +70,6 @@ main = hakyllWith config $ do
route $ setExtension "css"
compile $ compass

forM_ bibHeaders $ \(nick, flags) ->
create [fromCapture (fromGlob "bibs/*.html") nick] $ do
route idRoute
compile $
let biblioCtx = mconcat
[ field "bibitems" $ return . itemBody ] in do
bibTpl <- loadBody $ fromFilePath "templates/bibitemtpl.html"
(bib2bib flags)
>>= bib2bibParse
>>= applyTemplateList bibTpl bibEntryContext
>>= makeItem
>>= loadAndApplyTemplate (fromFilePath "templates/biblisttpl.html") biblioCtx
>>= relativizeUrls

match (fromGlob "content/biblio.md") $ do
route $ setExtension "html"
compile $ do
let makeBibCtx (nick, _) =
field nick (\_ -> loadBody $ fromFilePath ("bibs/" ++ nick ++ ".html"))
secDiv = defaultHakyllWriterOptions { writerSectionDivs = True }
biblioCtx = mconcat $ map makeBibCtx bibHeaders in do
pandocCompilerWith defaultHakyllReaderOptions secDiv
>>= applyAsTemplate biblioCtx
>>= relativizeUrls

match (fromGlob "content/*.md") $ do
route $ setExtension "html"
compile $ do
@@ -107,14 +82,27 @@ main = hakyllWith config $ do
compile $ do
let loadSec sec = field sec
(\_ -> loadBody (fromFilePath $ "content/" ++ sec ++ ".md"))
mainContext = mconcat $ fmap loadSec contentSections
indexContext =
field "footer" (\_ -> loadBody $ fromFilePath "content/footer.md")
`mappend`
defaultContext
makeBibCtx (nick, _) =
field nick (\_ -> loadBody $ fromFilePath ("bibs/" ++ nick ++ ".html"))
biblioContext = mconcat $ map makeBibCtx bibHeaders
indexContext = mconcat $ fmap loadSec contentSections
footerContext = field "footer" (\_ -> loadBody $ fromFilePath "content/footer.md")
getResourceBody
>>= applyAsTemplate mainContext
>>= loadAndApplyTemplate (fromFilePath "templates/main.html") indexContext
>>= applyAsTemplate (indexContext <> biblioContext <> footerContext <> defaultContext)
>>= relativizeUrls

forM_ bibHeaders $ \(nick, flags) ->
create [fromCapture (fromGlob "bibs/*.html") nick] $ do
route idRoute
compile $
let biblioCtx = mconcat
[ field "bibitems" $ return . itemBody ] in do
bibTpl <- loadBody $ fromFilePath "templates/bibitem.html"
(bib2bib flags)
>>= bib2bibParse
>>= applyTemplateList bibTpl bibEntryContext
>>= makeItem
>>= applyAsTemplate biblioCtx
>>= relativizeUrls

match (fromGlob "templates/*") $ compile templateCompiler

+ 0
- 11
content/biblio.md View File

@@ -1,11 +0,0 @@
## Drafts ##

\$draft\$

## Thesis ##

\$thesis\$

## Refereed Publications ##

\$pubs\$

+ 0
- 13
content/body.md View File

@@ -1,13 +0,0 @@
# About Me # {#card}
...

# Research Interests # {#card}
...

# Publications # {#card}

\$draft\$

\$confs\$

\$journal\$

+ 1
- 1
css/style.scss View File

@@ -192,7 +192,7 @@ body {
};
}

#drafts, #thesis, #refereed-publications {
#drafts, #thesis, #pubs {
padding: $text-pad;
}



+ 88
- 22
index.html View File

@@ -1,33 +1,99 @@
<div class="topbox" id="card">
<div class="bio-bar">
<div class="picture">
<img src="images/round.png" width="160" height="222">
</div>
<meta charset=utf-8>
<html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-33267683-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

<div class="contact">
$contacts$
</div>
gtag('config', 'UA-33267683-1');

var trackLink = function(label,url) {
gtag('event', 'click', {
'event_category': 'link',
'event_label': label,
'event_action': url,
'transport_type': 'beacon',
'event_callback': function(){document.location = url;}
});
}
</script>

<title> Justin Hsu </title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='https://fonts.googleapis.com/css?family=Roboto:500,300,300italic'
rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet'
type='text/css'>

</head>

<body>

<div class="container" id="flexed">
<div class="header">
<h1> Justin Hsu </h1>
</div>

<div class="about">
<div id="mini-header">
About Me
<div class="topbox" id="card">
<div class="bio-bar">
<div class="picture">
<img src="images/round.png" width="160" height="222">
</div>

<div class="contact">
$contacts$
</div>
</div>

$about$
<div class="about">
<div id="mini-header">
About Me
</div>

$about$
</div>
</div>
</div>

<div id="card">
<div id="mini-header-alt">
News
<div id="card">
<div id="mini-header-alt">
News
</div>
$news$
</div>
$news$
</div>

<div id="card">
<div id="mini-header">
Bibliography
<div id="card">
<div id="mini-header">
Bibliography
</div>
<section id="drafts">
<h2>Drafts</h2><p>
<table>
$drafts$
</table>
</section>
<section id="thesis">
<h2>Thesis</h2><p>
<table>
$thesis$
</table>
</section>
<section id="pubs">
<h2>Refereed Publications</h2><p>
<table>
$pubs$
</table>
</section>
</div>
$biblio$
</div>

<footer>
<small>
$footer$
</small>
</footer>
</body>
</html>

templates/bibitemtpl.html → templates/bibitem.html View File


+ 0
- 3
templates/biblisttpl.html View File

@@ -1,3 +0,0 @@
<table>
$bibitems$
</table>

+ 0
- 50
templates/main.html View File

@@ -1,50 +0,0 @@
<meta charset=utf-8>
<html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-33267683-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'UA-33267683-1');

var trackLink = function(label,url) {
gtag('event', 'click', {
'event_category': 'link',
'event_label': label,
'event_action': url,
'transport_type': 'beacon',
'event_callback': function(){document.location = url;}
});
}
</script>

<title> Justin Hsu </title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href='https://fonts.googleapis.com/css?family=Roboto:500,300,300italic'
rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet'
type='text/css'>

</head>

<body>

<div class="container" id="flexed">
<div class="header">
<h1> Justin Hsu </h1>
</div>

$body$

</div>
<footer>
<small>
$footer$
</small>
</footer>
</body>
</html>

Loading…
Cancel
Save