generate array of file time stamps for production
This commit is contained in:
parent
290a58fdb0
commit
a8b7f0d0db
5 changed files with 37 additions and 5 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
src/public/css/*.css
|
src/public/css/*.css
|
||||||
!src/public/css/prism.css
|
!src/public/css/prism.css
|
||||||
|
src/web/stamp.php
|
||||||
data
|
data
|
||||||
|
|
19
Makefile
19
Makefile
|
@ -3,18 +3,31 @@ MIXINS = $(shell find src/scss -name "_*.scss")
|
||||||
SCSS = $(shell find src/scss -name "*.scss" -not -name "_*")
|
SCSS = $(shell find src/scss -name "*.scss" -not -name "_*")
|
||||||
CSS = $(patsubst src/scss/%.scss,src/public/css/%.css,$(SCSS))
|
CSS = $(patsubst src/scss/%.scss,src/public/css/%.css,$(SCSS))
|
||||||
|
|
||||||
.PHONY: all css clean
|
.PHONY: all clean css stamp
|
||||||
|
|
||||||
css: $(CSS)
|
all: clean css stamp
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@# clean scss
|
||||||
@printf "\033[31m RM \033[0m%s\n" src/public/css
|
@printf "\033[31m RM \033[0m%s\n" src/public/css
|
||||||
@rm -f src/public/css/*.css
|
@rm -f src/public/css/*.css
|
||||||
|
@git stash -- src/public/css/prism.css > /dev/null
|
||||||
|
|
||||||
all: clean css
|
@# clean stamps
|
||||||
|
@printf "\033[31m RM \033[0m%s\n" src/web/stamp.php
|
||||||
|
@rm -f src/web/stamp.php
|
||||||
|
|
||||||
|
# =============================================== COMPILE SCSS ==
|
||||||
|
|
||||||
|
css: $(CSS)
|
||||||
|
|
||||||
$(CSS): src/public/css/%.css : src/scss/%.scss $(MIXINS)
|
$(CSS): src/public/css/%.css : src/scss/%.scss $(MIXINS)
|
||||||
@printf "\033[33m SCSS \033[0m%s\n" $<
|
@printf "\033[33m SCSS \033[0m%s\n" $<
|
||||||
@mkdir -p $(@D)
|
@mkdir -p $(@D)
|
||||||
@sassc --style compressed $< $@
|
@sassc --style compressed $< $@
|
||||||
|
|
||||||
|
# ============================================ GENERATE STAMPS ==
|
||||||
|
|
||||||
|
stamp:
|
||||||
|
@printf "\033[32m STMP \033[0m%s\n" src/web/stamp.php
|
||||||
|
@./build/stamp.sh
|
||||||
|
|
14
build/stamp.sh
Executable file
14
build/stamp.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
out="./src/web/stamp.php"
|
||||||
|
public="./src/public"
|
||||||
|
files=$(find "$public" -type f -printf %P\\n)
|
||||||
|
|
||||||
|
printf "<?php\n\$__stamps = array();\n" > "$out"
|
||||||
|
for file in $files; do
|
||||||
|
stamp=$(date +%s -r "$public/$file")
|
||||||
|
echo "\$__stamps['public/$file'] = $stamp;" >> "$out";
|
||||||
|
done
|
||||||
|
echo "define('FILE_TIMES', \$__stamps);" >> "$out"
|
||||||
|
echo "unset(\$__stamps);" >> "$out"
|
||||||
|
|
|
@ -25,8 +25,9 @@ abstract class Core {
|
||||||
{
|
{
|
||||||
if (ENVIRONMENT == 'devlopment')
|
if (ENVIRONMENT == 'devlopment')
|
||||||
return time();
|
return time();
|
||||||
$path = PHP_ROOT . '/' . $path;
|
if (isset(FILE_TIMES[$path]))
|
||||||
return @filemtime($path);
|
return FILE_TIMES[$path];
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -48,6 +48,9 @@ require(WEB_ROOT . '/core/controller.php');
|
||||||
require(WEB_ROOT . '/core/model.php');
|
require(WEB_ROOT . '/core/model.php');
|
||||||
require(WEB_ROOT . '/core/router.php');
|
require(WEB_ROOT . '/core/router.php');
|
||||||
|
|
||||||
|
// load file stamps
|
||||||
|
require(WEB_ROOT . '/stamp.php');
|
||||||
|
|
||||||
// ============================== START ==
|
// ============================== START ==
|
||||||
|
|
||||||
function __init() {
|
function __init() {
|
||||||
|
|
Loading…
Reference in a new issue