Website redesign

This commit is contained in:
eikek
2022-01-27 20:23:15 +01:00
parent 3fc7f54f1a
commit 261d2af9bb
248 changed files with 3519 additions and 1484 deletions

View File

@ -2,6 +2,7 @@ package docspell.build
import sbt._
import sbt.Keys._
import sbt.nio.file.FileTreeView
import scala.sys.process._
object ZolaPlugin extends AutoPlugin {
@ -74,10 +75,12 @@ object ZolaPlugin extends AutoPlugin {
case Some(url) =>
Seq("--base-url", url)
case None =>
runYarnInstall("yarn", inDir.getParentFile, logger)
runElmCompile("elm", inDir.getParentFile, inDir, logger)
Seq.empty
}
runYarnInstall("yarn", inDir.getParentFile, logger)
runElmCompile("elm", inDir.getParentFile, inDir, logger)
runTailwind("npx", inDir.getParentFile, inDir, logger)
Cmd.run(
Seq(zolaCmd, "build", "-o", outDir.absolutePath.toString) ++ baseUrl,
inDir,
@ -106,4 +109,39 @@ object ZolaPlugin extends AutoPlugin {
logger
)
def runTailwind(npx: String, inDir: File, zolaRoot: File, logger: Logger): Unit = {
val fontTarget = zolaRoot / "static" / "files"
val iconTarget = zolaRoot / "static" / "webfonts"
IO.createDirectories(Seq(fontTarget, iconTarget))
val fontIn = Glob(inDir / "node_modules" / "@fontsource") / * / "files" / *
val fontInFiles = FileTreeView.default.list(fontIn).map(_._1.toFile())
logger.info(s"Copy ${fontInFiles.size} webfonts from node_modules to ${fontTarget}")
IO.copy(fontInFiles.pair(Path.flat(fontTarget)))
val iconIn =
Glob(inDir / "node_modules" / "@fortawesome" / "fontawesome-free" / "webfonts") / *
val iconInFiles = FileTreeView.default.list(iconIn).map(_._1.toFile())
logger.info(s"Copy ${iconInFiles.size} icons from node_modules to ${iconTarget}")
IO.copy(iconInFiles.pair(Path.flat(iconTarget)))
logger.info("Running tailwind…")
Cmd.run(
Seq(
npx,
"tailwindcss",
"-i",
(inDir / "styles" / "input.css").toString,
"-o",
(zolaRoot / "static" / "styles.css").toString,
"--config",
(inDir / "tailwind.config.js").toString,
"--postcss",
(inDir / "postcss.config.js").toString,
"--minify"
),
inDir,
logger
)
}
}