From ea3f6262834c2c8dd2b6f03182f6daffb4d07b29 Mon Sep 17 00:00:00 2001 From: Jan Krebs Date: Fri, 13 Dec 2019 14:18:53 +0100 Subject: [PATCH] "mob next [ci-skip]" --- src/cryogen_core/classpath_able_io.clj | 18 ++++++++++++++---- src/cryogen_core/compiler.clj | 7 +++++-- test/cryogen_core/classpath_able_io_test.clj | 2 +- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/cryogen_core/classpath_able_io.clj b/src/cryogen_core/classpath_able_io.clj index c06982e..db44ea8 100644 --- a/src/cryogen_core/classpath_able_io.clj +++ b/src/cryogen_core/classpath_able_io.clj @@ -10,6 +10,16 @@ (:require [clojure.java.io :as io] [clojure.string :as s])) +(def public "resources/public") + +(defn path + "Creates path from given parts, ignore empty elements" + [& path-parts] + (->> path-parts + (remove s/blank?) + (s/join "/") + (#(s/replace % #"/+" "/")))) + (defn filter-for-ignore-patterns [ignore-patterns source-list] (filter #(not (re-matches ignore-patterns %)) source-list)) @@ -75,8 +85,8 @@ (do-copy source-file target-file ignore-patterns)))) (defn copy-resources-from-theme - [fs-prefix theme target-path] + [fs-prefix theme target-path ignore-patterns] (let [theme-path (str "templates/themes/" theme)] - (copy-resources fs-prefix (str theme-path "/css") target-path "") - (copy-resources fs-prefix (str theme-path "/js") target-path "") - (copy-resources fs-prefix (str theme-path "/html/") target-path ""))) + (copy-resources fs-prefix (str theme-path "/css") target-path ignore-patterns) + (copy-resources fs-prefix (str theme-path "/js") target-path ignore-patterns) + (copy-resources fs-prefix (str theme-path "/html/") target-path ignore-patterns))) diff --git a/src/cryogen_core/compiler.clj b/src/cryogen_core/compiler.clj index f4dc4cf..5f21eb7 100644 --- a/src/cryogen_core/compiler.clj +++ b/src/cryogen_core/compiler.clj @@ -8,6 +8,7 @@ [selmer.util :refer [set-custom-resource-path!]] [text-decoration.core :refer :all] [cryogen-core.io :as cryogen-io] + [cryogen-core.classpath-able-io :as cp-io] [cryogen-core.klipse :as klipse] [cryogen-core.markup :as m] [cryogen-core.rss :as rss] @@ -533,8 +534,10 @@ (set-custom-resource-path! (str "file:resources/templates/themes/" theme)) (cryogen-io/wipe-public-folder keep-files) (println (blue "copying theme resources")) - ;; TODO: adjust for reading from jar - (cryogen-io/copy-resources-from-theme config) + (cp-io/copy-resources-from-theme "resources/templates/themes/" + theme + (cp-io/path "resources/public" blog-prefix) + ignored-files) (println (blue "copying resources")) (cryogen-io/copy-resources config) (copy-resources-from-markup-folders config) diff --git a/test/cryogen_core/classpath_able_io_test.clj b/test/cryogen_core/classpath_able_io_test.clj index 044c2f1..62170d2 100644 --- a/test/cryogen_core/classpath_able_io_test.clj +++ b/test/cryogen_core/classpath_able_io_test.clj @@ -42,7 +42,7 @@ (deftest test-copy-resources-from-theme (is (do - (sut/copy-resources-from-theme "./" theme target) + (sut/copy-resources-from-theme "./" theme target "") (and (verify-dir-exists (str target "/templates/themes/bootstrap4-test/js")) (verify-file-exists