#+END_SRC
* Main SASS File
#+BEGIN_SRC sass :tangle site/style/main.sass
*
box-sizing : border-box
html
width : 100%
font-size : 110%
body
font-family : 'Linux Libertine', serif
padding : 2rem 5rem
main p,
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main ul,
main dl,
main ol,
header,
footer
max-width : 35rem
line-height : 140%
main h1,
main h2,
main h3,
main h4,
main h5,
main h6
font-weight : 400
header ul,
footer p
font-size : 90%
header ul
padding : 0
margin : 0
list-style-type : none
display : flex
gap : 1rem
main
padding-top : 2rem
padding-bottom : 2rem
footer img
border-radius : 100%
max-width : 7rem
float : right
margin-left : 1rem
margin-bottom : 1rem
pre
overflow-x : auto
code,
tt,
pre
font-family : 'Fira Code', monospace
font-size : 80%
line-height : 140%
#gallery
display : flex
flex-wrap : wrap
align-content : flex-start
img
max-width : 20rem
@import plugins
@import org
@import coq
#+END_SRC
* Build Instructions
The build instruction are pretty straightforward. We start by how to compile the
main CSS file.
#+BEGIN_SRC makefile :tangle theme.mk
SASS := $(wildcard site/style/*.sass)
MAIN_SASS := site/style/main.sass
CSS := $(MAIN_SASS:.sass=.css)
${CSS} : ${SASS}
@cleopatra echo Compiling "${CSS}"
@sassc --style=compressed --sass ${MAIN_SASS} ${CSS}
#+END_SRC
Since the HTML template does not need any particular processing, the
=theme-build= phase is only responsible for generating the main CSS file. The
[[./soupault.org][=soupault= build phase]] needs to start after the CSS file is
compiled (since it copies all relevant files to the ~build/~ directory), so we
explicit this dependency.
#+BEGIN_SRC makefile :tangle theme.mk
theme-build : ${CSS}
soupault-build : theme-build
#+END_SRC
Therefore, at the end of this generation process only one file has been
generated.
#+BEGIN_SRC makefile :tangle theme.mk
ARTIFACTS += ${CSS}
#+END_SRC