diff --git a/.direnv/bin/nix-direnv-reload b/.direnv/bin/nix-direnv-reload new file mode 100755 index 0000000..0c212a9 --- /dev/null +++ b/.direnv/bin/nix-direnv-reload @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +set -e +if [[ ! -d "/home/user/dev/adityakumar.xyz" ]]; then + echo "Cannot find source directory; Did you move it?" + echo "(Looking for "/home/user/dev/adityakumar.xyz")" + echo 'Cannot force reload with this script - use "direnv reload" manually and then try again' + exit 1 +fi + +# rebuild the cache forcefully +_nix_direnv_force_reload=1 direnv exec "/home/user/dev/adityakumar.xyz" true + +# Update the mtime for .envrc. +# This will cause direnv to reload again - but without re-building. +touch "/home/user/dev/adityakumar.xyz/.envrc" + +# Also update the timestamp of whatever profile_rc we have. +# This makes sure that we know we are up to date. +touch -r "/home/user/dev/adityakumar.xyz/.envrc" "/home/user/dev/adityakumar.xyz/.direnv"/*.rc diff --git a/.direnv/flake-inputs/vhq11h949l5zycaw07acphv53ifq4p2c-source b/.direnv/flake-inputs/vhq11h949l5zycaw07acphv53ifq4p2c-source new file mode 120000 index 0000000..11be9a8 --- /dev/null +++ b/.direnv/flake-inputs/vhq11h949l5zycaw07acphv53ifq4p2c-source @@ -0,0 +1 @@ +/nix/store/vhq11h949l5zycaw07acphv53ifq4p2c-source \ No newline at end of file diff --git a/.direnv/flake-inputs/y3mjdzrg0dxmgjsiwrd66n6lb55fglsb-source b/.direnv/flake-inputs/y3mjdzrg0dxmgjsiwrd66n6lb55fglsb-source new file mode 120000 index 0000000..2519953 --- /dev/null +++ b/.direnv/flake-inputs/y3mjdzrg0dxmgjsiwrd66n6lb55fglsb-source @@ -0,0 +1 @@ +/nix/store/y3mjdzrg0dxmgjsiwrd66n6lb55fglsb-source \ No newline at end of file diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa new file mode 120000 index 0000000..fbb8fe3 --- /dev/null +++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa @@ -0,0 +1 @@ +/nix/store/d5qmminadqhcs1825y0ik5vyr154ygvk-adityakumar.xyz-env \ No newline at end of file diff --git a/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc new file mode 100644 index 0000000..ece4c2d --- /dev/null +++ b/.direnv/flake-profile-a5d5b61aa8a61b7d9d765e1daf971a9a578f1cfa.rc @@ -0,0 +1,1838 @@ +unset shellHook +PATH=${PATH:-} +nix_saved_PATH="$PATH" +XDG_DATA_DIRS=${XDG_DATA_DIRS:-} +nix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS" +AR='ar' +export AR +AS='as' +export AS +BASH='/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin/bash' +CC='gcc' +export CC +CONFIG_SHELL='/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin/bash' +export CONFIG_SHELL +CXX='g++' +export CXX +HOSTTYPE='x86_64' +HOST_PATH='/nix/store/c9q4vx2q0l21bqch0sx2dsdyylpqwxki-hugo-0.111.3/bin:/nix/store/jzhlbzh5w9zibvilrh6pv9lf2d1iz55m-rsync-3.2.7/bin:/nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0/bin:/nix/store/ahkfdxq8mcpsb5kvdvgqr1wv8zjngbh4-coreutils-9.1/bin:/nix/store/4qrbfa42xyicny7vlgbbqxz07kcsjbx2-findutils-4.9.0/bin:/nix/store/6bcqajyagcc4s3azx0zqnb3rqxd7gdnv-diffutils-3.9/bin:/nix/store/gy82r5cf12hgkmhzifsyx3fp6cnf6j2l-gnused-4.9/bin:/nix/store/zrls4w5lxynqakh1jlrp03kg4bxzp9yi-gnugrep-3.7/bin:/nix/store/s3yl3l8na93v53k2cfsyz0jrb50bnk8n-gawk-5.2.1/bin:/nix/store/czy796d2241296bdy45w87cmaiig50zr-gnutar-1.34/bin:/nix/store/hdbb5ayyrz1b5hicbsb4am8vin0xxxg6-gzip-1.12/bin:/nix/store/hd573q7097cxj5q29pnc3z0rvakz7ga3-bzip2-1.0.8-bin/bin:/nix/store/nnis9ph3wj866bbs0lalbf22i5bq8yry-gnumake-4.4.1/bin:/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin:/nix/store/x4ckkjsxfl4ihl82v0bzsyxs4ay2d5b5-patch-2.7.6/bin:/nix/store/8xjzmhw6hgqmynb5f1v7aw2lvafij405-xz-5.4.3-bin/bin:/nix/store/lcjsmsxqwd4vkq2wj5mmbyjzny3i6k49-file-5.44/bin' +export HOST_PATH +IFS=' +' +IN_NIX_SHELL='impure' +export IN_NIX_SHELL +LD='ld' +export LD +LINENO='76' +MACHTYPE='x86_64-pc-linux-gnu' +NIX_BINTOOLS='/nix/store/rbwalnmk5a6nj9mbldxzmj11gvacbrsi-binutils-wrapper-2.40' +export NIX_BINTOOLS +NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' +export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_BUILD_CORES='4' +export NIX_BUILD_CORES +NIX_CC='/nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0' +export NIX_CC +NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu='1' +export NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_CFLAGS_COMPILE=' -frandom-seed=d5qmminadq -isystem /nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0/include -isystem /nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0/include' +export NIX_CFLAGS_COMPILE +NIX_ENFORCE_NO_NATIVE='1' +export NIX_ENFORCE_NO_NATIVE +NIX_HARDENING_ENABLE='fortify stackprotector pic strictoverflow format relro bindnow' +export NIX_HARDENING_ENABLE +NIX_LDFLAGS='-rpath /home/user/dev/adityakumar.xyz/outputs/out/lib64 -rpath /home/user/dev/adityakumar.xyz/outputs/out/lib ' +export NIX_LDFLAGS +NIX_LIB64_IN_SELF_RPATH='1' +NIX_NO_SELF_RPATH='1' +NIX_STORE='/nix/store' +export NIX_STORE +NM='nm' +export NM +NODE_PATH='/nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0/lib/node_modules' +export NODE_PATH +OBJCOPY='objcopy' +export OBJCOPY +OBJDUMP='objdump' +export OBJDUMP +OLDPWD='' +export OLDPWD +OPTERR='1' +OSTYPE='linux-gnu' +PATH='/nix/store/ywwjpdyhar4f3vcqf4qk77vrbr3vj5wl-patchelf-0.15.0/bin:/nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0/bin:/nix/store/dcd1zhv56rk0d2z7akzfjgzr076c4jl9-gcc-12.2.0/bin:/nix/store/lyvhsvwp2pzy74fkcn7qbs5vcgy5d7vl-glibc-2.37-8-bin/bin:/nix/store/ahkfdxq8mcpsb5kvdvgqr1wv8zjngbh4-coreutils-9.1/bin:/nix/store/rbwalnmk5a6nj9mbldxzmj11gvacbrsi-binutils-wrapper-2.40/bin:/nix/store/22p5nv7fbxhm06mfkwwnibv1nsz06x4b-binutils-2.40/bin:/nix/store/c9q4vx2q0l21bqch0sx2dsdyylpqwxki-hugo-0.111.3/bin:/nix/store/jzhlbzh5w9zibvilrh6pv9lf2d1iz55m-rsync-3.2.7/bin:/nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0/bin:/nix/store/ahkfdxq8mcpsb5kvdvgqr1wv8zjngbh4-coreutils-9.1/bin:/nix/store/4qrbfa42xyicny7vlgbbqxz07kcsjbx2-findutils-4.9.0/bin:/nix/store/6bcqajyagcc4s3azx0zqnb3rqxd7gdnv-diffutils-3.9/bin:/nix/store/gy82r5cf12hgkmhzifsyx3fp6cnf6j2l-gnused-4.9/bin:/nix/store/zrls4w5lxynqakh1jlrp03kg4bxzp9yi-gnugrep-3.7/bin:/nix/store/s3yl3l8na93v53k2cfsyz0jrb50bnk8n-gawk-5.2.1/bin:/nix/store/czy796d2241296bdy45w87cmaiig50zr-gnutar-1.34/bin:/nix/store/hdbb5ayyrz1b5hicbsb4am8vin0xxxg6-gzip-1.12/bin:/nix/store/hd573q7097cxj5q29pnc3z0rvakz7ga3-bzip2-1.0.8-bin/bin:/nix/store/nnis9ph3wj866bbs0lalbf22i5bq8yry-gnumake-4.4.1/bin:/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin:/nix/store/x4ckkjsxfl4ihl82v0bzsyxs4ay2d5b5-patch-2.7.6/bin:/nix/store/8xjzmhw6hgqmynb5f1v7aw2lvafij405-xz-5.4.3-bin/bin:/nix/store/lcjsmsxqwd4vkq2wj5mmbyjzny3i6k49-file-5.44/bin' +export PATH +PS4='+ ' +RANLIB='ranlib' +export RANLIB +READELF='readelf' +export READELF +SIZE='size' +export SIZE +SOURCE_DATE_EPOCH='315532800' +export SOURCE_DATE_EPOCH +STRINGS='strings' +export STRINGS +STRIP='strip' +export STRIP +XDG_DATA_DIRS='/nix/store/ywwjpdyhar4f3vcqf4qk77vrbr3vj5wl-patchelf-0.15.0/share' +export XDG_DATA_DIRS +__structuredAttrs='' +export __structuredAttrs +buildInputs='/nix/store/c9q4vx2q0l21bqch0sx2dsdyylpqwxki-hugo-0.111.3 /nix/store/jzhlbzh5w9zibvilrh6pv9lf2d1iz55m-rsync-3.2.7 /nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0' +export buildInputs +buildPhase='hugo server' +export buildPhase +builder='/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin/bash' +export builder +cmakeFlags='' +export cmakeFlags +configureFlags='' +export configureFlags +defaultBuildInputs='' +defaultNativeBuildInputs='/nix/store/ywwjpdyhar4f3vcqf4qk77vrbr3vj5wl-patchelf-0.15.0 /nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh /nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh /nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh /nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh /nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh /nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh /nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh /nix/store/bxsly8a56yb8kyrq03s82a3vyc8fqrb3-multiple-outputs.sh /nix/store/nf1lkdrhapsx5lr6diyxyjr7pb7r20gr-patch-shebangs.sh /nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh /nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh /nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh /nix/store/a9ndjg0b1ivi0av9m93vfkrndp7fqbw1-strip.sh /nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0' +depsBuildBuild='' +export depsBuildBuild +depsBuildBuildPropagated='' +export depsBuildBuildPropagated +depsBuildTarget='' +export depsBuildTarget +depsBuildTargetPropagated='' +export depsBuildTargetPropagated +depsHostHost='' +export depsHostHost +depsHostHostPropagated='' +export depsHostHostPropagated +depsTargetTarget='' +export depsTargetTarget +depsTargetTargetPropagated='' +export depsTargetTargetPropagated +doCheck='' +export doCheck +doInstallCheck='' +export doInstallCheck +dontAddDisableDepTrack='1' +export dontAddDisableDepTrack +declare -a envBuildBuildHooks=() +declare -a envBuildHostHooks=() +declare -a envBuildTargetHooks=() +declare -a envHostHostHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'addNodePath' ) +declare -a envHostTargetHooks=('ccWrapper_addCVars' 'bintoolsWrapper_addLDVars' 'addNodePath' ) +declare -a envTargetTargetHooks=() +declare -a fixupOutputHooks=('if [ -z "${dontPatchELF-}" ]; then patchELF "$prefix"; fi' 'if [[ -z "${noAuditTmpdir-}" && -e "$prefix" ]]; then auditTmpdir "$prefix"; fi' 'if [ -z "${dontGzipMan-}" ]; then compressManPages "$prefix"; fi' '_moveLib64' '_moveSbin' '_moveSystemdUserUnits' 'patchShebangsAuto' '_pruneLibtoolFiles' '_doStrip' ) +guess='4' +initialPath='/nix/store/ahkfdxq8mcpsb5kvdvgqr1wv8zjngbh4-coreutils-9.1 /nix/store/4qrbfa42xyicny7vlgbbqxz07kcsjbx2-findutils-4.9.0 /nix/store/6bcqajyagcc4s3azx0zqnb3rqxd7gdnv-diffutils-3.9 /nix/store/gy82r5cf12hgkmhzifsyx3fp6cnf6j2l-gnused-4.9 /nix/store/zrls4w5lxynqakh1jlrp03kg4bxzp9yi-gnugrep-3.7 /nix/store/s3yl3l8na93v53k2cfsyz0jrb50bnk8n-gawk-5.2.1 /nix/store/czy796d2241296bdy45w87cmaiig50zr-gnutar-1.34 /nix/store/hdbb5ayyrz1b5hicbsb4am8vin0xxxg6-gzip-1.12 /nix/store/hd573q7097cxj5q29pnc3z0rvakz7ga3-bzip2-1.0.8-bin /nix/store/nnis9ph3wj866bbs0lalbf22i5bq8yry-gnumake-4.4.1 /nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15 /nix/store/x4ckkjsxfl4ihl82v0bzsyxs4ay2d5b5-patch-2.7.6 /nix/store/8xjzmhw6hgqmynb5f1v7aw2lvafij405-xz-5.4.3-bin /nix/store/lcjsmsxqwd4vkq2wj5mmbyjzny3i6k49-file-5.44' +installPhase='./deploy.sh' +export installPhase +mesonFlags='' +export mesonFlags +name='adityakumar.xyz-env' +export name +nativeBuildInputs='' +export nativeBuildInputs +out='/home/user/dev/adityakumar.xyz/outputs/out' +export out +outputBin='out' +outputDev='out' +outputDevdoc='REMOVE' +outputDevman='out' +outputDoc='out' +outputInclude='out' +outputInfo='out' +outputLib='out' +outputMan='out' +outputs='out' +export outputs +patches='' +export patches +pkg='/nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0' +declare -a pkgsBuildBuild=() +declare -a pkgsBuildHost=('/nix/store/ywwjpdyhar4f3vcqf4qk77vrbr3vj5wl-patchelf-0.15.0' '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh' '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh' '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh' '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh' '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh' '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh' '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh' '/nix/store/bxsly8a56yb8kyrq03s82a3vyc8fqrb3-multiple-outputs.sh' '/nix/store/nf1lkdrhapsx5lr6diyxyjr7pb7r20gr-patch-shebangs.sh' '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh' '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh' '/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh' '/nix/store/a9ndjg0b1ivi0av9m93vfkrndp7fqbw1-strip.sh' '/nix/store/7wkshj58fcsl1f3zyi67qsxgl1p8nki1-gcc-wrapper-12.2.0' '/nix/store/rbwalnmk5a6nj9mbldxzmj11gvacbrsi-binutils-wrapper-2.40' ) +declare -a pkgsBuildTarget=() +declare -a pkgsHostHost=() +declare -a pkgsHostTarget=('/nix/store/c9q4vx2q0l21bqch0sx2dsdyylpqwxki-hugo-0.111.3' '/nix/store/jzhlbzh5w9zibvilrh6pv9lf2d1iz55m-rsync-3.2.7' '/nix/store/hdwy8j1jvj2d68p449vvpf5j4mrgzldi-nodejs-18.16.0' ) +declare -a pkgsTargetTarget=() +declare -a postFixupHooks=('_makeSymlinksRelativeInAllOutputs' '_multioutPropagateDev' ) +declare -a postUnpackHooks=('_updateSourceDateEpochFromSourceRoot' ) +declare -a preConfigureHooks=('_multioutConfig' ) +declare -a preFixupHooks=('_moveToShare' '_multioutDocs' '_multioutDevs' ) +prefix='/home/user/dev/adityakumar.xyz/outputs/out' +declare -a propagatedBuildDepFiles=('propagated-build-build-deps' 'propagated-native-build-inputs' 'propagated-build-target-deps' ) +propagatedBuildInputs='' +export propagatedBuildInputs +declare -a propagatedHostDepFiles=('propagated-host-host-deps' 'propagated-build-inputs' ) +propagatedNativeBuildInputs='' +export propagatedNativeBuildInputs +declare -a propagatedTargetDepFiles=('propagated-target-target-deps' ) +shell='/nix/store/rhvbjmcfnkg8i2dxpzr114cp1ws7f667-bash-5.2-p15/bin/bash' +export shell +src='/nix/store/y3mjdzrg0dxmgjsiwrd66n6lb55fglsb-source' +export src +stdenv='/nix/store/37p8gq9zijbw6pj3lpi1ckqiv18j2g62-stdenv-linux' +export stdenv +strictDeps='' +export strictDeps +system='x86_64-linux' +export system +declare -a unpackCmdHooks=('_defaultUnpack' ) +_accumFlagsArray () +{ + + local name; + if [ -n "$__structuredAttrs" ]; then + for name in "$@"; + do + local -n nameref="$name"; + flagsArray+=(${nameref+"${nameref[@]}"}); + done; + else + for name in "$@"; + do + local -n nameref="$name"; + case "$name" in + *Array) + flagsArray+=(${nameref+"${nameref[@]}"}) + ;; + *) + flagsArray+=(${nameref-}) + ;; + esac; + done; + fi +} +_activatePkgs () +{ + + local hostOffset targetOffset; + local pkg; + for hostOffset in "${allPlatOffsets[@]}"; + do + local pkgsVar="${pkgAccumVarVars[hostOffset + 1]}"; + for targetOffset in "${allPlatOffsets[@]}"; + do + (( hostOffset <= targetOffset )) || continue; + local pkgsRef="${pkgsVar}[$targetOffset - $hostOffset]"; + local pkgsSlice="${!pkgsRef}[@]"; + for pkg in ${!pkgsSlice+"${!pkgsSlice}"}; + do + activatePackage "$pkg" "$hostOffset" "$targetOffset"; + done; + done; + done +} +_addRpathPrefix () +{ + + if [ "${NIX_NO_SELF_RPATH:-0}" != 1 ]; then + export NIX_LDFLAGS="-rpath $1/lib ${NIX_LDFLAGS-}"; + if [ -n "${NIX_LIB64_IN_SELF_RPATH:-}" ]; then + export NIX_LDFLAGS="-rpath $1/lib64 ${NIX_LDFLAGS-}"; + fi; + if [ -n "${NIX_LIB32_IN_SELF_RPATH:-}" ]; then + export NIX_LDFLAGS="-rpath $1/lib32 ${NIX_LDFLAGS-}"; + fi; + fi +} +_addToEnv () +{ + + local depHostOffset depTargetOffset; + local pkg; + for depHostOffset in "${allPlatOffsets[@]}"; + do + local hookVar="${pkgHookVarVars[depHostOffset + 1]}"; + local pkgsVar="${pkgAccumVarVars[depHostOffset + 1]}"; + for depTargetOffset in "${allPlatOffsets[@]}"; + do + (( depHostOffset <= depTargetOffset )) || continue; + local hookRef="${hookVar}[$depTargetOffset - $depHostOffset]"; + if [[ -z "${strictDeps-}" ]]; then + local visitedPkgs=""; + for pkg in "${pkgsBuildBuild[@]}" "${pkgsBuildHost[@]}" "${pkgsBuildTarget[@]}" "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}" "${pkgsTargetTarget[@]}"; + do + if [[ "$visitedPkgs" = *"$pkg"* ]]; then + continue; + fi; + runHook "${!hookRef}" "$pkg"; + visitedPkgs+=" $pkg"; + done; + else + local pkgsRef="${pkgsVar}[$depTargetOffset - $depHostOffset]"; + local pkgsSlice="${!pkgsRef}[@]"; + for pkg in ${!pkgsSlice+"${!pkgsSlice}"}; + do + runHook "${!hookRef}" "$pkg"; + done; + fi; + done; + done +} +_allFlags () +{ + + export system pname name version; + for varName in $(awk 'BEGIN { for (v in ENVIRON) if (v ~ /^[a-z][a-zA-Z0-9_]*$/) print v }'); + do + if (( "${NIX_DEBUG:-0}" >= 1 )); then + printf "@%s@ -> %q\n" "${varName}" "${!varName}"; + fi; + args+=("--subst-var" "$varName"); + done +} +_assignFirst () +{ + + local varName="$1"; + local _var; + local REMOVE=REMOVE; + shift; + for _var in "$@"; + do + if [ -n "${!_var-}" ]; then + eval "${varName}"="${_var}"; + return; + fi; + done; + echo; + echo "error: _assignFirst: could not find a non-empty variable whose name to assign to ${varName}."; + echo " The following variables were all unset or empty:"; + echo " $*"; + if [ -z "${out:-}" ]; then + echo ' If you do not want an "out" output in your derivation, make sure to define'; + echo ' the other specific required outputs. This can be achieved by picking one'; + echo " of the above as an output."; + echo ' You do not have to remove "out" if you want to have a different default'; + echo ' output, because the first output is taken as a default.'; + echo; + fi; + return 1 +} +_callImplicitHook () +{ + + local def="$1"; + local hookName="$2"; + if declare -F "$hookName" > /dev/null; then + "$hookName"; + else + if type -p "$hookName" > /dev/null; then + source "$hookName"; + else + if [ -n "${!hookName:-}" ]; then + eval "${!hookName}"; + else + return "$def"; + fi; + fi; + fi +} +_defaultUnpack () +{ + + local fn="$1"; + local destination; + if [ -d "$fn" ]; then + destination="$(stripHash "$fn")"; + if [ -e "$destination" ]; then + echo "Cannot copy $fn to $destination: destination already exists!"; + echo "Did you specify two \"srcs\" with the same \"name\"?"; + return 1; + fi; + cp -pr --reflink=auto -- "$fn" "$destination"; + else + case "$fn" in + *.tar.xz | *.tar.lzma | *.txz) + xz -d < "$fn" | tar xf - --warning=no-timestamp + ;; + *.tar | *.tar.* | *.tgz | *.tbz2 | *.tbz) + tar xf "$fn" --warning=no-timestamp + ;; + *) + return 1 + ;; + esac; + fi +} +_doStrip () +{ + + local -ra flags=(dontStripHost dontStripTarget); + local -ra debugDirs=(stripDebugList stripDebugListTarget); + local -ra allDirs=(stripAllList stripAllListTarget); + local -ra stripCmds=(STRIP STRIP_FOR_TARGET); + local -ra ranlibCmds=(RANLIB RANLIB_FOR_TARGET); + stripDebugList=${stripDebugList[*]:-lib lib32 lib64 libexec bin sbin}; + stripDebugListTarget=${stripDebugListTarget[*]:-}; + stripAllList=${stripAllList[*]:-}; + stripAllListTarget=${stripAllListTarget[*]:-}; + local i; + for i in ${!stripCmds[@]}; + do + local -n flag="${flags[$i]}"; + local -n debugDirList="${debugDirs[$i]}"; + local -n allDirList="${allDirs[$i]}"; + local -n stripCmd="${stripCmds[$i]}"; + local -n ranlibCmd="${ranlibCmds[$i]}"; + if [[ -n "${dontStrip-}" || -n "${flag-}" ]] || ! type -f "${stripCmd-}" 2> /dev/null 1>&2; then + continue; + fi; + stripDirs "$stripCmd" "$ranlibCmd" "$debugDirList" "${stripDebugFlags[*]:--S -p}"; + stripDirs "$stripCmd" "$ranlibCmd" "$allDirList" "${stripAllFlags[*]:--s -p}"; + done +} +_eval () +{ + + if declare -F "$1" > /dev/null 2>&1; then + "$@"; + else + eval "$1"; + fi +} +_makeSymlinksRelative () +{ + + local symlinkTarget; + if [ "${dontRewriteSymlinks-}" ] || [ ! -e "$prefix" ]; then + return; + fi; + while IFS= read -r -d '' f; do + symlinkTarget=$(readlink "$f"); + if [[ "$symlinkTarget"/ != "$prefix"/* ]]; then + continue; + fi; + if [ ! -e "$symlinkTarget" ]; then + echo "the symlink $f is broken, it points to $symlinkTarget (which is missing)"; + fi; + echo "rewriting symlink $f to be relative to $prefix"; + ln -snrf "$symlinkTarget" "$f"; + done < <(find $prefix -type l -print0) +} +_makeSymlinksRelativeInAllOutputs () +{ + + local output; + for output in $(getAllOutputNames); + do + prefix="${!output}" _makeSymlinksRelative; + done +} +_moveLib64 () +{ + + if [ "${dontMoveLib64-}" = 1 ]; then + return; + fi; + if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then + return; + fi; + echo "moving $prefix/lib64/* to $prefix/lib"; + mkdir -p $prefix/lib; + shopt -s dotglob; + for i in $prefix/lib64/*; + do + mv --no-clobber "$i" $prefix/lib; + done; + shopt -u dotglob; + rmdir $prefix/lib64; + ln -s lib $prefix/lib64 +} +_moveSbin () +{ + + if [ "${dontMoveSbin-}" = 1 ]; then + return; + fi; + if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then + return; + fi; + echo "moving $prefix/sbin/* to $prefix/bin"; + mkdir -p $prefix/bin; + shopt -s dotglob; + for i in $prefix/sbin/*; + do + mv "$i" $prefix/bin; + done; + shopt -u dotglob; + rmdir $prefix/sbin; + ln -s bin $prefix/sbin +} +_moveSystemdUserUnits () +{ + + if [ "${dontMoveSystemdUserUnits:-0}" = 1 ]; then + return; + fi; + if [ ! -e "${prefix:?}/lib/systemd/user" ]; then + return; + fi; + local source="$prefix/lib/systemd/user"; + local target="$prefix/share/systemd/user"; + echo "moving $source/* to $target"; + mkdir -p "$target"; + ( shopt -s dotglob; + for i in "$source"/*; + do + mv "$i" "$target"; + done ); + rmdir "$source"; + ln -s "$target" "$source" +} +_moveToShare () +{ + + if [ -n "$__structuredAttrs" ]; then + if [ -z "${forceShare-}" ]; then + forceShare=(man doc info); + fi; + else + forceShare=(${forceShare:-man doc info}); + fi; + if [[ -z "$out" ]]; then + return; + fi; + for d in "${forceShare[@]}"; + do + if [ -d "$out/$d" ]; then + if [ -d "$out/share/$d" ]; then + echo "both $d/ and share/$d/ exist!"; + else + echo "moving $out/$d to $out/share/$d"; + mkdir -p $out/share; + mv $out/$d $out/share/; + fi; + fi; + done +} +_multioutConfig () +{ + + if [ "$(getAllOutputNames)" = "out" ] || [ -z "${setOutputFlags-1}" ]; then + return; + fi; + if [ -z "$shareDocName" ]; then + local confScript="$configureScript"; + if [ -z "$confScript" ] && [ -x ./configure ]; then + confScript=./configure; + fi; + if [ -f "$confScript" ]; then + local shareDocName="$(sed -n "s/^PACKAGE_TARNAME='\(.*\)'$/\1/p" < "$confScript")"; + fi; + if [ -z "$shareDocName" ] || echo "$shareDocName" | grep -q '[^a-zA-Z0-9_-]'; then + shareDocName="$(echo "$name" | sed 's/-[^a-zA-Z].*//')"; + fi; + fi; + prependToVar configureFlags --bindir="${!outputBin}"/bin --sbindir="${!outputBin}"/sbin --includedir="${!outputInclude}"/include --oldincludedir="${!outputInclude}"/include --mandir="${!outputMan}"/share/man --infodir="${!outputInfo}"/share/info --docdir="${!outputDoc}"/share/doc/"${shareDocName}" --libdir="${!outputLib}"/lib --libexecdir="${!outputLib}"/libexec --localedir="${!outputLib}"/share/locale; + prependToVar installFlags pkgconfigdir="${!outputDev}"/lib/pkgconfig m4datadir="${!outputDev}"/share/aclocal aclocaldir="${!outputDev}"/share/aclocal +} +_multioutDevs () +{ + + if [ "$(getAllOutputNames)" = "out" ] || [ -z "${moveToDev-1}" ]; then + return; + fi; + moveToOutput include "${!outputInclude}"; + moveToOutput lib/pkgconfig "${!outputDev}"; + moveToOutput share/pkgconfig "${!outputDev}"; + moveToOutput lib/cmake "${!outputDev}"; + moveToOutput share/aclocal "${!outputDev}"; + for f in "${!outputDev}"/{lib,share}/pkgconfig/*.pc; + do + echo "Patching '$f' includedir to output ${!outputInclude}"; + sed -i "/^includedir=/s,=\${prefix},=${!outputInclude}," "$f"; + done +} +_multioutDocs () +{ + + local REMOVE=REMOVE; + moveToOutput share/info "${!outputInfo}"; + moveToOutput share/doc "${!outputDoc}"; + moveToOutput share/gtk-doc "${!outputDevdoc}"; + moveToOutput share/devhelp/books "${!outputDevdoc}"; + moveToOutput share/man "${!outputMan}"; + moveToOutput share/man/man3 "${!outputDevman}" +} +_multioutPropagateDev () +{ + + if [ "$(getAllOutputNames)" = "out" ]; then + return; + fi; + local outputFirst; + for outputFirst in $(getAllOutputNames); + do + break; + done; + local propagaterOutput="$outputDev"; + if [ -z "$propagaterOutput" ]; then + propagaterOutput="$outputFirst"; + fi; + if [ -z "${propagatedBuildOutputs+1}" ]; then + local po_dirty="$outputBin $outputInclude $outputLib"; + set +o pipefail; + propagatedBuildOutputs=`echo "$po_dirty" | tr -s ' ' '\n' | grep -v -F "$propagaterOutput" | sort -u | tr '\n' ' ' `; + set -o pipefail; + fi; + if [ -z "$propagatedBuildOutputs" ]; then + return; + fi; + mkdir -p "${!propagaterOutput}"/nix-support; + for output in $propagatedBuildOutputs; + do + echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/propagated-build-inputs; + done +} +_overrideFirst () +{ + + if [ -z "${!1-}" ]; then + _assignFirst "$@"; + fi +} +_pruneLibtoolFiles () +{ + + if [ "${dontPruneLibtoolFiles-}" ] || [ ! -e "$prefix" ]; then + return; + fi; + find "$prefix" -type f -name '*.la' -exec grep -q '^# Generated by .*libtool' {} \; -exec grep -q "^old_library=''" {} \; -exec sed -i {} -e "/^dependency_libs='[^']/ c dependency_libs='' #pruned" \; +} +_updateSourceDateEpochFromSourceRoot () +{ + + if [ -n "$sourceRoot" ]; then + updateSourceDateEpoch "$sourceRoot"; + fi +} +activatePackage () +{ + + local pkg="$1"; + local -r hostOffset="$2"; + local -r targetOffset="$3"; + (( hostOffset <= targetOffset )) || exit 1; + if [ -f "$pkg" ]; then + source "$pkg"; + fi; + if [[ -z "${strictDeps-}" || "$hostOffset" -le -1 ]]; then + addToSearchPath _PATH "$pkg/bin"; + fi; + if (( hostOffset <= -1 )); then + addToSearchPath _XDG_DATA_DIRS "$pkg/share"; + fi; + if [[ "$hostOffset" -eq 0 && -d "$pkg/bin" ]]; then + addToSearchPath _HOST_PATH "$pkg/bin"; + fi; + if [[ -f "$pkg/nix-support/setup-hook" ]]; then + source "$pkg/nix-support/setup-hook"; + fi +} +addEnvHooks () +{ + + local depHostOffset="$1"; + shift; + local pkgHookVarsSlice="${pkgHookVarVars[$depHostOffset + 1]}[@]"; + local pkgHookVar; + for pkgHookVar in "${!pkgHookVarsSlice}"; + do + eval "${pkgHookVar}s"'+=("$@")'; + done +} +addNodePath () +{ + + addToSearchPath NODE_PATH "$1/lib/node_modules" +} +addToSearchPath () +{ + + addToSearchPathWithCustomDelimiter ":" "$@" +} +addToSearchPathWithCustomDelimiter () +{ + + local delimiter="$1"; + local varName="$2"; + local dir="$3"; + if [[ -d "$dir" && "${!varName:+${delimiter}${!varName}${delimiter}}" != *"${delimiter}${dir}${delimiter}"* ]]; then + export "${varName}=${!varName:+${!varName}${delimiter}}${dir}"; + fi +} +appendToVar () +{ + + local -n nameref="$1"; + local useArray type; + if [ -n "$__structuredAttrs" ]; then + useArray=true; + else + useArray=false; + fi; + if declare -p "$1" 2> /dev/null | grep -q '^'; then + type="$(declare -p "$1")"; + if [[ "$type" =~ "declare -A" ]]; then + echo "appendToVar(): ERROR: trying to use appendToVar on an associative array, use variable+=([\"X\"]=\"Y\") instead." 1>&2; + return 1; + else + if [[ "$type" =~ "declare -a" ]]; then + useArray=true; + else + useArray=false; + fi; + fi; + fi; + shift; + if $useArray; then + nameref=(${nameref+"${nameref[@]}"} "$@"); + else + nameref="${nameref-} $*"; + fi +} +auditTmpdir () +{ + + local dir="$1"; + [ -e "$dir" ] || return 0; + echo "checking for references to $TMPDIR/ in $dir..."; + local i; + find "$dir" -type f -print0 | while IFS= read -r -d '' i; do + if [[ "$i" =~ .build-id ]]; then + continue; + fi; + if isELF "$i"; then + if { + printf :; + patchelf --print-rpath "$i" + } | grep -q -F ":$TMPDIR/"; then + echo "RPATH of binary $i contains a forbidden reference to $TMPDIR/"; + exit 1; + fi; + fi; + if isScript "$i"; then + if [ -e "$(dirname "$i")/.$(basename "$i")-wrapped" ]; then + if grep -q -F "$TMPDIR/" "$i"; then + echo "wrapper script $i contains a forbidden reference to $TMPDIR/"; + exit 1; + fi; + fi; + fi; + done +} +bintoolsWrapper_addLDVars () +{ + + local role_post; + getHostRoleEnvHook; + if [[ -d "$1/lib64" && ! -L "$1/lib64" ]]; then + export NIX_LDFLAGS${role_post}+=" -L$1/lib64"; + fi; + if [[ -d "$1/lib" ]]; then + local -a glob=($1/lib/lib*); + if [ "${#glob[*]}" -gt 0 ]; then + export NIX_LDFLAGS${role_post}+=" -L$1/lib"; + fi; + fi +} +buildPhase () +{ + + runHook preBuild; + if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then + echo "no Makefile or custom buildPhase, doing nothing"; + else + foundMakefile=1; + local flagsArray=(${enableParallelBuilding:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); + _accumFlagsArray makeFlags makeFlagsArray buildFlags buildFlagsArray; + echoCmd 'build flags' "${flagsArray[@]}"; + make ${makefile:+-f $makefile} "${flagsArray[@]}"; + unset flagsArray; + fi; + runHook postBuild +} +ccWrapper_addCVars () +{ + + local role_post; + getHostRoleEnvHook; + if [ -d "$1/include" ]; then + export NIX_CFLAGS_COMPILE${role_post}+=" -isystem $1/include"; + fi; + if [ -d "$1/Library/Frameworks" ]; then + export NIX_CFLAGS_COMPILE${role_post}+=" -iframework $1/Library/Frameworks"; + fi +} +checkPhase () +{ + + runHook preCheck; + if [[ -z "${foundMakefile:-}" ]]; then + echo "no Makefile or custom checkPhase, doing nothing"; + runHook postCheck; + return; + fi; + if [[ -z "${checkTarget:-}" ]]; then + if make -n ${makefile:+-f $makefile} check > /dev/null 2>&1; then + checkTarget=check; + else + if make -n ${makefile:+-f $makefile} test > /dev/null 2>&1; then + checkTarget=test; + fi; + fi; + fi; + if [[ -z "${checkTarget:-}" ]]; then + echo "no check/test target in ${makefile:-Makefile}, doing nothing"; + else + local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); + _accumFlagsArray makeFlags makeFlagsArray; + if [ -n "$__structuredAttrs" ]; then + flagsArray+=("${checkFlags[@]:-VERBOSE=y}"); + else + flagsArray+=(${checkFlags:-VERBOSE=y}); + fi; + _accumFlagsArray checkFlagsArray; + flagsArray+=(${checkTarget}); + echoCmd 'check flags' "${flagsArray[@]}"; + make ${makefile:+-f $makefile} "${flagsArray[@]}"; + unset flagsArray; + fi; + runHook postCheck +} +compressManPages () +{ + + local dir="$1"; + if [ -L "$dir"/share ] || [ -L "$dir"/share/man ] || [ ! -d "$dir/share/man" ]; then + return; + fi; + echo "gzipping man pages under $dir/share/man/"; + find "$dir"/share/man/ -type f -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 | while IFS= read -r -d '' f; do + if gzip -c -n "$f" > "$f".gz; then + rm "$f"; + else + rm "$f".gz; + fi; + done; + find "$dir"/share/man/ -type l -a '!' -regex '.*\.\(bz2\|gz\|xz\)$' -print0 | sort -z | while IFS= read -r -d '' f; do + local target; + target="$(readlink -f "$f")"; + if [ -f "$target".gz ]; then + ln -sf "$target".gz "$f".gz && rm "$f"; + fi; + done +} +configurePhase () +{ + + runHook preConfigure; + : "${configureScript=}"; + if [[ -z "$configureScript" && -x ./configure ]]; then + configureScript=./configure; + fi; + if [ -z "${dontFixLibtool:-}" ]; then + export lt_cv_deplibs_check_method="${lt_cv_deplibs_check_method-pass_all}"; + local i; + find . -iname "ltmain.sh" -print0 | while IFS='' read -r -d '' i; do + echo "fixing libtool script $i"; + fixLibtool "$i"; + done; + CONFIGURE_MTIME_REFERENCE=$(mktemp configure.mtime.reference.XXXXXX); + find . -executable -type f -name configure -exec grep -l 'GNU Libtool is free software; you can redistribute it and/or modify' {} \; -exec touch -r {} "$CONFIGURE_MTIME_REFERENCE" \; -exec sed -i s_/usr/bin/file_file_g {} \; -exec touch -r "$CONFIGURE_MTIME_REFERENCE" {} \;; + rm -f "$CONFIGURE_MTIME_REFERENCE"; + fi; + if [[ -z "${dontAddPrefix:-}" && -n "$prefix" ]]; then + prependToVar configureFlags "${prefixKey:---prefix=}$prefix"; + fi; + if [[ -f "$configureScript" ]]; then + if [ -z "${dontAddDisableDepTrack:-}" ]; then + if grep -q dependency-tracking "$configureScript"; then + prependToVar configureFlags --disable-dependency-tracking; + fi; + fi; + if [ -z "${dontDisableStatic:-}" ]; then + if grep -q enable-static "$configureScript"; then + prependToVar configureFlags --disable-static; + fi; + fi; + fi; + if [ -n "$configureScript" ]; then + local -a flagsArray; + _accumFlagsArray configureFlags configureFlagsArray; + echoCmd 'configure flags' "${flagsArray[@]}"; + $configureScript "${flagsArray[@]}"; + unset flagsArray; + else + echo "no configure script, doing nothing"; + fi; + runHook postConfigure +} +consumeEntire () +{ + + if IFS='' read -r -d '' "$1"; then + echo "consumeEntire(): ERROR: Input null bytes, won't process" 1>&2; + return 1; + fi +} +distPhase () +{ + + runHook preDist; + local flagsArray=(); + _accumFlagsArray distFlags distFlagsArray; + flagsArray+=(${distTarget:-dist}); + echo 'dist flags: %q' "${flagsArray[@]}"; + make ${makefile:+-f $makefile} "${flagsArray[@]}"; + if [ "${dontCopyDist:-0}" != 1 ]; then + mkdir -p "$out/tarballs"; + cp -pvd ${tarballs[*]:-*.tar.gz} "$out/tarballs"; + fi; + runHook postDist +} +dumpVars () +{ + + if [ "${noDumpEnvVars:-0}" != 1 ]; then + export 2> /dev/null >| "$NIX_BUILD_TOP/env-vars" || true; + fi +} +echoCmd () +{ + + printf "%s:" "$1"; + shift; + printf ' %q' "$@"; + echo +} +exitHandler () +{ + + exitCode="$?"; + set +e; + if [ -n "${showBuildStats:-}" ]; then + read -r -d '' -a buildTimes < <(times); + echo "build times:"; + echo "user time for the shell ${buildTimes[0]}"; + echo "system time for the shell ${buildTimes[1]}"; + echo "user time for all child processes ${buildTimes[2]}"; + echo "system time for all child processes ${buildTimes[3]}"; + fi; + if (( "$exitCode" != 0 )); then + runHook failureHook; + if [ -n "${succeedOnFailure:-}" ]; then + echo "build failed with exit code $exitCode (ignored)"; + mkdir -p "$out/nix-support"; + printf "%s" "$exitCode" > "$out/nix-support/failed"; + exit 0; + fi; + else + runHook exitHook; + fi; + return "$exitCode" +} +findInputs () +{ + + local -r pkg="$1"; + local -r hostOffset="$2"; + local -r targetOffset="$3"; + (( hostOffset <= targetOffset )) || exit 1; + local varVar="${pkgAccumVarVars[hostOffset + 1]}"; + local varRef="$varVar[$((targetOffset - hostOffset))]"; + local var="${!varRef}"; + unset -v varVar varRef; + local varSlice="$var[*]"; + case "${!varSlice-}" in + *" $pkg "*) + return 0 + ;; + esac; + unset -v varSlice; + eval "$var"'+=("$pkg")'; + if ! [ -e "$pkg" ]; then + echo "build input $pkg does not exist" 1>&2; + exit 1; + fi; + function mapOffset () + { + local -r inputOffset="$1"; + local -n outputOffset="$2"; + if (( inputOffset <= 0 )); then + outputOffset=$((inputOffset + hostOffset)); + else + outputOffset=$((inputOffset - 1 + targetOffset)); + fi + }; + local relHostOffset; + for relHostOffset in "${allPlatOffsets[@]}"; + do + local files="${propagatedDepFilesVars[relHostOffset + 1]}"; + local hostOffsetNext; + mapOffset "$relHostOffset" hostOffsetNext; + (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue; + local relTargetOffset; + for relTargetOffset in "${allPlatOffsets[@]}"; + do + (( "$relHostOffset" <= "$relTargetOffset" )) || continue; + local fileRef="${files}[$relTargetOffset - $relHostOffset]"; + local file="${!fileRef}"; + unset -v fileRef; + local targetOffsetNext; + mapOffset "$relTargetOffset" targetOffsetNext; + (( -1 <= hostOffsetNext && hostOffsetNext <= 1 )) || continue; + [[ -f "$pkg/nix-support/$file" ]] || continue; + local pkgNext; + read -r -d '' pkgNext < "$pkg/nix-support/$file" || true; + for pkgNext in $pkgNext; + do + findInputs "$pkgNext" "$hostOffsetNext" "$targetOffsetNext"; + done; + done; + done +} +fixLibtool () +{ + + local search_path; + for flag in $NIX_LDFLAGS; + do + case $flag in + -L*) + search_path+=" ${flag#-L}" + ;; + esac; + done; + sed -i "$1" -e "s^eval \(sys_lib_search_path=\).*^\1'$search_path'^" -e 's^eval sys_lib_.+search_path=.*^^' +} +fixupPhase () +{ + + local output; + for output in $(getAllOutputNames); + do + if [ -e "${!output}" ]; then + chmod -R u+w "${!output}"; + fi; + done; + runHook preFixup; + local output; + for output in $(getAllOutputNames); + do + prefix="${!output}" runHook fixupOutput; + done; + recordPropagatedDependencies; + if [ -n "${setupHook:-}" ]; then + mkdir -p "${!outputDev}/nix-support"; + substituteAll "$setupHook" "${!outputDev}/nix-support/setup-hook"; + fi; + if [ -n "${setupHooks:-}" ]; then + mkdir -p "${!outputDev}/nix-support"; + local hook; + for hook in ${setupHooks[@]}; + do + local content; + consumeEntire content < "$hook"; + substituteAllStream content "file '$hook'" >> "${!outputDev}/nix-support/setup-hook"; + unset -v content; + done; + unset -v hook; + fi; + if [ -n "${propagatedUserEnvPkgs:-}" ]; then + mkdir -p "${!outputBin}/nix-support"; + printWords $propagatedUserEnvPkgs > "${!outputBin}/nix-support/propagated-user-env-packages"; + fi; + runHook postFixup +} +genericBuild () +{ + + export GZIP_NO_TIMESTAMPS=1; + if [ -f "${buildCommandPath:-}" ]; then + source "$buildCommandPath"; + return; + fi; + if [ -n "${buildCommand:-}" ]; then + eval "$buildCommand"; + return; + fi; + if [ -z "${phases[*]:-}" ]; then + phases="${prePhases[*]:-} unpackPhase patchPhase ${preConfigurePhases[*]:-} configurePhase ${preBuildPhases[*]:-} buildPhase checkPhase ${preInstallPhases[*]:-} installPhase ${preFixupPhases[*]:-} fixupPhase installCheckPhase ${preDistPhases[*]:-} distPhase ${postPhases[*]:-}"; + fi; + for curPhase in ${phases[*]}; + do + if [[ "$curPhase" = unpackPhase && -n "${dontUnpack:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = patchPhase && -n "${dontPatch:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = configurePhase && -n "${dontConfigure:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = buildPhase && -n "${dontBuild:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = checkPhase && -z "${doCheck:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = installPhase && -n "${dontInstall:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = fixupPhase && -n "${dontFixup:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = installCheckPhase && -z "${doInstallCheck:-}" ]]; then + continue; + fi; + if [[ "$curPhase" = distPhase && -z "${doDist:-}" ]]; then + continue; + fi; + if [[ -n $NIX_LOG_FD ]]; then + echo "@nix { \"action\": \"setPhase\", \"phase\": \"$curPhase\" }" >&"$NIX_LOG_FD"; + fi; + showPhaseHeader "$curPhase"; + dumpVars; + local startTime=$(date +"%s"); + eval "${!curPhase:-$curPhase}"; + local endTime=$(date +"%s"); + showPhaseFooter "$curPhase" "$startTime" "$endTime"; + if [ "$curPhase" = unpackPhase ]; then + [ -z "${sourceRoot}" ] || chmod +x "${sourceRoot}"; + cd "${sourceRoot:-.}"; + fi; + done +} +getAllOutputNames () +{ + + if [ -n "$__structuredAttrs" ]; then + echo "${!outputs[*]}"; + else + echo "$outputs"; + fi +} +getHostRole () +{ + + getRole "$hostOffset" +} +getHostRoleEnvHook () +{ + + getRole "$depHostOffset" +} +getRole () +{ + + case $1 in + -1) + role_post='_FOR_BUILD' + ;; + 0) + role_post='' + ;; + 1) + role_post='_FOR_TARGET' + ;; + *) + echo "binutils-wrapper-2.40: used as improper sort of dependency" 1>&2; + return 1 + ;; + esac +} +getTargetRole () +{ + + getRole "$targetOffset" +} +getTargetRoleEnvHook () +{ + + getRole "$depTargetOffset" +} +getTargetRoleWrapper () +{ + + case $targetOffset in + -1) + export NIX_BINTOOLS_WRAPPER_TARGET_BUILD_x86_64_unknown_linux_gnu=1 + ;; + 0) + export NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu=1 + ;; + 1) + export NIX_BINTOOLS_WRAPPER_TARGET_TARGET_x86_64_unknown_linux_gnu=1 + ;; + *) + echo "binutils-wrapper-2.40: used as improper sort of dependency" 1>&2; + return 1 + ;; + esac +} +installCheckPhase () +{ + + runHook preInstallCheck; + if [[ -z "${foundMakefile:-}" ]]; then + echo "no Makefile or custom installCheckPhase, doing nothing"; + else + if [[ -z "${installCheckTarget:-}" ]] && ! make -n ${makefile:+-f $makefile} "${installCheckTarget:-installcheck}" > /dev/null 2>&1; then + echo "no installcheck target in ${makefile:-Makefile}, doing nothing"; + else + local flagsArray=(${enableParallelChecking:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); + _accumFlagsArray makeFlags makeFlagsArray installCheckFlags installCheckFlagsArray; + flagsArray+=(${installCheckTarget:-installcheck}); + echoCmd 'installcheck flags' "${flagsArray[@]}"; + make ${makefile:+-f $makefile} "${flagsArray[@]}"; + unset flagsArray; + fi; + fi; + runHook postInstallCheck +} +installPhase () +{ + + runHook preInstall; + if [[ -z "${makeFlags-}" && -z "${makefile:-}" && ! ( -e Makefile || -e makefile || -e GNUmakefile ) ]]; then + echo "no Makefile or custom installPhase, doing nothing"; + runHook postInstall; + return; + else + foundMakefile=1; + fi; + if [ -n "$prefix" ]; then + mkdir -p "$prefix"; + fi; + local flagsArray=(${enableParallelInstalling:+-j${NIX_BUILD_CORES}} SHELL=$SHELL); + _accumFlagsArray makeFlags makeFlagsArray installFlags installFlagsArray; + if [ -n "$__structuredAttrs" ]; then + flagsArray+=("${installTargets[@]:-install}"); + else + flagsArray+=(${installTargets:-install}); + fi; + echoCmd 'install flags' "${flagsArray[@]}"; + make ${makefile:+-f $makefile} "${flagsArray[@]}"; + unset flagsArray; + runHook postInstall +} +isELF () +{ + + local fn="$1"; + local fd; + local magic; + exec {fd}< "$fn"; + read -r -n 4 -u "$fd" magic; + exec {fd}>&-; + if [ "$magic" = 'ELF' ]; then + return 0; + else + return 1; + fi +} +isMachO () +{ + + local fn="$1"; + local fd; + local magic; + exec {fd}< "$fn"; + read -r -n 4 -u "$fd" magic; + exec {fd}>&-; + if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xcf") || "$magic" = $(echo -ne "\xcf\xfa\xed\xfe") ]]; then + return 0; + else + if [[ "$magic" = $(echo -ne "\xfe\xed\xfa\xce") || "$magic" = $(echo -ne "\xce\xfa\xed\xfe") ]]; then + return 0; + else + if [[ "$magic" = $(echo -ne "\xca\xfe\xba\xbe") || "$magic" = $(echo -ne "\xbe\xba\xfe\xca") ]]; then + return 0; + else + return 1; + fi; + fi; + fi +} +isScript () +{ + + local fn="$1"; + local fd; + local magic; + exec {fd}< "$fn"; + read -r -n 2 -u "$fd" magic; + exec {fd}>&-; + if [[ "$magic" =~ \#! ]]; then + return 0; + else + return 1; + fi +} +mapOffset () +{ + + local -r inputOffset="$1"; + local -n outputOffset="$2"; + if (( inputOffset <= 0 )); then + outputOffset=$((inputOffset + hostOffset)); + else + outputOffset=$((inputOffset - 1 + targetOffset)); + fi +} +moveToOutput () +{ + + local patt="$1"; + local dstOut="$2"; + local output; + for output in $(getAllOutputNames); + do + if [ "${!output}" = "$dstOut" ]; then + continue; + fi; + local srcPath; + for srcPath in "${!output}"/$patt; + do + if [ ! -e "$srcPath" ] && [ ! -L "$srcPath" ]; then + continue; + fi; + if [ "$dstOut" = REMOVE ]; then + echo "Removing $srcPath"; + rm -r "$srcPath"; + else + local dstPath="$dstOut${srcPath#${!output}}"; + echo "Moving $srcPath to $dstPath"; + if [ -d "$dstPath" ] && [ -d "$srcPath" ]; then + rmdir "$srcPath" --ignore-fail-on-non-empty; + if [ -d "$srcPath" ]; then + mv -t "$dstPath" "$srcPath"/*; + rmdir "$srcPath"; + fi; + else + mkdir -p "$(readlink -m "$dstPath/..")"; + mv "$srcPath" "$dstPath"; + fi; + fi; + local srcParent="$(readlink -m "$srcPath/..")"; + if [ -n "$(find "$srcParent" -maxdepth 0 -type d -empty 2> /dev/null)" ]; then + echo "Removing empty $srcParent/ and (possibly) its parents"; + rmdir -p --ignore-fail-on-non-empty "$srcParent" 2> /dev/null || true; + fi; + done; + done +} +patchELF () +{ + + local dir="$1"; + [ -e "$dir" ] || return 0; + echo "shrinking RPATHs of ELF executables and libraries in $dir"; + local i; + while IFS= read -r -d '' i; do + if [[ "$i" =~ .build-id ]]; then + continue; + fi; + if ! isELF "$i"; then + continue; + fi; + echo "shrinking $i"; + patchelf --shrink-rpath "$i" || true; + done < <(find "$dir" -type f -print0) +} +patchPhase () +{ + + runHook prePatch; + local -a patchesArray; + if [ -n "$__structuredAttrs" ]; then + patchesArray=(${patches:+"${patches[@]}"}); + else + patchesArray=(${patches:-}); + fi; + for i in "${patchesArray[@]}"; + do + echo "applying patch $i"; + local uncompress=cat; + case "$i" in + *.gz) + uncompress="gzip -d" + ;; + *.bz2) + uncompress="bzip2 -d" + ;; + *.xz) + uncompress="xz -d" + ;; + *.lzma) + uncompress="lzma -d" + ;; + esac; + local -a flagsArray; + if [ -n "$__structuredAttrs" ]; then + flagsArray=("${patchFlags[@]:--p1}"); + else + flagsArray=(${patchFlags:--p1}); + fi; + $uncompress < "$i" 2>&1 | patch "${flagsArray[@]}"; + done; + runHook postPatch +} +patchShebangs () +{ + + local pathName; + if [[ "$1" == "--host" ]]; then + pathName=HOST_PATH; + shift; + else + if [[ "$1" == "--build" ]]; then + pathName=PATH; + shift; + fi; + fi; + echo "patching script interpreter paths in $@"; + local f; + local oldPath; + local newPath; + local arg0; + local args; + local oldInterpreterLine; + local newInterpreterLine; + if [[ $# -eq 0 ]]; then + echo "No arguments supplied to patchShebangs" 1>&2; + return 0; + fi; + local f; + while IFS= read -r -d '' f; do + isScript "$f" || continue; + read -r oldInterpreterLine < "$f"; + read -r oldPath arg0 args <<< "${oldInterpreterLine:2}"; + if [[ -z "$pathName" ]]; then + if [[ -n $strictDeps && $f == "$NIX_STORE"* ]]; then + pathName=HOST_PATH; + else + pathName=PATH; + fi; + fi; + if [[ "$oldPath" == *"/bin/env" ]]; then + if [[ $arg0 == "-S" ]]; then + arg0=${args%% *}; + args=${args#* }; + newPath="$(PATH="${!pathName}" command -v "env" || true)"; + args="-S $(PATH="${!pathName}" command -v "$arg0" || true) $args"; + else + if [[ $arg0 == "-"* || $arg0 == *"="* ]]; then + echo "$f: unsupported interpreter directive \"$oldInterpreterLine\" (set dontPatchShebangs=1 and handle shebang patching yourself)" 1>&2; + exit 1; + else + newPath="$(PATH="${!pathName}" command -v "$arg0" || true)"; + fi; + fi; + else + if [[ -z $oldPath ]]; then + oldPath="/bin/sh"; + fi; + newPath="$(PATH="${!pathName}" command -v "$(basename "$oldPath")" || true)"; + args="$arg0 $args"; + fi; + newInterpreterLine="$newPath $args"; + newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}}; + if [[ -n "$oldPath" && "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]]; then + if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then + echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\""; + escapedInterpreterLine=${newInterpreterLine//\\/\\\\}; + timestamp=$(stat --printf "%y" "$f"); + sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f"; + touch --date "$timestamp" "$f"; + fi; + fi; + done < <(find "$@" -type f -perm -0100 -print0) +} +patchShebangsAuto () +{ + + if [[ -z "${dontPatchShebangs-}" && -e "$prefix" ]]; then + if [[ "$output" != out && "$output" = "$outputDev" ]]; then + patchShebangs --build "$prefix"; + else + patchShebangs --host "$prefix"; + fi; + fi +} +prependToVar () +{ + + local -n nameref="$1"; + local useArray type; + if [ -n "$__structuredAttrs" ]; then + useArray=true; + else + useArray=false; + fi; + if declare -p "$1" 2> /dev/null | grep -q '^'; then + type="$(declare -p "$1")"; + if [[ "$type" =~ "declare -A" ]]; then + echo "prependToVar(): ERROR: trying to use prependToVar on an associative array." 1>&2; + return 1; + else + if [[ "$type" =~ "declare -a" ]]; then + useArray=true; + else + useArray=false; + fi; + fi; + fi; + shift; + if $useArray; then + nameref=("$@" ${nameref+"${nameref[@]}"}); + else + nameref="$* ${nameref-}"; + fi +} +printLines () +{ + + (( "$#" > 0 )) || return 0; + printf '%s\n' "$@" +} +printWords () +{ + + (( "$#" > 0 )) || return 0; + printf '%s ' "$@" +} +recordPropagatedDependencies () +{ + + declare -ra flatVars=(depsBuildBuildPropagated propagatedNativeBuildInputs depsBuildTargetPropagated depsHostHostPropagated propagatedBuildInputs depsTargetTargetPropagated); + declare -ra flatFiles=("${propagatedBuildDepFiles[@]}" "${propagatedHostDepFiles[@]}" "${propagatedTargetDepFiles[@]}"); + local propagatedInputsIndex; + for propagatedInputsIndex in "${!flatVars[@]}"; + do + local propagatedInputsSlice="${flatVars[$propagatedInputsIndex]}[@]"; + local propagatedInputsFile="${flatFiles[$propagatedInputsIndex]}"; + [[ -n "${!propagatedInputsSlice}" ]] || continue; + mkdir -p "${!outputDev}/nix-support"; + printWords ${!propagatedInputsSlice} > "${!outputDev}/nix-support/$propagatedInputsFile"; + done +} +runHook () +{ + + local hookName="$1"; + shift; + local hooksSlice="${hookName%Hook}Hooks[@]"; + local hook; + for hook in "_callImplicitHook 0 $hookName" ${!hooksSlice+"${!hooksSlice}"}; + do + _eval "$hook" "$@"; + done; + return 0 +} +runOneHook () +{ + + local hookName="$1"; + shift; + local hooksSlice="${hookName%Hook}Hooks[@]"; + local hook ret=1; + for hook in "_callImplicitHook 1 $hookName" ${!hooksSlice+"${!hooksSlice}"}; + do + if _eval "$hook" "$@"; then + ret=0; + break; + fi; + done; + return "$ret" +} +showPhaseFooter () +{ + + local phase="$1"; + local startTime="$2"; + local endTime="$3"; + local delta=$(( endTime - startTime )); + (( delta < 30 )) && return; + local H=$((delta/3600)); + local M=$((delta%3600/60)); + local S=$((delta%60)); + echo -n "$phase completed in "; + (( H > 0 )) && echo -n "$H hours "; + (( M > 0 )) && echo -n "$M minutes "; + echo "$S seconds" +} +showPhaseHeader () +{ + + local phase="$1"; + case "$phase" in + unpackPhase) + echo "unpacking sources" + ;; + patchPhase) + echo "patching sources" + ;; + configurePhase) + echo "configuring" + ;; + buildPhase) + echo "building" + ;; + checkPhase) + echo "running tests" + ;; + installPhase) + echo "installing" + ;; + fixupPhase) + echo "post-installation fixup" + ;; + installCheckPhase) + echo "running install tests" + ;; + *) + echo "$phase" + ;; + esac +} +stripDirs () +{ + + local cmd="$1"; + local ranlibCmd="$2"; + local paths="$3"; + local stripFlags="$4"; + local pathsNew=; + local p; + for p in ${paths}; + do + if [ -e "$prefix/$p" ]; then + pathsNew="${pathsNew} $prefix/$p"; + fi; + done; + paths=${pathsNew}; + if [ -n "${paths}" ]; then + echo "stripping (with command $cmd and flags $stripFlags) in $paths"; + find $paths -type f -a '!' -wholename "$prefix/lib/debug/*" -exec $cmd $stripFlags '{}' \; 2> /dev/null; + find $paths -name '*.a' -type f -exec $ranlibCmd '{}' \; 2> /dev/null; + fi +} +stripHash () +{ + + local strippedName casematchOpt=0; + strippedName="$(basename -- "$1")"; + shopt -q nocasematch && casematchOpt=1; + shopt -u nocasematch; + if [[ "$strippedName" =~ ^[a-z0-9]{32}- ]]; then + echo "${strippedName:33}"; + else + echo "$strippedName"; + fi; + if (( casematchOpt )); then + shopt -s nocasematch; + fi +} +substitute () +{ + + local input="$1"; + local output="$2"; + shift 2; + if [ ! -f "$input" ]; then + echo "substitute(): ERROR: file '$input' does not exist" 1>&2; + return 1; + fi; + local content; + consumeEntire content < "$input"; + if [ -e "$output" ]; then + chmod +w "$output"; + fi; + substituteStream content "file '$input'" "$@" > "$output" +} +substituteAll () +{ + + local input="$1"; + local output="$2"; + local -a args=(); + _allFlags; + substitute "$input" "$output" "${args[@]}" +} +substituteAllInPlace () +{ + + local fileName="$1"; + shift; + substituteAll "$fileName" "$fileName" "$@" +} +substituteAllStream () +{ + + local -a args=(); + _allFlags; + substituteStream "$1" "$2" "${args[@]}" +} +substituteInPlace () +{ + + local -a fileNames=(); + for arg in "$@"; + do + if [[ "$arg" = "--"* ]]; then + break; + fi; + fileNames+=("$arg"); + shift; + done; + for file in "${fileNames[@]}"; + do + substitute "$file" "$file" "$@"; + done +} +substituteStream () +{ + + local var=$1; + local description=$2; + shift 2; + while (( "$#" )); do + case "$1" in + --replace) + pattern="$2"; + replacement="$3"; + shift 3; + local savedvar; + savedvar="${!var}"; + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; + if [ "$pattern" != "$replacement" ]; then + if [ "${!var}" == "$savedvar" ]; then + echo "substituteStream(): WARNING: pattern '$pattern' doesn't match anything in $description" 1>&2; + fi; + fi + ;; + --subst-var) + local varName="$2"; + shift 2; + if ! [[ "$varName" =~ ^[a-zA-Z_][a-zA-Z0-9_]*$ ]]; then + echo "substituteStream(): ERROR: substitution variables must be valid Bash names, \"$varName\" isn't." 1>&2; + return 1; + fi; + if [ -z ${!varName+x} ]; then + echo "substituteStream(): ERROR: variable \$$varName is unset" 1>&2; + return 1; + fi; + pattern="@$varName@"; + replacement="${!varName}"; + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}' + ;; + --subst-var-by) + pattern="@$2@"; + replacement="$3"; + eval "$var"'=${'"$var"'//"$pattern"/"$replacement"}'; + shift 3 + ;; + *) + echo "substituteStream(): ERROR: Invalid command line argument: $1" 1>&2; + return 1 + ;; + esac; + done; + printf "%s" "${!var}" +} +unpackFile () +{ + + curSrc="$1"; + echo "unpacking source archive $curSrc"; + if ! runOneHook unpackCmd "$curSrc"; then + echo "do not know how to unpack source archive $curSrc"; + exit 1; + fi +} +unpackPhase () +{ + + runHook preUnpack; + if [ -z "${srcs:-}" ]; then + if [ -z "${src:-}" ]; then + echo 'variable $src or $srcs should point to the source'; + exit 1; + fi; + srcs="$src"; + fi; + local -a srcsArray; + if [ -n "$__structuredAttrs" ]; then + srcsArray=("${srcs[@]}"); + else + srcsArray=($srcs); + fi; + local dirsBefore=""; + for i in *; + do + if [ -d "$i" ]; then + dirsBefore="$dirsBefore $i "; + fi; + done; + for i in "${srcsArray[@]}"; + do + unpackFile "$i"; + done; + : "${sourceRoot=}"; + if [ -n "${setSourceRoot:-}" ]; then + runOneHook setSourceRoot; + else + if [ -z "$sourceRoot" ]; then + for i in *; + do + if [ -d "$i" ]; then + case $dirsBefore in + *\ $i\ *) + + ;; + *) + if [ -n "$sourceRoot" ]; then + echo "unpacker produced multiple directories"; + exit 1; + fi; + sourceRoot="$i" + ;; + esac; + fi; + done; + fi; + fi; + if [ -z "$sourceRoot" ]; then + echo "unpacker appears to have produced no directories"; + exit 1; + fi; + echo "source root is $sourceRoot"; + if [ "${dontMakeSourcesWritable:-0}" != 1 ]; then + chmod -R u+w -- "$sourceRoot"; + fi; + runHook postUnpack +} +updateSourceDateEpoch () +{ + + local path="$1"; + local -a res=($(find "$path" -type f -not -newer "$NIX_BUILD_TOP/.." -printf '%T@ %p\0' | sort -n --zero-terminated | tail -n1 --zero-terminated | head -c -1)); + local time="${res[0]//\.[0-9]*/}"; + local newestFile="${res[1]}"; + if [ "${time:-0}" -gt "$SOURCE_DATE_EPOCH" ]; then + echo "setting SOURCE_DATE_EPOCH to timestamp $time of file $newestFile"; + export SOURCE_DATE_EPOCH="$time"; + local now="$(date +%s)"; + if [ "$time" -gt $((now - 60)) ]; then + echo "warning: file $newestFile may be generated; SOURCE_DATE_EPOCH may be non-deterministic"; + fi; + fi +} +PATH="$PATH${nix_saved_PATH:+:$nix_saved_PATH}" +XDG_DATA_DIRS="$XDG_DATA_DIRS${nix_saved_XDG_DATA_DIRS:+:$nix_saved_XDG_DATA_DIRS}" +export NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)" +export TMP="$NIX_BUILD_TOP" +export TMPDIR="$NIX_BUILD_TOP" +export TEMP="$NIX_BUILD_TOP" +export TEMPDIR="$NIX_BUILD_TOP" +eval "$shellHook" diff --git a/archetypes/default.md b/archetypes/default.md deleted file mode 100644 index 17a3207..0000000 --- a/archetypes/default.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -date: {{ .Date }} -draft: true ---- diff --git a/archetypes/home.md b/archetypes/home.md deleted file mode 100644 index 1ed012a..0000000 --- a/archetypes/home.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -draft: true -weight: 0 ---- diff --git a/archetypes/projects.md b/archetypes/projects.md deleted file mode 100644 index 4523f83..0000000 --- a/archetypes/projects.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" # Title of your project -date: {{ .Date }} -weight: 0 # Order in which to show this project on the home page -external_link: "" # Optional external link instead of modal -resources: - - src: plant.jpg - params: - weight: -100 # Optional weighting for a specific image in this project folder -draft: true ---- diff --git a/assets/.gitattributes b/assets/.gitattributes deleted file mode 100644 index cea6c74..0000000 --- a/assets/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -vendor/** linguist-generated=true -vendor/** -diff -merge diff --git a/assets/js/index.js b/assets/js/index.js deleted file mode 100644 index 292f4f8..0000000 --- a/assets/js/index.js +++ /dev/null @@ -1,35 +0,0 @@ -// Nav burger animation -document.addEventListener('DOMContentLoaded', function () { - // Get all "navbar-burger" elements - var $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0) - // Check if there are any navbar burgers - if ($navbarBurgers.length > 0) { - // Add a click event on each of them - $navbarBurgers.forEach(function ($el) { - $el.addEventListener('click', function () { - // Get the target from the "data-target" attribute - var target = $el.dataset.target - var $target = document.getElementById(target) - // Toggle the class on both the "navbar-burger" and the "navbar-menu" - $el.classList.toggle('is-active') - $target.classList.toggle('is-active') - }) - }) - } -}) - -// Modal closer -$('.card').click(function () { - $($(this).attr('data-target')).addClass('is-active') - $('html').addClass('modal-open') -}) -$('.modal-close').click(function () { - $($(this).attr('data-target')).removeClass('is-active') - $('html').removeClass('modal-open') -}) -$(document).keypress(function (e) { - if (e.which === 0) { - $('.modal.is-active').removeClass('is-active') - $('html').removeClass('modal-open') - } -}) \ No newline at end of file diff --git a/assets/js/initOwlCarousel.js b/assets/js/initOwlCarousel.js deleted file mode 100644 index fad5b64..0000000 --- a/assets/js/initOwlCarousel.js +++ /dev/null @@ -1,9 +0,0 @@ -$(document).ready(function(){ - $(".owl-carousel").owlCarousel({ - loop: true, - nav: true, - margin: 10, - items: 1, - autoHeight: true - }); -}); diff --git a/assets/sass/_academicons-import.sass b/assets/sass/_academicons-import.sass deleted file mode 100644 index 44349a4..0000000 --- a/assets/sass/_academicons-import.sass +++ /dev/null @@ -1,2 +0,0 @@ -@import "../vendor/academicons-free/scss/academicons.scss" -@import "../vendor/academicons-free/scss/academicons.min.scss" \ No newline at end of file diff --git a/assets/sass/_base-variables.sass b/assets/sass/_base-variables.sass deleted file mode 100644 index 49c7b0d..0000000 --- a/assets/sass/_base-variables.sass +++ /dev/null @@ -1,7 +0,0 @@ -$family-sans-serif: Nunito Sans, sans-serif -$family-monospace: monospace -$code: $primary -$title-weight: 300 -$navbar-background-color: $background -$navbar-item-hover-background-color: $background -$navbar-item-hover-color: $secondary diff --git a/assets/sass/_base.sass b/assets/sass/_base.sass deleted file mode 100644 index 721b7c1..0000000 --- a/assets/sass/_base.sass +++ /dev/null @@ -1,309 +0,0 @@ -html, body - background-color: $background - -html - scroll-behavior: smooth - -html.modal-open - overflow: hidden - -@keyframes fadeIn - from - opacity: 0 - to - opacity: 1 - -.fade-in - opacity: 0 - animation: fadeIn ease-in 1 - animation-fill-mode: forwards - animation-duration: 1s - &.one - animation-delay: 0.7s - &.two - animation-delay: 1.4s - &.three - animation-delay: 1.8s - -a - color: $primary - &:hover - color: $link-hover - font-style: none - &:active - color: $primary - -h1, h2, .title, .subtitle - color: $h-color - -p - color: $body-color - -.title - font-weight: $title-weight - -ul - padding: 0 - -img - border-radius: 5px - border: 1px solid $secondary - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4) - -hr - background-color: $secondary - height: 1px - -details - padding: .5em .5em 0 - -summary - margin: -.5em -.5em 0 - padding: .5em - cursor: pointer - -details[open] - padding: .5em - -details[open] summary - margin-bottom: .5em - -.container - max-width: 1000px - -.noborder - border-radius: 0px - border: none - box-shadow: none - -.hidden - display: none - -.img-responsive - border-radius: 5px - box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4) - -.avatar - border: none - @include mobile - max-width: 50% - -.thumbnail - border: none - -.card-thumbnail - width: 100% - height: 100% - object-fit: cover - -.bold-title - font-size: 6rem - line-height: 1.2 - margin-bottom: 0.25em - @include mobile - font-size: 3rem - text-align: center - -.top-pad - padding-top: 1rem - -.bottom-pad - padding-bottom: 1rem - -.strong-post-title - font-weight: $weight-bold - -.post-item - display: block - list-style: none - list-style-position: outside - margin-left: 0 - -.post-data, .blog-share, .footer-text - font-size: 1rem - line-height: 2rem - color: $body-color - -.social-icons - padding: 0 10px - a - margin: 0 5px - -.icon - height: 2rem - width: 2rem - margin: 0 10px - -.fab - font-size: 1.3rem - -.blog-share - .icon - height: 1rem - width: 1rem - vertical-align: baseline - margin: 0 5px - -.navbar - background-color: $navbar-background-color - -.navbar-burger - margin-right: auto - color: $primary - -.navbar-burger:hover - background-color: $navbar-background-color - -.navbar-item - text-transform: uppercase - font-size: 0.875rem - color: $body-color - &:hover, &:active - background-color: $navbar-background-color !important - -.owl-nav - height: 50px - -.owl-next, .owl-prev - height: 30px - span - font-size: 3rem - line-height: 30px - -.footer-text - font-size: 0.8em - a - color: $body-color - .fab - font-size: 0.8em - vertical-align: baseline - -.tags-list - width: 70% - margin: 0 auto - text-align: center - font-size: 1.5rem - @include mobile - width: 100% - -.tag-cloud - font-size: 1.5rem - margin-right: 1.5rem - @include mobile - font-size: 1.5rem - margin-right: 1rem - -.card - background-color: transparent - box-shadow: none - -.card-content - font-size: 1.5rem - -.has-content-centered - justify-content: center - -.markdown - color: $body-color !important - p - margin: 1em 0 - h1 - font-size: $size-1 - @include mobile - font-size: $size-2 - h2 - font-size: $size-2 - line-height: 1em - margin-top: 1em - margin-bottom: 0.5em - @include mobile - font-size: $size-3 - h3 - font-size: $size-3 - @include mobile - font-size: $size-4 - h4 - font-size: $size-4 - @include mobile - font-size: $size-5 - h5 - font-size: $size-5 - h6 - font-size: $size-6 - a - &:hover - color: $secondary - ul - margin-bottom: 1.25rem - list-style: disc - ul ul - margin-left: 0.5em - margin-bottom: 0 - li - margin-left: 1em - list-style-position: outside - padding-left: 0.25em - ol - margin-bottom: 1.25rem - ol ol - margin-left: 0.5em - list-style-type: lower-alpha - margin-bottom: 0 - ol ol ol - list-style-type: lower-roman - em - font-style: italic - strong - font-weight: 700 - hr - position: relative - margin: 1.75rem 0 - border: 0 - border-top: 1px solid $secondary - abbr - font-size: 0.8rem - font-weight: bold - color: #666666 - text-transform: uppercase - abbr[title] - cursor: help - border-bottom: 1px dotted #808080 - blockquote - padding: .5rem 1rem - margin: .8rem 0 - color: #7a7a7a - border-left: .25rem solid #e5e5e5 - blockquote p:last-child - margin-bottom: 0 - table - margin: 2em 0 2em 0 - width: 100% - border: 1px solid #e5e5e5 - border-collapse: collapse - td, th - padding: .25rem .5rem - border: 1px solid #e5e5e5 - text-align: center - background-color: #f7f7f7 - tbody tr:nth-child(odd) td, - tbody tr:nth-child(odd) th - background-color: darken(#f7f7f7, 10%) - tbody tr:nth-child(even) td, - tbody tr:nth-child(even) th - background-color: #f7f7f7 - code, pre - border-radius: 3px - p>code, p>a>code - background-color: rgba($secondary, 0.3) !important - img - display: block - margin: 2rem auto - max-width: 100% - figure > img - margin: auto - figcaption - margin: 0.5rem auto - max-width: 500px - text-align: center - figcaption > h4 - font-size: 0.8rem diff --git a/assets/sass/_bulma-import.sass b/assets/sass/_bulma-import.sass deleted file mode 100644 index 28a0573..0000000 --- a/assets/sass/_bulma-import.sass +++ /dev/null @@ -1,14 +0,0 @@ -@import "../vendor/bulma/sass/utilities/initial-variables" -@import "../vendor/bulma/sass/utilities/functions" -@import "../vendor/bulma/sass/utilities/derived-variables" -@import "../vendor/bulma/sass/utilities/mixins" -@import "../vendor/bulma/sass/base/_all" -@import "../vendor/bulma/sass/helpers/_all" -@import "../vendor/bulma/sass/elements/container" -@import "../vendor/bulma/sass/elements/image" -@import "../vendor/bulma/sass/elements/title" -@import "../vendor/bulma/sass/components/card" -@import "../vendor/bulma/sass/components/modal" -@import "../vendor/bulma/sass/components/navbar" -@import "../vendor/bulma/sass/grid/columns" -@import "../vendor/bulma/sass/layout/_all" diff --git a/assets/sass/_dark-style.sass b/assets/sass/_dark-style.sass deleted file mode 100644 index 7de9475..0000000 --- a/assets/sass/_dark-style.sass +++ /dev/null @@ -1,15 +0,0 @@ -.modal-card-title - color: $primary - -.modal-card-body - background-color: $background - -.markdown - strong - color: $body-color - -.modal-background - background-color: rgba(0,0,0,0.8) - -.modal-close - background-color: $primary diff --git a/assets/sass/_dark-variables.sass b/assets/sass/_dark-variables.sass deleted file mode 100644 index 9cd57f0..0000000 --- a/assets/sass/_dark-variables.sass +++ /dev/null @@ -1,8 +0,0 @@ -$body-color: #ffffff -$background: #222222 -$primary: #00b8d4 -$secondary: #efefef -$h-color: $secondary -$navbar-item-color: $body-color -$code-background: #222222 -$link-hover: $secondary diff --git a/assets/sass/_fontawesome-import.sass b/assets/sass/_fontawesome-import.sass deleted file mode 100644 index 4f599c3..0000000 --- a/assets/sass/_fontawesome-import.sass +++ /dev/null @@ -1,3 +0,0 @@ -@import "../vendor/fontawesome-free/scss/fontawesome.scss" -@import "../vendor/fontawesome-free/scss/brands.scss" -@import "../vendor/fontawesome-free/scss/solid.scss" diff --git a/assets/sass/_fonts.sass b/assets/sass/_fonts.sass deleted file mode 100644 index df75f92..0000000 --- a/assets/sass/_fonts.sass +++ /dev/null @@ -1,25 +0,0 @@ -$nunito-font-path: "../fonts/NunitoSans/NunitoSans-Regular.ttf" - -/* vietnamese */ -@font-face - font-family: "Nunito Sans" - font-style: normal - font-weight: normal - src: local("Nunito Sans Regular"), local("NunitoSans-Regular"), url(#{$nunito-font-path}) format("woff2") - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB - -/* latin-ext */ -@font-face - font-family: "Nunito Sans" - font-style: normal - font-weight: normal - src: local("Nunito Sans Regular"), local("NunitoSans-Regular"), url(#{$nunito-font-path}) format("woff2") - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF - -/* latin */ -@font-face - font-family: "Nunito Sans" - font-style: normal - font-weight: normal - src: local("Nunito Sans Regular"), local("NunitoSans-Regular"), url(#{$nunito-font-path}) format("woff2") - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD diff --git a/assets/sass/_light-style.sass b/assets/sass/_light-style.sass deleted file mode 100644 index 57c2897..0000000 --- a/assets/sass/_light-style.sass +++ /dev/null @@ -1,5 +0,0 @@ -.modal-background - background-color: rgba(256, 256, 256, 0.90) - -.modal-close - background-color: #000000 diff --git a/assets/sass/_light-variables.sass b/assets/sass/_light-variables.sass deleted file mode 100644 index df07beb..0000000 --- a/assets/sass/_light-variables.sass +++ /dev/null @@ -1,7 +0,0 @@ -$body-color: #4a4a4a -$background: #ffffff -$primary: #00b8d4 -$secondary: #dbdbdb -$h-color: #222222 -$link-hover: #000000 -$code-background: transparent \ No newline at end of file diff --git a/assets/sass/style.sass b/assets/sass/style.sass deleted file mode 100644 index 77327bd..0000000 --- a/assets/sass/style.sass +++ /dev/null @@ -1,32 +0,0 @@ -{{ $themeStyle := .Site.Params.themeStyle | default "light" }} - -{{ if eq $themeStyle "auto" }} -@import "fonts" -@import "light-variables" -@import "base-variables" -@import "bulma-import" -@import "fontawesome-import" -@import "academicons-import" -@import "base" -@import "light-style" - -@media (prefers-color-scheme: dark) - @import "fonts" - @import "dark-variables" - @import "base-variables" - @import "bulma-import" - @import "fontawesome-import" - @import "academicons-import" - @import "base" - @import "dark-style" - -{{ else }} -@import "fonts" -@import "{{ $themeStyle }}-variables" -@import "base-variables" -@import "bulma-import" -@import "fontawesome-import" -@import "academicons-import" -@import "base" -@import "{{ $themeStyle }}-style" -{{ end }} diff --git a/assets/vendor/academicons-free/License.txt b/assets/vendor/academicons-free/License.txt deleted file mode 100644 index 5f0f56e..0000000 --- a/assets/vendor/academicons-free/License.txt +++ /dev/null @@ -1,27 +0,0 @@ -# What is Academicons? - -Academicons is a specialist icon font for academics. It contains icons for websites and organisations related to academia that are often missing from mainstream font packages. It can be used by itself, but its primary purpose is to be used as a supplementary package alongside a larger icon set. Go [here](http://jpswalsh.github.io/academicons) to view the full icon set along with instructions for their use. - -# Requesting new icons - -New icons can be requested by creating an issue [here](https://github.com/jpswalsh/academicons/issues). Before submitting a request, please check that the following conditions are satisfied: - - * The organisation in question is already using a logo/icon of appropriate dimensions (roughly square). If that doesn't exist, then there's really not much that can be done, and the request will have to be ignored until such time that a logo/icon can be provided. - - * An icon of appropriate resolution can be provided or linked to. Ideally, the provided file will be a vector file (*e.g.* SVG, EPS, AI) or a PDF with the vector file embedded. These files are all very easy to work with, and result in the most faithful reproductions of the icon. Altenatively, high resolution raster images (*e.g.* JPEG, PNG, GIF) can work, but only if the resolution is high enough that the underlying shapes can be reproduced. Icons made from raster images take much longer to prepare, and require hand drawing each component and figuring out the exact typeface used for any letters. This process can be rather tedious, and I will only do this if there is significant demand for the icon. Favicon files can be useful in conjunction with larger logos that have non-ideal aspect ratios—where they can indicate which part of the logo to strip down to—but they are pretty much useless by themselves. The only time I have made an icon from a favicon was for arXiv, and that was only because: (i) It was heavily requested, and (ii) I was able to get feedback on the new icon from Paul Ginsparg, who made the original icon. You can still submit the request, but it will likely be ignored until someone else comes along and provides the file we need. - - * The icon can be reduced to monochrome. This is one of the basic requirements of a versatile icon, but it is often overlooked when icons are made by people who are not professional designers. Academia is full of unprofessional designers, and it is sometimes the case that a logo relies entirely on the use of different colours. In certain cases we can be creative (see the dblp logo), but more often than not it will be impossible to create a monochrome version of the icon. Again, feel free to make the request, but it will probably be ignored if an alternate logo cannot be found. - -# License - -- The Academicons font is licensed under the SIL OFL 1.1: - - [http://scripts.sil.org/OFL](http://scripts.sil.org/OFL) -- Academicons CSS, LESS, and SASS files are licensed under the MIT License: - - [http://opensource.org/licenses/mit-license.html](http://opensource.org/licenses/mit-license.html) -- The Academicons documentation is licensed under the CC BY 3.0 License: - - [http://creativecommons.org/licenses/by/3.0/](http://creativecommons.org/licenses/by/3.0/) - -# Author - -- GitHub: [https://github.com/jpswalsh](https://github.com/jpswalsh) -- Web: [http://jpswalsh.com](http://jpswalsh.com) diff --git a/assets/vendor/academicons-free/fonts/academicons.eot b/assets/vendor/academicons-free/fonts/academicons.eot deleted file mode 100644 index ab3e66f..0000000 Binary files a/assets/vendor/academicons-free/fonts/academicons.eot and /dev/null differ diff --git a/assets/vendor/academicons-free/fonts/academicons.svg b/assets/vendor/academicons-free/fonts/academicons.svg deleted file mode 100644 index 4bb01a4..0000000 --- a/assets/vendor/academicons-free/fonts/academicons.svg +++ /dev/null @@ -1,1703 +0,0 @@ - - - - - -Created by FontForge 20190801 at Sun Mar 13 15:44:27 2022 - By Nicolas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/vendor/academicons-free/fonts/academicons.ttf b/assets/vendor/academicons-free/fonts/academicons.ttf deleted file mode 100644 index 8bcaf63..0000000 Binary files a/assets/vendor/academicons-free/fonts/academicons.ttf and /dev/null differ diff --git a/assets/vendor/academicons-free/fonts/academicons.woff b/assets/vendor/academicons-free/fonts/academicons.woff deleted file mode 100644 index 3d08c23..0000000 Binary files a/assets/vendor/academicons-free/fonts/academicons.woff and /dev/null differ diff --git a/assets/vendor/academicons-free/scss/academicons.min.scss b/assets/vendor/academicons-free/scss/academicons.min.scss deleted file mode 100644 index ac1fc13..0000000 --- a/assets/vendor/academicons-free/scss/academicons.min.scss +++ /dev/null @@ -1,693 +0,0 @@ -@font-face { - font-family: 'Academicons'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url('../fonts/academicons.eot'); - src: url('../fonts/academicons.eot') format("embedded-opentype"), url('../fonts/academicons.ttf') format("truetype"), url('../fonts/academicons.woff') format("woff"), url('../fonts/academicons.svg') format("svg"); -} - -.ai { - font-family: 'Academicons'; - font-weight: 400; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; -} - -.ai-academia:before { - content: "\e9af"; -} - -.ai-academia-square:before { - content: "\e93d"; -} - -.ai-acclaim:before { - content: "\e92e"; -} - -.ai-acclaim-square:before { - content: "\e93a"; -} - -.ai-acm:before { - content: "\e93c"; -} - -.ai-acm-square:before { - content: "\e95d"; -} - -.ai-acmdl:before { - content: "\e96a"; -} - -.ai-acmdl-square:before { - content: "\e9d3"; -} - -.ai-ads:before { - content: "\e9cb"; -} - -.ai-ads-square:before { - content: "\e94a"; -} - -.ai-africarxiv:before { - content: "\e91b"; -} - -.ai-africarxiv-square:before { - content: "\e90b"; -} - -.ai-archive:before { - content: "\e955"; -} - -.ai-archive-square:before { - content: "\e956"; -} - -.ai-arxiv:before { - content: "\e974"; -} - -.ai-arxiv-square:before { - content: "\e9a6"; -} - -.ai-biorxiv:before { - content: "\e9a2"; -} - -.ai-biorxiv-square:before { - content: "\e98b"; -} - -.ai-ceur:before { - content: "\e96d"; -} - -.ai-ceur-square:before { - content: "\e92f"; -} - -.ai-ciencia-vitae:before { - content: "\e912"; -} - -.ai-ciencia-vitae-square:before { - content: "\e913"; -} - -.ai-closed-access:before { - content: "\e942"; -} - -.ai-closed-access-square:before { - content: "\e943"; -} - -.ai-conversation:before { - content: "\e94c"; -} - -.ai-conversation-square:before { - content: "\e915"; -} - -.ai-coursera:before { - content: "\e95f"; -} - -.ai-coursera-square:before { - content: "\e97f"; -} - -.ai-crossref:before { - content: "\e918"; -} - -.ai-crossref-square:before { - content: "\e919"; -} - -.ai-cv:before { - content: "\e9a5"; -} - -.ai-cv-square:before { - content: "\e90a"; -} - -.ai-datacite:before { - content: "\e91c"; -} - -.ai-datacite-square:before { - content: "\e91d"; -} - -.ai-dataverse:before { - content: "\e9f7"; -} - -.ai-dataverse-square:before { - content: "\e9e4"; -} - -.ai-dblp:before { - content: "\e94f"; -} - -.ai-dblp-square:before { - content: "\e93f"; -} - -.ai-depsy:before { - content: "\e97a"; -} - -.ai-depsy-square:before { - content: "\e94b"; -} - -.ai-doi:before { - content: "\e97e"; -} - -.ai-doi-square:before { - content: "\e98f"; -} - -.ai-dryad:before { - content: "\e97c"; -} - -.ai-dryad-square:before { - content: "\e98c"; -} - -.ai-elsevier:before { - content: "\e961"; -} - -.ai-elsevier-square:before { - content: "\e910"; -} - -.ai-figshare:before { - content: "\e981"; -} - -.ai-figshare-square:before { - content: "\e9e7"; -} - -.ai-google-scholar:before { - content: "\e9d4"; -} - -.ai-google-scholar-square:before { - content: "\e9f9"; -} - -.ai-hal:before { - content: "\e92c"; -} - -.ai-hal-square:before { - content: "\e92d"; -} - -.ai-hypothesis:before { - content: "\e95a"; -} - -.ai-hypothesis-square:before { - content: "\e95b"; -} - -.ai-ideas-repec:before { - content: "\e9ed"; -} - -.ai-ideas-repec-square:before { - content: "\e9f8"; -} - -.ai-ieee:before { - content: "\e929"; -} - -.ai-ieee-square:before { - content: "\e9b9"; -} - -.ai-impactstory:before { - content: "\e9cf"; -} - -.ai-impactstory-square:before { - content: "\e9aa"; -} - -.ai-inaturalist:before { - content: "\e900"; -} - -.ai-inaturalist-square:before { - content: "\e901"; -} - -.ai-inpn:before { - content: "\e902"; -} - -.ai-inpn-square:before { - content: "\e903"; -} - -.ai-inspire:before { - content: "\e9e9"; -} - -.ai-inspire-square:before { - content: "\e9fe"; -} - -.ai-isidore:before { - content: "\e936"; -} - -.ai-isidore-square:before { - content: "\e954"; -} - -.ai-jstor:before { - content: "\e938"; -} - -.ai-jstor-square:before { - content: "\e944"; -} - -.ai-lattes:before { - content: "\e9b3"; -} - -.ai-lattes-square:before { - content: "\e99c"; -} - -.ai-mathoverflow:before { - content: "\e9f6"; -} - -.ai-mathoverflow-square:before { - content: "\e97b"; -} - -.ai-mendeley:before { - content: "\e9f0"; -} - -.ai-mendeley-square:before { - content: "\e9f3"; -} - -.ai-moodle:before { - content: "\e907"; -} - -.ai-moodle-square:before { - content: "\e908"; -} - -.ai-mtmt:before { - content: "\e950"; -} - -.ai-mtmt-square:before { - content: "\e951"; -} - -.ai-nakala:before { - content: "\e940"; -} - -.ai-nakala-square:before { - content: "\e941"; -} - -.ai-obp:before { - content: "\e92a"; -} - -.ai-obp-square:before { - content: "\e92b"; -} - -.ai-open-access:before { - content: "\e939"; -} - -.ai-open-access-square:before { - content: "\e9f4"; -} - -.ai-open-data:before { - content: "\e966"; -} - -.ai-open-data-square:before { - content: "\e967"; -} - -.ai-open-materials:before { - content: "\e968"; -} - -.ai-open-materials-square:before { - content: "\e969"; -} - -.ai-openedition:before { - content: "\e946"; -} - -.ai-openedition-square:before { - content: "\e947"; -} - -.ai-orcid:before { - content: "\e9d9"; -} - -.ai-orcid-square:before { - content: "\e9c3"; -} - -.ai-osf:before { - content: "\e9ef"; -} - -.ai-osf-square:before { - content: "\e931"; -} - -.ai-overleaf:before { - content: "\e914"; -} - -.ai-overleaf-square:before { - content: "\e98d"; -} - -.ai-philpapers:before { - content: "\e98a"; -} - -.ai-philpapers-square:before { - content: "\e96f"; -} - -.ai-piazza:before { - content: "\e99a"; -} - -.ai-piazza-square:before { - content: "\e90c"; -} - -.ai-preregistered:before { - content: "\e906"; -} - -.ai-preregistered-square:before { - content: "\e96b"; -} - -.ai-protocols:before { - content: "\e952"; -} - -.ai-protocols-square:before { - content: "\e953"; -} - -.ai-psyarxiv:before { - content: "\e90e"; -} - -.ai-psyarxiv-square:before { - content: "\e90f"; -} - -.ai-publons:before { - content: "\e937"; -} - -.ai-publons-square:before { - content: "\e94e"; -} - -.ai-pubmed:before { - content: "\e99f"; -} - -.ai-pubmed-square:before { - content: "\e97d"; -} - -.ai-pubpeer:before { - content: "\e922"; -} - -.ai-pubpeer-square:before { - content: "\e923"; -} - -.ai-researcherid:before { - content: "\e91a"; -} - -.ai-researcherid-square:before { - content: "\e95c"; -} - -.ai-researchgate:before { - content: "\e95e"; -} - -.ai-researchgate-square:before { - content: "\e99e"; -} - -.ai-ror:before { - content: "\e948"; -} - -.ai-ror-square:before { - content: "\e949"; -} - -.ai-sci-hub:before { - content: "\e959"; -} - -.ai-sci-hub-square:before { - content: "\e905"; -} - -.ai-scirate:before { - content: "\e98e"; -} - -.ai-scirate-square:before { - content: "\e99d"; -} - -.ai-scopus:before { - content: "\e91e"; -} - -.ai-scopus-square:before { - content: "\e91f"; -} - -.ai-semantic-scholar:before { - content: "\e96e"; -} - -.ai-semantic-scholar-square:before { - content: "\e96c"; -} - -.ai-springer:before { - content: "\e928"; -} - -.ai-springer-square:before { - content: "\e99b"; -} - -.ai-ssrn:before { - content: "\e916"; -} - -.ai-ssrn-square:before { - content: "\e917"; -} - -.ai-stackoverflow:before { - content: "\e920"; -} - -.ai-stackoverflow-square:before { - content: "\e921"; -} - -.ai-zenodo:before { - content: "\e911"; -} - -.ai-zotero:before { - content: "\e962"; -} - -.ai-zotero-square:before { - content: "\e932"; -} - -.ai-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -.0667em; -} - -.ai-xs { - font-size: .75em; -} - -.ai-sm { - font-size: .875em; -} - -.ai-1x { - font-size: 1em; -} - -.ai-2x { - font-size: 2em; -} - -.ai-3x { - font-size: 3em; -} - -.ai-4x { - font-size: 4em; -} - -.ai-5x { - font-size: 5em; -} - -.ai-6x { - font-size: 6em; -} - -.ai-7x { - font-size: 7em; -} - -.ai-8x { - font-size: 8em; -} - -.ai-9x { - font-size: 9em; -} - -.ai-10x { - font-size: 10em; -} - -.ai-fw { - text-align: center; - width: 1.25em; -} - -.ai-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; - - > li { - position: relative; - } -} - -.ai-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; -} - -.ai-border { - border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; -} - -.ai-pull-left { - float: left; -} - -.ai-pull-right { - float: right; -} - -.ai { - &.ai-pull-left, &.ai-pull-right { - margin-right: .3em; - } -} - -.ai-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} - -.ai-stack-1x, .ai-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; -} - -.ai-stack-1x { - line-height: inherit; -} - -.ai-stack-2x { - font-size: 2em; -} - -.ai-inverse { - color: #fff; -} \ No newline at end of file diff --git a/assets/vendor/academicons-free/scss/academicons.scss b/assets/vendor/academicons-free/scss/academicons.scss deleted file mode 100644 index 0f7d7c4..0000000 --- a/assets/vendor/academicons-free/scss/academicons.scss +++ /dev/null @@ -1,703 +0,0 @@ -/* - * Academicons 1.9.2 by James Walsh (https://github.com/jpswalsh) and Katja Bercic (https://github.com/katjabercic) - * Fonts generated using FontForge - https://fontforge.org - * Square icons designed to be used alongside Font Awesome square icons - https://fortawesome.github.io/Font-Awesome/ - * Licenses - Font: SIL OFL 1.1, CSS: MIT License - */ -$ai-font-path: "../fonts/academicons-free/webfonts" !default; - -@font-face { - font-family: 'Academicons'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url('#{$ai-font-path}/academicons.eot'); - src: url('#{$ai-font-path}/academicons.eot') format("embedded-opentype"), url('#{$ai-font-path}/academicons.ttf') format("truetype"), url('#{$ai-font-path}/academicons.woff') format("woff"), url('#{$ai-font-path}//academicons.svg') format("svg"); -} - -.ai { - font-family: 'Academicons'; - font-weight: 400; - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; -} - -.ai-academia:before { - content: "\e9af"; -} - -.ai-academia-square:before { - content: "\e93d"; -} - -.ai-acclaim:before { - content: "\e92e"; -} - -.ai-acclaim-square:before { - content: "\e93a"; -} - -.ai-acm:before { - content: "\e93c"; -} - -.ai-acm-square:before { - content: "\e95d"; -} - -.ai-acmdl:before { - content: "\e96a"; -} - -.ai-acmdl-square:before { - content: "\e9d3"; -} - -.ai-ads:before { - content: "\e9cb"; -} - -.ai-ads-square:before { - content: "\e94a"; -} - -.ai-africarxiv:before { - content: "\e91b"; -} - -.ai-africarxiv-square:before { - content: "\e90b"; -} - -.ai-archive:before { - content: "\e955"; -} - -.ai-archive-square:before { - content: "\e956"; -} - -.ai-arxiv:before { - content: "\e974"; -} - -.ai-arxiv-square:before { - content: "\e9a6"; -} - -.ai-biorxiv:before { - content: "\e9a2"; -} - -.ai-biorxiv-square:before { - content: "\e98b"; -} - -.ai-ceur:before { - content: "\e96d"; -} - -.ai-ceur-square:before { - content: "\e92f"; -} - -.ai-ciencia-vitae:before { - content: "\e912"; -} - -.ai-ciencia-vitae-square:before { - content: "\e913"; -} - -.ai-closed-access:before { - content: "\e942"; -} - -.ai-closed-access-square:before { - content: "\e943"; -} - -.ai-conversation:before { - content: "\e94c"; -} - -.ai-conversation-square:before { - content: "\e915"; -} - -.ai-coursera:before { - content: "\e95f"; -} - -.ai-coursera-square:before { - content: "\e97f"; -} - -.ai-crossref:before { - content: "\e918"; -} - -.ai-crossref-square:before { - content: "\e919"; -} - -.ai-cv:before { - content: "\e9a5"; -} - -.ai-cv-square:before { - content: "\e90a"; -} - -.ai-datacite:before { - content: "\e91c"; -} - -.ai-datacite-square:before { - content: "\e91d"; -} - -.ai-dataverse:before { - content: "\e9f7"; -} - -.ai-dataverse-square:before { - content: "\e9e4"; -} - -.ai-dblp:before { - content: "\e94f"; -} - -.ai-dblp-square:before { - content: "\e93f"; -} - -.ai-depsy:before { - content: "\e97a"; -} - -.ai-depsy-square:before { - content: "\e94b"; -} - -.ai-doi:before { - content: "\e97e"; -} - -.ai-doi-square:before { - content: "\e98f"; -} - -.ai-dryad:before { - content: "\e97c"; -} - -.ai-dryad-square:before { - content: "\e98c"; -} - -.ai-elsevier:before { - content: "\e961"; -} - -.ai-elsevier-square:before { - content: "\e910"; -} - -.ai-figshare:before { - content: "\e981"; -} - -.ai-figshare-square:before { - content: "\e9e7"; -} - -.ai-google-scholar:before { - content: "\e9d4"; -} - -.ai-google-scholar-square:before { - content: "\e9f9"; -} - -.ai-hal:before { - content: "\e92c"; -} - -.ai-hal-square:before { - content: "\e92d"; -} - -.ai-hypothesis:before { - content: "\e95a"; -} - -.ai-hypothesis-square:before { - content: "\e95b"; -} - -.ai-ideas-repec:before { - content: "\e9ed"; -} - -.ai-ideas-repec-square:before { - content: "\e9f8"; -} - -.ai-ieee:before { - content: "\e929"; -} - -.ai-ieee-square:before { - content: "\e9b9"; -} - -.ai-impactstory:before { - content: "\e9cf"; -} - -.ai-impactstory-square:before { - content: "\e9aa"; -} - -.ai-inaturalist:before { - content: "\e900"; -} - -.ai-inaturalist-square:before { - content: "\e901"; -} - -.ai-inpn:before { - content: "\e902"; -} - -.ai-inpn-square:before { - content: "\e903"; -} - -.ai-inspire:before { - content: "\e9e9"; -} - -.ai-inspire-square:before { - content: "\e9fe"; -} - -.ai-isidore:before { - content: "\e936"; -} - -.ai-isidore-square:before { - content: "\e954"; -} - -.ai-jstor:before { - content: "\e938"; -} - -.ai-jstor-square:before { - content: "\e944"; -} - -.ai-lattes:before { - content: "\e9b3"; -} - -.ai-lattes-square:before { - content: "\e99c"; -} - -.ai-mathoverflow:before { - content: "\e9f6"; -} - -.ai-mathoverflow-square:before { - content: "\e97b"; -} - -.ai-mendeley:before { - content: "\e9f0"; -} - -.ai-mendeley-square:before { - content: "\e9f3"; -} - -.ai-moodle:before { - content: "\e907"; -} - -.ai-moodle-square:before { - content: "\e908"; -} - -.ai-mtmt:before { - content: "\e950"; -} - -.ai-mtmt-square:before { - content: "\e951"; -} - -.ai-nakala:before { - content: "\e940"; -} - -.ai-nakala-square:before { - content: "\e941"; -} - -.ai-obp:before { - content: "\e92a"; -} - -.ai-obp-square:before { - content: "\e92b"; -} - -.ai-open-access:before { - content: "\e939"; -} - -.ai-open-access-square:before { - content: "\e9f4"; -} - -.ai-open-data:before { - content: "\e966"; -} - -.ai-open-data-square:before { - content: "\e967"; -} - -.ai-open-materials:before { - content: "\e968"; -} - -.ai-open-materials-square:before { - content: "\e969"; -} - -.ai-openedition:before { - content: "\e946"; -} - -.ai-openedition-square:before { - content: "\e947"; -} - -.ai-orcid:before { - content: "\e9d9"; -} - -.ai-orcid-square:before { - content: "\e9c3"; -} - -.ai-osf:before { - content: "\e9ef"; -} - -.ai-osf-square:before { - content: "\e931"; -} - -.ai-overleaf:before { - content: "\e914"; -} - -.ai-overleaf-square:before { - content: "\e98d"; -} - -.ai-philpapers:before { - content: "\e98a"; -} - -.ai-philpapers-square:before { - content: "\e96f"; -} - -.ai-piazza:before { - content: "\e99a"; -} - -.ai-piazza-square:before { - content: "\e90c"; -} - -.ai-preregistered:before { - content: "\e906"; -} - -.ai-preregistered-square:before { - content: "\e96b"; -} - -.ai-protocols:before { - content: "\e952"; -} - -.ai-protocols-square:before { - content: "\e953"; -} - -.ai-psyarxiv:before { - content: "\e90e"; -} - -.ai-psyarxiv-square:before { - content: "\e90f"; -} - -.ai-publons:before { - content: "\e937"; -} - -.ai-publons-square:before { - content: "\e94e"; -} - -.ai-pubmed:before { - content: "\e99f"; -} - -.ai-pubmed-square:before { - content: "\e97d"; -} - -.ai-pubpeer:before { - content: "\e922"; -} - -.ai-pubpeer-square:before { - content: "\e923"; -} - -.ai-researcherid:before { - content: "\e91a"; -} - -.ai-researcherid-square:before { - content: "\e95c"; -} - -.ai-researchgate:before { - content: "\e95e"; -} - -.ai-researchgate-square:before { - content: "\e99e"; -} - -.ai-ror:before { - content: "\e948"; -} - -.ai-ror-square:before { - content: "\e949"; -} - -.ai-sci-hub:before { - content: "\e959"; -} - -.ai-sci-hub-square:before { - content: "\e905"; -} - -.ai-scirate:before { - content: "\e98e"; -} - -.ai-scirate-square:before { - content: "\e99d"; -} - -.ai-scopus:before { - content: "\e91e"; -} - -.ai-scopus-square:before { - content: "\e91f"; -} - -.ai-semantic-scholar:before { - content: "\e96e"; -} - -.ai-semantic-scholar-square:before { - content: "\e96c"; -} - -.ai-springer:before { - content: "\e928"; -} - -.ai-springer-square:before { - content: "\e99b"; -} - -.ai-ssrn:before { - content: "\e916"; -} - -.ai-ssrn-square:before { - content: "\e917"; -} - -.ai-stackoverflow:before { - content: "\e920"; -} - -.ai-stackoverflow-square:before { - content: "\e921"; -} - -.ai-zenodo:before { - content: "\e911"; -} - -.ai-zotero:before { - content: "\e962"; -} - -.ai-zotero-square:before { - content: "\e932"; -} - -/* Duplication of the FontAwesome style classes using 'ai' in place of 'fa'. */ - -.ai-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -.0667em; -} - -.ai-xs { - font-size: .75em; -} - -.ai-sm { - font-size: .875em; -} - -.ai-1x { - font-size: 1em; -} - -.ai-2x { - font-size: 2em; -} - -.ai-3x { - font-size: 3em; -} - -.ai-4x { - font-size: 4em; -} - -.ai-5x { - font-size: 5em; -} - -.ai-6x { - font-size: 6em; -} - -.ai-7x { - font-size: 7em; -} - -.ai-8x { - font-size: 8em; -} - -.ai-9x { - font-size: 9em; -} - -.ai-10x { - font-size: 10em; -} - -.ai-fw { - text-align: center; - width: 1.25em; -} - -.ai-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; - - > li { - position: relative; - } -} - -.ai-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; -} - -.ai-border { - border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; -} - -.ai-pull-left { - float: left; -} - -.ai-pull-right { - float: right; -} - -.ai { - &.ai-pull-left, &.ai-pull-right { - margin-right: .3em; - } -} - -.ai-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; -} - -.ai-stack-1x, .ai-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; -} - -.ai-stack-1x { - line-height: inherit; -} - -.ai-stack-2x { - font-size: 2em; -} - -.ai-inverse { - color: #fff; -} \ No newline at end of file diff --git a/assets/vendor/bulma/CHANGELOG.md b/assets/vendor/bulma/CHANGELOG.md deleted file mode 100644 index 67da6a7..0000000 --- a/assets/vendor/bulma/CHANGELOG.md +++ /dev/null @@ -1,1459 +0,0 @@ -# Bulma Changelog - -## 0.9.0 - -### RTL support - -Bulma now has **RTL support**. - -By setting the Sass flag `$rtl` to `true`, you can create an RTL version of Bulma, thanks to 4 new Sass mixins: - -* `=ltr` -* `=rtl` -* `=ltr-property($property, $spacing, $right: true)` -* `=ltr-position($spacing, $right: true)` - -The Bulma package now also comes with a `bulma-rtl.css` and `bulma-rtl.min.css` file to be used straight away. - -### Spacing helpers - -Bulma now has **spacing helpers**: https://bulma.io/documentation/helpers/spacing-helpers/ - -

Bulma provides margin m* and padding p* helpers in all directions:

- - - -

- You need to combine a margin/padding prefix with a direciton suffix. For example: -

- - - -

- Each of these property-direction combinations needs to be appended with one of 6 value suffixes -

- -This release also includes the following helpers: - -* light and dark color helpers -* light and dark background color helpers - -### Improvements - -* #2925 Center table cell content vertically with `is-vcentered` - -### Bug fixes - -* #2955 Fix issue when there's only one `is-toggle` tag - -## 0.8.2 - -### Bug fixes - -* Fix #2885 -> Revert `$input-color: $text-strong` - -## 0.8.1 - -### Improvements - -* #2709 Add light colors to the `notification` element -* #2740 Fixes #2739 -> Add variables size for layout `hero` -* Fix #2741 -> Create `bulmaRgba()` function to support `inherit` value -* #2756 Add `$button-text-decoration` variable - -### Bug fixes - -* #2664 Fixes #2671 -> Add `$panel-colors` variable - -## 0.8.0 - -### Big update - -#### Larger form controls - -Controls and buttons are now `2.5em` high. You can revert this resizing by setting these previous values: - -```sass -$control-height: 2.25em -$control-padding-vertical: calc(0.375em - #{$control-border-width}) -$control-padding-horizontal: calc(0.625em - #{$control-border-width}) -$button-padding-vertical: calc(0.375em - #{$button-border-width}) -$button-padding-horizontal: 0.75em -``` - -#### Light and dark colors - -Each main color (`"primary"`, `"info"`, `"success"`, `"warning"`, `"danger"`) now has a `*-light` and `*-dark` version. They are calculated using 2 new color functions: - -* `findLightColor()` which finds the light version of a color -* `findDarkolor()` which finds the dark version of a color - -The light colors are used by the `button` element, while the light and dark colors are used by the `message` component. - -#### Panel colors - -The `panel` component is now available in all the different colors. - -#### 4-value color map - -The `$colors` Sass map now accepts, for each of its values, a map of up to **4** values. For example: the key `"info"` now has the `($info, $info-invert, $info-light, $info-dark)` map. - -If you provide a `$custom-colors` map, you can decide to provide a map of 1, 2, 3 or 4 values for each value. If fewer than 4 are provided, Bulma will calculate the remaining ones: - -```scss -$custom-colors: ( - "lime": (lime), - "tomato": (tomato, white), - "orange": ($orange, $orange-invert, $orange-light), - "lavender": ($lavender, $lavender-invert, $lavender-light, $lavender-dark) -); -``` - -This is processed by the updated `mergeColorMaps()` Sass function. - -#### Scheme variables - -There are 6 new `$scheme` derived variables: `$scheme-main` `$scheme-main-bis` `$scheme-main-ter` `$scheme-invert` `$scheme-invert-bis` `$scheme-invert-ter` -They replace the `$white` and `$black` occurences in the codebase. This makes it easy to create a "Dark mode" simply by swapping the values: - -```sass -$scheme-main: $black -$scheme-invert: $white -// etc. -``` - -That is also why most of the codebase now references **derived** variables (`$text`, `$background`, `$border` etc.) instead of **initial** ones (`$grey`, `$grey-lighter`, `$grey-darker` etc.): updating the derived variables will affect all elements and components directly. - -#### Initial variables - -* `$green: hsl(141, 53%, 53%)` -* `$cyan: hsl(204, 71%, 53%)` -* `$red: hsl(348, 86%, 61%)` - -#### Derived variables - -* `$primary-invert: findColorInvert($primary)` -* `$primary-light: findLightColor($primary)` -* `$primary-dark: findDarkColor($primary)` -* `$info-invert: findColorInvert($info)` -* `$info-light: findLightColor($info)` -* `$info-dark: findDarkColor($info)` -* `$success-invert: findColorInvert($success)` -* `$success-light: findLightColor($success)` -* `$success-dark: findDarkColor($success)` -* `$warning-invert: findColorInvert($warning)` -* `$warning-light: findLightColor($warning)` -* `$warning-dark: findDarkColor($warning)` -* `$danger-invert: findColorInvert($danger)` -* `$danger-light: findLightColor($danger)` -* `$danger-dark: findDarkColor($danger)` -* `$light-invert: findColorInvert($light)` -* `$dark-invert: findColorInvert($dark)` - -* `$scheme-main: $white` -* `$scheme-main-bis: $white-bis` -* `$scheme-main-ter: $white-ter` -* `$scheme-invert: $black` -* `$scheme-invert-bis: $black-bis` -* `$scheme-invert-ter: $black-ter` - -### Other variables - -* `$control-height: 2.5em` -* `$control-padding-vertical: calc(0.5em - #{$control-border-width})` -* `$control-padding-horizontal: calc(0.75em - #{$control-border-width})` -* `$media-border-color: rgba($border, 0.5)` -* `$notification-code-background-color: $scheme-main` -* `$panel-radius: $radius-large` -* `$panel-shadow: 0 0.5em 1em -0.125em rgba($scheme-invert, 0.1), 0 0px 0 1px rgba($scheme-invert, 0.02)` -* `$textarea-padding: $control-padding-horizontal` -* `$textarea-max-height: 40em` -* `$textarea-min-height: 8em` - -### Bug fixes - -* Fix #2647 -> Missing meta tags in snippet -* Fix #2031, Fix #2483 -> Invalid output when declaring a custom shade map -* Fix #2060 -> `height: auto` on HTML `audio` element breaks height of element -* Fix #706 -> Derive `-invert` variables using `findColorInvert()` -* #1608 Fix #1552 -> `.container.is-fluid` margins - -### New features - -* #2563 `.image` has a new `.is-fullwidth` modifier - -## 0.7.5 - -### Deprecation warning - -The `form.sass` file is **deprecated**. It has moved into its own `/form` folder. If you were importing `form.sass`, please import `sass/form/_all.sass` now. -If you were simply importing the whole of Bulma with `@import "~/bulma/bulma.sass"` or similar, you won't have to change anything, and everything will work as before. - -### New features - -#### Support for overriding the `font-family` - -You can now specify a different `font-family` for the `.title`, `.subtitle` and `.button` by using the variables `$title-family`, `$subtitle-family` and `$button-family` respectively. - -Simply set a value when importing Bulma: - -```scss -$title-family: "Georgia", serif; -``` - -* #2375 Add `.is-relative` helper -* #2321 Make `.navbar` focus behave like hover for the navigation -* #2290 Fix #1186 -> Reset the offset on columns -* #2231 Add `.has-text-weight-medium` helper -* #2224 Add customizable border radius to progress bar -* #2480 Add `$footer-color` variable - -### Improvements - -* #2396 Update docs with webpack 4 example -* #2381 Make centered buttons have equal margin -* Fix #2297 -> Remove `.container` fixed width values, use `flex-grow` -* #2478 Move form.sass into its own folder - -### Bug fixes - -* #2420 Fix #2414 -> Fix `align` attribute in `td/th` being ignored -* #2463 Remove duplicate `.has-addons` in `tag.sass` -* #2253 Fix `$gap` variable default value -* #2273 Fix #2258 -> Fix Indeterminate Progress Bar animation in Firefox -* #2175 Proper aligning for `.tabs` within `.content` -* #2476 Fix #2441 -> Correct active pagination link text colour on hero - -Fix #1979 -> Correct loading spinner color when a button is: - -* outlined and hovered/focused -* outlined, inverted and hovered/focused - -### New variables - -#### Initial variables - -* `$block-spacing` - -#### Base - -* `$body-font-size` -* `$small-font-size` -* `$pre-font-size` -* `$pre-padding` -* `$pre-code-font-size` - -#### Components - -* `$card-header-padding` -* `$card-content-padding` -* `$card-media-margin` -* `$dropdown-menu-min-width` -* `$dropdown-content-padding-bottom` -* `$dropdown-content-padding-top` -* `$level-item-spacing` -* `$menu-list-line-height` -* `$menu-list-link-padding` -* `$menu-nested-list-margin` -* `$menu-nested-list-padding-left` -* `$menu-label-font-size` -* `$menu-label-letter-spacing` -* `$menu-label-spacing` -* `$pagination-item-font-size` -* `$pagination-item-margin` -* `$pagination-item-padding-left` -* `$pagination-item-padding-right` -* `$panel-margin` -* `$panel-tabs-font-size` - -#### Elements - -* `$container-offset` - -#### Grid - -* `$tile-spacing` - -## 0.7.3 - -### New features - -* #2145 Fix #372 -> New indeterminate progress bars -* #2206 Fix #2046 -> New variables `$table-head-background-color`, `$table-body-background-color` and `$table-foot-background-color` for the `.table` element -* #592 -> Give arbitrary elements access to the image/ratio classes -* #1682 Fix #1681 -> Adds disabled styles for `
` -* #2201 Fix #1875 -> `.buttons` and `.tags` group sizing (`.are-small`, `.are-medium`, `.are-large`) - -### Improvements - -* #1978 Fix #1696 -> Force `box-sizing: border-box` on `details` element -* #2167 Fix #1878 -> New `$footer-padding` variable -* #2168 -> New `$input-placeholder-color` and `$input-disabled-placeholder-color` variables - -### Bug fixes - -* #2157 Fix #1656 -> Allow border radius if only one `.control` in `.field` -* #2091 Fix #2091 -> Remove CSS rule which causes `.tag.has-addons` to not work correctly -* #2186 Fix #1130 -> Prevent `.dropdown` links underlining in `.message` component -* Fix #2154 -> Move `.hero.is-fullheight-with-navbar` to `navbar.sass` file - -### Deprecation - -* `.control.has-icon` deprecated in favor of `.control.has-icons` - -## 0.7.2 - -### New features - -* #1884 New `$navbar-burger-color` variable -* #1679 Add breakpoint based column gaps -* #1905 Fix `modal` for IE11 #1902 -* #1919 New `is-arrowless` class for navbar items -* #1949 New `is-fullheight-with-navbar` class for heros -* #1764 New `.is-sr-only` helper -* #2109 Add and use `$navbar-breakpoint` variable -* New variables `$control-height`, `$control-line-height`, `$pagination-min-width`, `$input-height` -* #1720 Add list element feature -* #2123 Add `.content ol` types: `.is-lower-roman`, `.is-upper-roman`, `.is-lower-alpha`, `.is-upper-alpha`, and support for the `type=` HTML attribute - -### Improvements - -* #1964 Allow `.notification` to have a `.dropdown-item` -* #1999 Change `$border` to `$grey-lighter` in mixins -* #2085 `.media-content` will allow scrolling horizontally if the content is too wide -* #1744 Fix #1710 by using `$table-striped-row-even-hover-background-color` only for even rows -* #2074 Allow ` - - {{ end }} - {{ end }} - {{ partial "top-icon.html" . }} - - -

-{{ end }} diff --git a/layouts/partials/home/social.html b/layouts/partials/home/social.html deleted file mode 100644 index 9a9d7c2..0000000 --- a/layouts/partials/home/social.html +++ /dev/null @@ -1,24 +0,0 @@ -
- {{ range .Site.Params.social }} - {{ if eq .icon_pack "fa" }} - - - - {{ end }} - {{ if eq .icon_pack "fab" }} - - - - {{ end }} - {{ if eq .icon_pack "fas" }} - - - - {{ end }} - {{ if eq .icon_pack "ai" }} - - - - {{ end }} - {{ end }} -
diff --git a/layouts/partials/js/owlCarousel.html b/layouts/partials/js/owlCarousel.html deleted file mode 100644 index f64ebc7..0000000 --- a/layouts/partials/js/owlCarousel.html +++ /dev/null @@ -1,4 +0,0 @@ -{{ $owlCarousel := resources.Get "vendor/owlCarousel/owl.carousel.min.js" }} -{{ $initOwlCarousel := resources.Get "js/initOwlCarousel.js" | minify }} -{{ $bundleOwlCarousel := slice $owlCarousel $initOwlCarousel | resources.Concat "js/bundleOwlCarousel.js" | fingerprint }} - diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html deleted file mode 100644 index c38c0b6..0000000 --- a/layouts/partials/nav.html +++ /dev/null @@ -1,119 +0,0 @@ -{{ if .Site.Params.showMenu | default true }} - -
-
- -
-
- -{{ end }} diff --git a/layouts/partials/top-icon-with-hr.html b/layouts/partials/top-icon-with-hr.html deleted file mode 100644 index 4595a80..0000000 --- a/layouts/partials/top-icon-with-hr.html +++ /dev/null @@ -1,7 +0,0 @@ -
-
-
-{{ partial "top-icon.html" . }} -
-
-
diff --git a/layouts/partials/top-icon.html b/layouts/partials/top-icon.html deleted file mode 100644 index 015516f..0000000 --- a/layouts/partials/top-icon.html +++ /dev/null @@ -1,5 +0,0 @@ -
- - - -
diff --git a/layouts/projects/list.html b/layouts/projects/list.html deleted file mode 100644 index 0bbe8b6..0000000 --- a/layouts/projects/list.html +++ /dev/null @@ -1,43 +0,0 @@ -{{ define "main" }} -
- {{ .Content }} -
-
-
-
- {{ $numberOfPages := len .Pages}} - {{ range .Pages.ByWeight }} - {{ $width := "302x" }} - {{ $columWidth := "is-one-third" }} - {{ if .Site.Params.projects.useTwoColumns }} - {{ $columWidth = "is-half" }} - {{ $width = "490x" }} - {{ end}} - - {{ end }} -
-
-
-{{ end }} diff --git a/layouts/projects/single.html b/layouts/projects/single.html deleted file mode 100644 index 819f8f3..0000000 --- a/layouts/projects/single.html +++ /dev/null @@ -1,36 +0,0 @@ -{{ define "main" }} -
- {{ with .Resources.ByType "image" }} -
- {{ $moreThanOneImage := gt (len .) 1 }} - {{ if $moreThanOneImage }} - - {{ end }} -
- {{ end }} - {{ .Content }} -
- - {{ partial "comments.html" . }} -{{ end }} - -{{ define "customCSS" }} -{{ partial "css/owlCarousel.html" . }} -{{ end }} - -{{ define "customScripts" }} -{{ partial "js/owlCarousel.html" . }} -{{ end }} diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 30702f4..0000000 --- a/package-lock.json +++ /dev/null @@ -1,917 +0,0 @@ -{ - "name": "adityakumar.xyz", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "dependencies": { - "autoprefixer": "^10.4.14", - "postcss": "^8.4.24", - "postcss-cli": "^10.1.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", - "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001489", - "electron-to-chromium": "^1.4.411", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001499", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001499.tgz", - "integrity": "sha512-IhoQqRrW6WiecFcfZgoJS1YLEN1/HR1vHP5WNgjCARRW7KUNToHHTX3FrwCM+y4zkRa48D9rE90WFYc2IWhDWQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.427", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz", - "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-stdin": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", - "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-cli": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-10.1.0.tgz", - "integrity": "sha512-Zu7PLORkE9YwNdvOeOVKPmWghprOtjFQU3srMUGbdz3pHJiFh7yZ4geiZFMkjMfB0mtTFR3h8RemR62rPkbOPA==", - "dependencies": { - "chokidar": "^3.3.0", - "dependency-graph": "^0.11.0", - "fs-extra": "^11.0.0", - "get-stdin": "^9.0.0", - "globby": "^13.0.0", - "picocolors": "^1.0.0", - "postcss-load-config": "^4.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^5.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "postcss": "index.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", - "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", - "dependencies": { - "picocolors": "^1.0.0", - "thenby": "^1.3.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/thenby": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", - "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index fd90359..0000000 --- a/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "dependencies": { - "autoprefixer": "^10.4.14", - "postcss": "^8.4.24", - "postcss-cli": "^10.1.0" - } -} diff --git a/scripts/build_docs.sh b/scripts/build_docs.sh deleted file mode 100755 index 2e9a77a..0000000 --- a/scripts/build_docs.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -rm -rf ../docs -cd ../exampleSite -HUGO_THEME=hugo-theme-introduction hugo --gc --minify --themesDir ../.. -v -b / -d ../docs diff --git a/static/README b/static/README new file mode 100644 index 0000000..9c565ef --- /dev/null +++ b/static/README @@ -0,0 +1,6 @@ +The favicons in this directory were generated using the following graphics from Twitter Twemoji: + +- Graphics Title: 1f35a.svg +- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji) +- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f35a.svg +- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/) diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000..dc22f05 Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000..fa80ccd Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000..c5668a3 Binary files /dev/null and b/static/apple-touch-icon.png differ diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000..2ec54d8 Binary files /dev/null and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 0000000..047ad4a Binary files /dev/null and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..7ccf4bb Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/style.css b/style.css deleted file mode 100644 index 3780ebd..0000000 --- a/style.css +++ /dev/null @@ -1,60 +0,0 @@ -@font-face { - font-family: 'Libre Baskerville'; - src: url('fonts/Libre_Baskerville/LibreBaskerville-Regular.ttf'); - -} - -@font-face { - font-family: 'Lora'; - src: url('fonts/Lora/Lora-VariableFont_wght.ttf'); -} - -body { - background-color: linen; - background-repeat: no-repeat; - color: #606060; - margin: 10px; - padding: 1em; -} - -header { - font-size: 150%; - text-align: center; -} - -h1, h2 { - font-family: 'Libre Baskerville', serif; -} - -a { - color: #b00c2f; - text-decoration: none; -} - -a:hover, a:active { - text-decoration: underline; -} - -.content { - font-family: 'Lora', serif; -} - -header, main, section, footer { - padding-top: 10px; -} - -footer { - margin-left: 5%; - margin-right: 5%; - text-align: center; - font-size: 80%; -} - -a.footer-link { - color: #808080; - text-decoration: none; -} - -a:hover.footer-link { - color: #b00c2f; -} diff --git a/themes/risotto/.github/workflows/hugo-build-exampleSite.yml b/themes/risotto/.github/workflows/hugo-build-exampleSite.yml new file mode 100644 index 0000000..3b25641 --- /dev/null +++ b/themes/risotto/.github/workflows/hugo-build-exampleSite.yml @@ -0,0 +1,36 @@ +name: hugo build + +on: + push: + branches: + - main + pull_request: + +jobs: + deploy: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod + path: risotto + + - name: Setup Hugo + uses: peaceiris/actions-hugo@v2 + with: + hugo-version: '0.85.0' + # extended: true + + - name: Build + working-directory: ./risotto/exampleSite + run: hugo --minify --themesDir="../.." -t risotto + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/main' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./risotto/exampleSite/public + cname: risotto.joeroe.io diff --git a/themes/risotto/.gitignore b/themes/risotto/.gitignore new file mode 100644 index 0000000..2a8645f --- /dev/null +++ b/themes/risotto/.gitignore @@ -0,0 +1 @@ +.hugo_build.lock diff --git a/themes/risotto/LICENSE b/themes/risotto/LICENSE new file mode 100644 index 0000000..5c93805 --- /dev/null +++ b/themes/risotto/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2021 Joe Roe + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/risotto/NEWS.md b/themes/risotto/NEWS.md new file mode 100644 index 0000000..37d7584 --- /dev/null +++ b/themes/risotto/NEWS.md @@ -0,0 +1,38 @@ +# risotto (development version) + +# risotto 0.4.0 + +* Added descriptions to sidebar of list pages, where defined in the frontmatter of `_index.md` (#55) +* Made sidebar sticky, avoiding overflow for long tables of contents (#51) +* Added convenience classes for colours, e.g. `.base00` and `.bg-base00`. +* Fixed overflow of code blocks with line numbers (#41) +* Fixed invalid HTML in page header (#64) +* Updated FontAwesome to 6.5.1 (#63) + * Please note that future versions will probably not include FontAwesome by default +* Updated Academicons to 1.9.4 (#63) + * Please note that future versions will probably not include Academicons by default + +# risotto 0.3.0 + +* Added support for favicons (#57) + +# risotto 0.2.0 + +* **Breaking change** – new framework for colour palettes: + * Palettes are defined using CSS variables following the [base16](https://github.com/chriskempson/base16) system + * Added 14 new palettes: `apprentice`, `base16-dark`, `base16-light`, `dracula`, `material`, `papercolor-dark`, `papercolor-light`, `solarized-dark`, `solarized-light`, `tender`, `tokyo-night-dark`, `tokyo-night-light`, `windows-95` and `windows-95-light`. + * The default palette is `base16-dark` + * The `mode` parameter is no longer needed + * If you were using one of the old named palettes (`gruvbox-dark` or `gruvbox-light`), the change will be seamless. + * If you were using a custom palette, you will need to redefine it using the new framework. See README for further details. +* Added a table of contents (thanks @dashv, #47) +* Added multilanguage support with a language switcher (thanks @bedefaced) +* Made the site header and nav wrap more efficiently on narrow screens (thanks @m-dev672, #32) +* Added a changelog + +# risotto 0.1.0 + +First named release, including: + +* `gruvbox-dark` and `gruvbox-light` colour palettes +* FontAwesome6 and Academicons icon sets diff --git a/themes/risotto/README.md b/themes/risotto/README.md new file mode 100644 index 0000000..91919c2 --- /dev/null +++ b/themes/risotto/README.md @@ -0,0 +1,108 @@ +# risotto + +risotto is a minimalist, responsive [hugo](https://gohugo.io) theme inspired by terminal ricing aesthetics. + +[![Hugo Themes](https://img.shields.io/badge/Hugo_Themes-risotto-blue?logo=hugo)](https://themes.gohugo.io/themes/risotto/) +[![Version](https://img.shields.io/badge/semver-v0.3.0-blue)](https://semver.org) +![hugo build status](https://github.com/joeroe/risotto/actions/workflows/hugo-build-exampleSite.yml/badge.svg) +![W3C Validation](https://img.shields.io/w3c-validation/html?targetUrl=https%3A%2F%2Frisotto.joeroe.io) +![Code size](https://img.shields.io/github/languages/code-size/joeroe/risotto) + +![Screenshot of the risotto theme](https://raw.githubusercontent.com/joeroe/risotto/master/images/screenshot.png) + +## Features + +* Plain, semantic HTML with no Javascript +* Plain CSS – no frameworks, no preprocessors, just simple and easy-to-customise stylesheets +* Uses [CSS Grid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout) for native responsive behaviour without arbitrary breakpoints +* Comes with [16 built-in colour schemes](#colour-schemes) based on popular terminal themes plus the ability to use custom themes using the [base16 system](https://github.com/monicfenga/base16-styles) + +## Install + +The easiest way to install the theme is to [download the latest release](https://github.com/joeroe/risotto/releases/tag/release) and extract it to your project's `themes/` directory. +You can also clone this repository into your site's `themes` directory and checkout the latest release: + +```shell +git clone https://github.com/joeroe/risotto themes/risotto && cd themes/risotto +rit checkout $(git tag -l | grep '^v[0-9.]*$' | sort -V | tail -n 1) +``` + +Note that this will not work if your site is itself a git repository. +In that case, you can add the theme as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules), but this is not recommended due to the difficulty of tracking a specific release. + +## Update + +If you installed the theme using `git clone`, pull the repository to get the latest version: + +```shell +cd themes/risotto +git pull +``` + +Otherwise, simply [download the latest release](https://github.com/joeroe/risotto/releases/tag/release) and extract it to your project's `themes/` directory, replacing the old version. + +## Configure + +To use the theme, add `theme = 'risotto'` to your site's `config.toml`, or `theme: risotto` to your `config.yaml`. + +See `exampleSite/config.toml` for the theme-specific parameters you need to add to your site's `config.toml` or `config.yaml` to configure the theme. + +### Colour schemes + +risotto uses the [base16 framework](https://github.com/chriskempson/base16) to define colour schemes that can be used with the `theme.palette` parameter. +A selection of 16 palettes (10 dark, 6 light) are bundled with the theme: `apprentice`, `base16-dark`, `base16-light`, `dracula`, `gruvbox-dark`, `gruvbox-light`, `material`, `papercolor-dark`, `papercolor-light`, `solarized-dark`, `solarized-light`, `tender`, `tokyo-night-dark`, `tokyo-night-light`, `windows-95` and `windows-95-light`. +The default is `base16-dark`. + + + +The easiest way to use other base16 styles is to place .css file from https://github.com/monicfenga/base16-styles/tree/master/css-variables and place it in your `static/css/palettes` directory. + +Or to define a wholly custom theme, you will need to define the following CSS variables for the following base16 colours (see [base16-dark.css](blob/main/static/css/palettes/base16-dark.css) for an example): + +| Base | Default colour | Used for | Examples | +| ---- | ------------------------------------------ | ------------------- | ------------------------------------ | +| 00 | Dark | Background | Page background | +| 01 | | Alt. background | Content background | +| 02 | | In-text backgrounds | `
`, ``, ``, `` |
+| 03   |               | Muted text          | `:before` & `:marker` symbols        |
+| 04   |               | Alt. foreground     | Aside text                           |
+| 05   |               | Foreground          | Content text                         |
+| 06   |               |                     |                                      |
+| 07   | Light          |                     |                                      |
+| 08   | Red            |                     |                                      |
+| 09   | Orange         |                     |                                      |
+| 0A   | Yellow         | Highlights          | Selected text, ``              |
+| 0B   | Green          | Primary accent      | Logo                                 |
+| 0C   | Cyan           | Active links        | `a:active`, `a:hover`                |
+| 0D   | Blue           | Links               | `a:link`, `a:visited`                |
+| 0E   | Magenta        |                     |                                      |
+| 0F   | Brown          |                     |                                      |
+
+For light mode palettes, the sequence of 00–07 should be reversed (light to dark, not dark to light).
+Note that not all colours are currently used in the theme.
+
+You you use these colours directly in content using the convenience classes `.baseXX` and `.bg-baseXX`.
+For example:
+
+```html
+Yellow text
+Text highlighted in green
+```
+
+## Favicon
+
+risotto will automatically use favicons placed in the `static/` directory.
+The following files will be detected and included in your site's `` section:
+
+* `favicon.ico`
+* `favicon-16x16.png`
+* `favicon-32x32.png`
+* `apple-touch-icon.png`
+* `site.webmanifest`
+
+You can generate these from an image or emoji using [favicon.io](https://favicon.io/) or a similar service.
+They must be placed directly under your site's `static/` directory, i.e. not in in a subdirectory or `themes/risotto/static/`.
+
+## Acknowledgements
+
+The 'cooked rice' emoji used as a favicon for the example site was created by the [Twemoji project](https://twemoji.twitter.com/) and is licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/).
diff --git a/themes/risotto/archetypes/default.md b/themes/risotto/archetypes/default.md
new file mode 100644
index 0000000..ac36e06
--- /dev/null
+++ b/themes/risotto/archetypes/default.md
@@ -0,0 +1,2 @@
++++
++++
diff --git a/themes/risotto/config.toml b/themes/risotto/config.toml
new file mode 100644
index 0000000..7c79705
--- /dev/null
+++ b/themes/risotto/config.toml
@@ -0,0 +1,3 @@
+[module]
+  [module.hugoVersion]
+    min = "0.41.0"
diff --git a/assets/vendor/bulma/LICENSE b/themes/risotto/exampleSite/LICENSE
similarity index 88%
rename from assets/vendor/bulma/LICENSE
rename to themes/risotto/exampleSite/LICENSE
index 2c51c72..4527efb 100644
--- a/assets/vendor/bulma/LICENSE
+++ b/themes/risotto/exampleSite/LICENSE
@@ -1,6 +1,6 @@
 The MIT License (MIT)
 
-Copyright (c) 2020 Jeremy Thomas
+Copyright (c) 2014 Steve Francia
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:
 
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
 
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/themes/risotto/exampleSite/config.toml b/themes/risotto/exampleSite/config.toml
new file mode 100644
index 0000000..a10a293
--- /dev/null
+++ b/themes/risotto/exampleSite/config.toml
@@ -0,0 +1,100 @@
+baseURL = "https://risotto.joeroe.io"
+theme = "risotto"
+title = "risotto demo"
+author = "Joe Roe"
+copyright = "© [Joe Roe](https://joeroe.io) & [risotto contributors](https://github.com/joeroe/risotto/graphs/contributors)."
+paginate = 3
+languageCode = "en"
+DefaultContentLanguage = "en"
+enableInlineShortcodes = true
+# prevent build failures when using Hugo's Instagram shortcode due to deprecated Instagram API.
+# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
+ignoreErrors = ["error-remote-getjson"]
+
+# Automatically add content sections to main menu
+sectionPagesMenu = "main"
+
+[params]
+noindex = false
+
+[params.theme]
+palette = "base16-dark"
+
+# Sidebar: about/bio
+[params.about]
+title = "risotto"
+description = "A [hugo](https://gohugo.io) theme inspired by terminal ricing."
+logo = "images/rice.svg"
+
+# Sidebar: social links
+# Available icon sets:
+# * FontAwesome 6  ('fa-brands', 'fa-normal', or 'fa-solid' for brands)
+# * Academicons  ('ai ai-')
+
+[[params.socialLinks]]
+icon = "fa-brands fa-github"
+title = "GitHub"
+url = "https://github.com/joeroe/risotto"
+
+[[params.socialLinks]]
+icon = "fa-solid fa-envelope"
+title = "Email"
+url = "mailto:example@example.com"
+
+[[params.socialLinks]]
+icon = "ai ai-orcid"
+title = "ORCID"
+url = "https://orcid.org/0000-0001-2345-6789"
+
+[menu]
+
+  [[menu.main]]
+    identifier = "about"
+    name = "About"
+    url = "/about/"
+    weight = 10
+
+[taxonomies]
+category = "categories"
+tag = "tags"
+series = "series"
+
+# For hugo >= 0.60.0, enable inline HTML
+[markup.goldmark.renderer]
+unsafe = true
+
+[markup]
+
+  # Table of contents
+  # Add toc = true to content front matter to enable
+  [markup.tableOfContents]
+    startLevel = 2
+    endLevel   = 3
+    ordered    = true
+
+[privacy]
+
+  [privacy.vimeo]
+    disabled = false
+    simple = true
+
+  [privacy.twitter]
+    disabled = false
+    enableDNT = true
+    simple = true
+
+  [privacy.instagram]
+    disabled = false
+    simple = true
+
+  [privacy.youtube]
+    disabled = false
+    privacyEnhanced = true
+
+[services]
+
+  [services.instagram]
+    disableInlineCSS = true
+
+  [services.twitter]
+    disableInlineCSS = true
diff --git a/themes/risotto/exampleSite/configTaxo.toml b/themes/risotto/exampleSite/configTaxo.toml
new file mode 100644
index 0000000..9220fcf
--- /dev/null
+++ b/themes/risotto/exampleSite/configTaxo.toml
@@ -0,0 +1,27 @@
+timeout = 30000
+enableInlineShortcodes = true
+
+[taxonomies]
+category = "categories"
+tag = "tags"
+series = "series"
+
+[privacy]
+
+  [privacy.vimeo]
+    disabled = false
+    simple = true
+
+  [privacy.twitter]
+    disabled = false
+    enableDNT = true
+    simple = true
+    disableInlineCSS = true
+
+  [privacy.instagram]
+    disabled = false
+    simple = true
+
+  [privacy.youtube]
+    disabled = false
+    privacyEnhanced = true
diff --git a/themes/risotto/exampleSite/content/_index.md b/themes/risotto/exampleSite/content/_index.md
new file mode 120000
index 0000000..fe84005
--- /dev/null
+++ b/themes/risotto/exampleSite/content/_index.md
@@ -0,0 +1 @@
+../../README.md
\ No newline at end of file
diff --git a/themes/risotto/exampleSite/content/_index.md.old b/themes/risotto/exampleSite/content/_index.md.old
new file mode 100644
index 0000000..ed6494b
--- /dev/null
+++ b/themes/risotto/exampleSite/content/_index.md.old
@@ -0,0 +1,3 @@
++++
+author = "Hugo Authors"
++++
diff --git a/themes/risotto/exampleSite/content/about.md b/themes/risotto/exampleSite/content/about.md
new file mode 100644
index 0000000..b31bf1d
--- /dev/null
+++ b/themes/risotto/exampleSite/content/about.md
@@ -0,0 +1,25 @@
++++
+title = "About"
+description = "Hugo, the world's fastest framework for building websites"
+date = "2019-02-28"
+aliases = ["about-us", "about-hugo", "contact"]
+author = "Hugo Authors"
++++
+
+Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.
+
+Hugo makes use of a variety of open source projects including:
+
+* https://github.com/yuin/goldmark
+* https://github.com/alecthomas/chroma
+* https://github.com/muesli/smartcrop
+* https://github.com/spf13/cobra
+* https://github.com/spf13/viper
+
+Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.
+
+Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.
+
+Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.
+
+Learn more and contribute on [GitHub](https://github.com/gohugoio).
diff --git a/themes/risotto/exampleSite/content/archives.md b/themes/risotto/exampleSite/content/archives.md
new file mode 100644
index 0000000..db16eed
--- /dev/null
+++ b/themes/risotto/exampleSite/content/archives.md
@@ -0,0 +1,5 @@
+---
+date: 2019-05-28
+type: section
+layout: "archives"
+---
diff --git a/themes/risotto/exampleSite/content/homepage/about.md b/themes/risotto/exampleSite/content/homepage/about.md
new file mode 100644
index 0000000..b5d6981
--- /dev/null
+++ b/themes/risotto/exampleSite/content/homepage/about.md
@@ -0,0 +1,7 @@
+---
+title: 'Our Difference'
+button: 'About us'
+weight: 2
+---
+
+Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Ipsum dolor sit amet, et essent mediocritatem quo.
diff --git a/themes/risotto/exampleSite/content/homepage/index.md b/themes/risotto/exampleSite/content/homepage/index.md
new file mode 100644
index 0000000..ca03031
--- /dev/null
+++ b/themes/risotto/exampleSite/content/homepage/index.md
@@ -0,0 +1,3 @@
+---
+headless: true
+---
diff --git a/themes/risotto/exampleSite/content/homepage/work.md b/themes/risotto/exampleSite/content/homepage/work.md
new file mode 100644
index 0000000..f99bc99
--- /dev/null
+++ b/themes/risotto/exampleSite/content/homepage/work.md
@@ -0,0 +1,7 @@
+---
+title: 'We Help Business Grow'
+button: 'Our Work'
+weight: 1
+---
+
+Lorem ipsum dolor sit amet, et essent mediocritatem quo, choro volumus oporteat an mei. Numquam dolores mel eu, mea docendi omittantur et, mea ea duis erat. Elit melius cu ius. Per ex novum tantas putant, ei his nullam aliquam apeirian. Aeterno quaestio constituto sea an, no eum intellegat assueverit.
diff --git a/themes/risotto/exampleSite/content/post/_index.md b/themes/risotto/exampleSite/content/post/_index.md
new file mode 100644
index 0000000..e7eb988
--- /dev/null
+++ b/themes/risotto/exampleSite/content/post/_index.md
@@ -0,0 +1,7 @@
++++
+aliases = ["posts", "articles", "blog", "showcase", "docs"]
+title = "Posts"
+author = "Hugo Authors"
+description = "Example posts demonstrating hugo's markup features"
+tags = ["index"]
++++
diff --git a/themes/risotto/exampleSite/content/post/emoji-support.md b/themes/risotto/exampleSite/content/post/emoji-support.md
new file mode 100644
index 0000000..dc3589a
--- /dev/null
+++ b/themes/risotto/exampleSite/content/post/emoji-support.md
@@ -0,0 +1,46 @@
++++
+author = "Hugo Authors"
+title = "Emoji Support"
+date = "2019-03-05"
+description = "Guide to emoji usage in Hugo"
+tags = [
+    "emoji",
+]
++++
+
+Emoji can be enabled in a Hugo project in a number of ways. 
+
+The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). 
+
+To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
+
+

🙈 :see_no_evil: 🙉 :hear_no_evil: 🙊 :speak_no_evil:

+
+ +The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. + +*** + +**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. + +{{< highlight html >}} +.emoji { + font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; +} +{{< /highlight >}} + +{{< css.inline >}} + +{{< /css.inline >}} diff --git a/themes/risotto/exampleSite/content/post/markdown-syntax.md b/themes/risotto/exampleSite/content/post/markdown-syntax.md new file mode 100644 index 0000000..dcbab1b --- /dev/null +++ b/themes/risotto/exampleSite/content/post/markdown-syntax.md @@ -0,0 +1,149 @@ ++++ +author = "Hugo Authors" +title = "Markdown Syntax Guide" +date = "2019-03-11" +description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +tags = [ + "markdown", + "css", + "html", +] +categories = [ + "themes", + "syntax", +] +series = ["Themes Guide"] +aliases = ["migrate-from-jekyl"] +toc = true ++++ + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. + + +## Headings + +The following HTML `

`—`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +#### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use *Markdown syntax* within a blockquote. + +#### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
+> — Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. + + Name | Age +--------|------ + Bob | 27 + Alice | 23 + +#### Inline Markdown within tables + +| Italics | Bold | Code | +| -------- | -------- | ------ | +| *italics* | **bold** | `code` | + +## Code Blocks + +#### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

Test

+ + +``` + +#### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

Test

+ + + +#### Code block with Hugo's internal highlight shortcode +{{< highlight html >}} + + + + + Example HTML5 Document + + +

Test

+ + +{{< /highlight >}} + +## List Types + +#### Ordered List + +1. First item +2. Second item +3. Third item + +#### Unordered List + +* List item +* Another item +* And another item + +#### Nested list + +* Fruit + * Apple + * Orange + * Banana +* Dairy + * Milk + * Cheese + +## Other Elements — abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/themes/risotto/exampleSite/content/post/math-typesetting.md b/themes/risotto/exampleSite/content/post/math-typesetting.md new file mode 100644 index 0000000..48fdc79 --- /dev/null +++ b/themes/risotto/exampleSite/content/post/math-typesetting.md @@ -0,0 +1,49 @@ +--- +author: Hugo Authors +title: Math Typesetting +date: 2019-03-08 +description: A brief guide to setup KaTeX +math: true +--- + +Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. + + +In this example we will be using [KaTeX](https://katex.org/) + +- Create a partial under `/layouts/partials/math.html` +- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. +- Include the partial in your templates like so: + +```bash +{{ if or .Params.math .Site.Params.math }} +{{ partial "math.html" . }} +{{ end }} +``` + +- To enable KaTex globally set the parameter `math` to `true` in a project's configuration +- To enable KaTex on a per page basis include the parameter `math: true` in content files + +**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) + +{{< math.inline >}} +{{ if or .Page.Params.math .Site.Params.math }} + + + + +{{ end }} +{{}} + +### Examples + +{{< math.inline >}} +

+Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\) +

+{{}} + +Block math: +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/themes/risotto/exampleSite/content/post/placeholder-text.md b/themes/risotto/exampleSite/content/post/placeholder-text.md new file mode 100644 index 0000000..9ed5f69 --- /dev/null +++ b/themes/risotto/exampleSite/content/post/placeholder-text.md @@ -0,0 +1,45 @@ ++++ +author = "Hugo Authors" +title = "Placeholder Text" +date = "2019-03-09" +description = "Lorem Ipsum Dolor Si Amet" +tags = [ + "markdown", + "text", +] ++++ + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +# Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +## Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. + +{{< css.inline >}} + +{{< /css.inline >}} diff --git a/themes/risotto/exampleSite/content/post/rich-content.md b/themes/risotto/exampleSite/content/post/rich-content.md new file mode 100644 index 0000000..92b4b03 --- /dev/null +++ b/themes/risotto/exampleSite/content/post/rich-content.md @@ -0,0 +1,34 @@ ++++ +author = "Hugo Authors" +title = "Rich Content" +date = "2019-03-10" +description = "A brief description of Hugo Shortcodes" +tags = [ + "shortcodes", + "privacy", +] ++++ + +Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. + +--- + +## YouTube Privacy Enhanced Shortcode + +{{< youtube ZJthWmvUzzc >}} + +
+ +--- + +## Twitter Simple Shortcode + +{{< twitter_simple 1085870671291310081 >}} + +
+ +--- + +## Vimeo Simple Shortcode + +{{< vimeo_simple 48912912 >}} diff --git a/themes/risotto/exampleSite/layouts/.gitkeep b/themes/risotto/exampleSite/layouts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/themes/risotto/exampleSite/static/README b/themes/risotto/exampleSite/static/README new file mode 100644 index 0000000..9c565ef --- /dev/null +++ b/themes/risotto/exampleSite/static/README @@ -0,0 +1,6 @@ +The favicons in this directory were generated using the following graphics from Twitter Twemoji: + +- Graphics Title: 1f35a.svg +- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji) +- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f35a.svg +- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/) diff --git a/themes/risotto/exampleSite/static/android-chrome-192x192.png b/themes/risotto/exampleSite/static/android-chrome-192x192.png new file mode 100644 index 0000000..dc22f05 Binary files /dev/null and b/themes/risotto/exampleSite/static/android-chrome-192x192.png differ diff --git a/themes/risotto/exampleSite/static/android-chrome-512x512.png b/themes/risotto/exampleSite/static/android-chrome-512x512.png new file mode 100644 index 0000000..fa80ccd Binary files /dev/null and b/themes/risotto/exampleSite/static/android-chrome-512x512.png differ diff --git a/themes/risotto/exampleSite/static/apple-touch-icon.png b/themes/risotto/exampleSite/static/apple-touch-icon.png new file mode 100644 index 0000000..c5668a3 Binary files /dev/null and b/themes/risotto/exampleSite/static/apple-touch-icon.png differ diff --git a/themes/risotto/exampleSite/static/favicon-16x16.png b/themes/risotto/exampleSite/static/favicon-16x16.png new file mode 100644 index 0000000..2ec54d8 Binary files /dev/null and b/themes/risotto/exampleSite/static/favicon-16x16.png differ diff --git a/themes/risotto/exampleSite/static/favicon-32x32.png b/themes/risotto/exampleSite/static/favicon-32x32.png new file mode 100644 index 0000000..047ad4a Binary files /dev/null and b/themes/risotto/exampleSite/static/favicon-32x32.png differ diff --git a/themes/risotto/exampleSite/static/favicon.ico b/themes/risotto/exampleSite/static/favicon.ico new file mode 100644 index 0000000..7ccf4bb Binary files /dev/null and b/themes/risotto/exampleSite/static/favicon.ico differ diff --git a/themes/risotto/exampleSite/static/site.webmanifest b/themes/risotto/exampleSite/static/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/themes/risotto/exampleSite/static/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/themes/risotto/images/screenshot.png b/themes/risotto/images/screenshot.png new file mode 100644 index 0000000..557d55b Binary files /dev/null and b/themes/risotto/images/screenshot.png differ diff --git a/themes/risotto/images/tn.png b/themes/risotto/images/tn.png new file mode 100644 index 0000000..4a21a86 Binary files /dev/null and b/themes/risotto/images/tn.png differ diff --git a/themes/risotto/layouts/404.html b/themes/risotto/layouts/404.html new file mode 100644 index 0000000..e69de29 diff --git a/themes/risotto/layouts/_default/baseof.html b/themes/risotto/layouts/_default/baseof.html new file mode 100644 index 0000000..9ef13f5 --- /dev/null +++ b/themes/risotto/layouts/_default/baseof.html @@ -0,0 +1,36 @@ + + + + + {{- partial "head.html" . -}} + + + +
+ + + +
+ {{- block "main" . }}{{- end }} +
+ +
+
+ {{- partial "about.html" . -}} +
+
+
+ {{- block "aside" . }}{{- end }} +
+
+ +
+ {{- partial "footer.html" . -}} +
+ +
+ + + diff --git a/themes/risotto/layouts/_default/li.html b/themes/risotto/layouts/_default/li.html new file mode 100644 index 0000000..c85e091 --- /dev/null +++ b/themes/risotto/layouts/_default/li.html @@ -0,0 +1 @@ +
  • {{ .Title | markdownify }}
  • diff --git a/themes/risotto/layouts/_default/list.html b/themes/risotto/layouts/_default/list.html new file mode 100644 index 0000000..6966c31 --- /dev/null +++ b/themes/risotto/layouts/_default/list.html @@ -0,0 +1,16 @@ +{{ define "main" }} +

    {{ .Title | markdownify }}

    + + {{ .Content }} + +
      + {{ range .Pages }} + {{ .Render "li" }} + {{ end }} +
    + +{{ end }} + +{{define "aside" }} + {{ if .Params.description }}

    {{ .Params.description }}

    {{ end }} +{{ end }} diff --git a/themes/risotto/layouts/_default/single.html b/themes/risotto/layouts/_default/single.html new file mode 100644 index 0000000..23274ed --- /dev/null +++ b/themes/risotto/layouts/_default/single.html @@ -0,0 +1,25 @@ +{{ define "main" }} +
    +

    {{ .Title | markdownify }}

    +
    +
    + {{ .Content }} +
    +
    +{{ end }} + +{{define "aside" }} + {{ if .Params.description }}

    {{ .Params.description }}

    {{ end }} + {{ if or (.Params.author) (.Params.date) }} +

    + {{ if .Params.author }}By {{ .Params.author }}{{ if .Date }}, {{ end }}{{ end }} + {{ if .Date }}{{ .Date.Format "2006-01-02" }}{{ end }} +

    + {{ end }} + + {{ if and (.Params.toc) (.TableOfContents) }} +
    + On this page: + {{ .TableOfContents }} + {{ end }} +{{ end }} diff --git a/themes/risotto/layouts/index.html b/themes/risotto/layouts/index.html new file mode 100644 index 0000000..c346e42 --- /dev/null +++ b/themes/risotto/layouts/index.html @@ -0,0 +1,4 @@ +{{ define "main" }} + {{ .Content }} +{{ end }} + diff --git a/themes/risotto/layouts/partials/about.html b/themes/risotto/layouts/partials/about.html new file mode 100644 index 0000000..6c6e1bc --- /dev/null +++ b/themes/risotto/layouts/partials/about.html @@ -0,0 +1,15 @@ +{{ with .Site.Params.about }} +
    + {{ with .logo }}{{ end }} +

    {{ .title }}

    +{{ with .description }}

    {{ . | markdownify }}

    {{ end }} +
    +{{ end }} + + diff --git a/themes/risotto/layouts/partials/footer.html b/themes/risotto/layouts/partials/footer.html new file mode 100644 index 0000000..7ee6434 --- /dev/null +++ b/themes/risotto/layouts/partials/footer.html @@ -0,0 +1,3 @@ +{{- partial "lang.html" . -}} + + diff --git a/themes/risotto/layouts/partials/head.html b/themes/risotto/layouts/partials/head.html new file mode 100644 index 0000000..be872d3 --- /dev/null +++ b/themes/risotto/layouts/partials/head.html @@ -0,0 +1,24 @@ +{{ with .Title }}{{ . }} – {{end}}{{ .Site.Title }} +{{ with .Site.Params.about }}{{ end }} + + + +{{ if .Site.Params.noindex }} {{ end }} + + + + + + + + + + + + + +{{ if os.FileExists "static/favicon.ico" }}{{ end }} +{{ if os.FileExists "static/favicon-32x32.png" }}{{ end }} +{{ if os.FileExists "static/favicon-16x16.png" }}{{ end }} +{{ if os.FileExists "static/apple-touch-icon.png" }}{{ end }} +{{ if os.FileExists "static/site.webmanifest" }}{{ end }} diff --git a/themes/risotto/layouts/partials/header.html b/themes/risotto/layouts/partials/header.html new file mode 100644 index 0000000..45c46ce --- /dev/null +++ b/themes/risotto/layouts/partials/header.html @@ -0,0 +1,10 @@ + + diff --git a/themes/risotto/layouts/partials/lang.html b/themes/risotto/layouts/partials/lang.html new file mode 100644 index 0000000..43c93d4 --- /dev/null +++ b/themes/risotto/layouts/partials/lang.html @@ -0,0 +1,28 @@ +

    + {{ $siteLanguages := .Site.Languages }} + {{ $pageLang := .Page.Lang }} + + {{ $currentPage := . }} + {{ $pageName := "" }} + {{ range .Site.Menus.main }} + {{ if eq ($currentPage.Permalink) (.URL | absLangURL) }} + {{ $pageName = .Name }} + {{ end }} + {{ end }} + + {{ range .Page.AllTranslations }} + {{ $translation := .}} + {{ range $siteLanguages }} + {{ if eq $translation.Lang .Lang }} + {{ $selected := false }} + {{ if eq $pageLang .Lang }} +
    $ echo $LANG
    {{ .LanguageName }}

    + + {{ else }} +
    export LANG={{ .LanguageName }}; ./{{ $pageName }}
    + {{ end }} + {{ end }} + {{ end }} + {{ end }} +

    +

    diff --git a/themes/risotto/layouts/post/list.html b/themes/risotto/layouts/post/list.html new file mode 100644 index 0000000..658b1eb --- /dev/null +++ b/themes/risotto/layouts/post/list.html @@ -0,0 +1,26 @@ +{{ define "main" }} +
    +

    {{ .Title | markdownify }}

    + {{ .Content }} +
    + + {{ range .Pages }} + + {{ end }} +{{ end }} + +{{define "aside" }} + {{ if .Params.description }}

    {{ .Params.description }}

    {{ end }} +{{ end }} diff --git a/themes/risotto/static/css/about.css b/themes/risotto/static/css/about.css new file mode 100644 index 0000000..6c12ba4 --- /dev/null +++ b/themes/risotto/static/css/about.css @@ -0,0 +1,26 @@ +/* About/bio section */ +.about__logo { + height: 1.5rem; +} + +.about__title { + display: inline; + vertical-align: top; +} + +.about__title::before { + content: none; +} + +/* Social media links */ +.aside__social-links { + padding: 0; +} + +.aside__social-links li { + display: inline-block; +} + +.aside__social-links li::marker { + content: none; +} diff --git a/themes/risotto/static/css/colours.css b/themes/risotto/static/css/colours.css new file mode 100644 index 0000000..4326985 --- /dev/null +++ b/themes/risotto/static/css/colours.css @@ -0,0 +1,17 @@ +:root { + /* Background */ + --bg: var(--base00); + --off-bg: var(--base01); + --inner-bg: var(--base02); + + /* Text */ + --fg: var(--base05); + --off-fg: var(--base04); + --muted: var(--base03); + --link: var(--base0D); + --hover: var(--base0C); + --highlight: var(--base0A); + + /* Logo */ + --logo: var(--base0B); +} diff --git a/themes/risotto/static/css/custom.css b/themes/risotto/static/css/custom.css new file mode 100644 index 0000000..71949ed --- /dev/null +++ b/themes/risotto/static/css/custom.css @@ -0,0 +1 @@ +/* Override this file to customise the theme's CSS for your site */ diff --git a/themes/risotto/static/css/footer.css b/themes/risotto/static/css/footer.css new file mode 100644 index 0000000..3e84188 --- /dev/null +++ b/themes/risotto/static/css/footer.css @@ -0,0 +1,7 @@ +.page__footer { + color: var(--off-fg); +} + +.page__footer p { + margin: 0; +} diff --git a/themes/risotto/static/css/header.css b/themes/risotto/static/css/header.css new file mode 100644 index 0000000..cab735b --- /dev/null +++ b/themes/risotto/static/css/header.css @@ -0,0 +1,20 @@ +/* Main menu */ +.main-nav ul { + display: flex; + flex-flow: row wrap; + justify-content: flex-start; + margin: 0; + padding: 0 0 0.25rem 0; + gap: 0rem 1.5rem; +} + +.main-nav li { + padding-top: 0.25rem; + margin-left: 1rem; + text-transform: lowercase; +} + +.main-nav li::marker { + content: "./"; +} + diff --git a/themes/risotto/static/css/layout.css b/themes/risotto/static/css/layout.css new file mode 100644 index 0000000..06f69e7 --- /dev/null +++ b/themes/risotto/static/css/layout.css @@ -0,0 +1,62 @@ +/* 1rem = 16px by default */ + +.page { + max-width: 64rem; + margin: 1rem auto; + display: grid; + grid-template-areas: + "header" + "body" + "aside" + "footer"; + grid-template-columns: minmax(0, 1fr); /* https://css-tricks.com/preventing-a-grid-blowout/ */ + grid-row-gap: 2rem; +} + +@media (min-width: 45rem) { + .page { + grid-template-areas: + "header header" + "body aside" + "footer footer"; + grid-template-columns: minmax(0, 1fr) 15rem; + grid-column-gap: 2rem; + } +} + +/* Header */ +.page__header { + grid-area: header; + display: flex; +} + +.page__logo { + flex-shrink: 0; +} + +.page__nav { + flex-grow: 1; +} + +/* Body + aside */ +.page__body { + grid-area: body; + background-color: var(--off-bg); + box-shadow: 0 0 0 1rem var(--off-bg); + overflow-wrap: break-word; +} + +.page__aside { + grid-area: aside; + color: var(--off-fg); + position: sticky; + top: 1rem; + right: 1rem; + overflow-y: auto; + max-height: 95vh; +} + +/* Footer */ +.page__footer { + grid-area: footer; +} diff --git a/themes/risotto/static/css/logo.css b/themes/risotto/static/css/logo.css new file mode 100644 index 0000000..368fff4 --- /dev/null +++ b/themes/risotto/static/css/logo.css @@ -0,0 +1,37 @@ +.page__logo { + padding: 0; + margin: 0; + font-weight: inherit; + color: var(--bg); +} + +.page__logo:before { + content: none; +} + +.page__logo-inner { + display: block; + background: var(--logo); + opacity: 0.90; + padding: 0.25rem; +} + +a.page__logo-inner:link, a.page__logo-inner:visited { + color: inherit; + text-decoration: inherit; +} + +a.page__logo-inner:hover, +a.page__logo-inner:active { + opacity: 1; +} + +.page__logo-inner:before { + content: "["; + color: var(--bg); +} + +.page__logo-inner:after { + content: "] $"; + color: var(--bg); +} diff --git a/themes/risotto/static/css/palettes/apprentice.css b/themes/risotto/static/css/palettes/apprentice.css new file mode 100644 index 0000000..303d1c7 --- /dev/null +++ b/themes/risotto/static/css/palettes/apprentice.css @@ -0,0 +1,20 @@ +/* Apprentice by romainl */ + +:root { + --base00: #262626; + --base01: #AF5F5F; + --base02: #5F875F; + --base03: #87875F; + --base04: #5F87AF; + --base05: #5F5F87; + --base06: #5F8787; + --base07: #6C6C6C; + --base08: #444444; + --base09: #FF8700; + --base0A: #87AF87; + --base0B: #FFFFAF; + --base0C: #87AFD7; + --base0D: #8787AF; + --base0E: #5FAFAF; + --base0F: #BCBCBC; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/base16-dark.css b/themes/risotto/static/css/palettes/base16-dark.css new file mode 100644 index 0000000..cb1ec1d --- /dev/null +++ b/themes/risotto/static/css/palettes/base16-dark.css @@ -0,0 +1,22 @@ +/* base16 default dark + * https://github.com/chriskempson/base16-default-schemes + */ + +:root { + --base00: #181818; + --base01: #282828; + --base02: #383838; + --base03: #585858; + --base04: #b8b8b8; + --base05: #d8d8d8; + --base06: #e8e8e8; + --base07: #f8f8f8; + --base08: #ab4642; + --base09: #dc9656; + --base0A: #f7ca88; + --base0B: #a1b56c; + --base0C: #86c1b9; + --base0D: #7cafc2; + --base0E: #ba8baf; + --base0F: #a16946; +} diff --git a/themes/risotto/static/css/palettes/base16-light.css b/themes/risotto/static/css/palettes/base16-light.css new file mode 100644 index 0000000..bcbbb5a --- /dev/null +++ b/themes/risotto/static/css/palettes/base16-light.css @@ -0,0 +1,22 @@ +/* base16 default light + * https://github.com/chriskempson/base16-default-schemes + */ + +:root { + --base00: #f8f8f8; + --base01: #e8e8e8; + --base02: #d8d8d8; + --base03: #b8b8b8; + --base04: #585858; + --base05: #383838; + --base06: #282828; + --base07: #181818; + --base08: #ab4642; + --base09: #dc9656; + --base0A: #f7ca88; + --base0B: #a1b56c; + --base0C: #86c1b9; + --base0D: #7cafc2; + --base0E: #ba8baf; + --base0F: #a16946; +} diff --git a/themes/risotto/static/css/palettes/dracula.css b/themes/risotto/static/css/palettes/dracula.css new file mode 100644 index 0000000..66f1abc --- /dev/null +++ b/themes/risotto/static/css/palettes/dracula.css @@ -0,0 +1,20 @@ +/* Dracula by Mike Barkmin (http://github.com/mikebarkmin) based on Dracula Theme (http://github.com/dracula) */ + +:root { + --base00: #282936; + --base01: #3a3c4e; + --base02: #4d4f68; + --base03: #626483; + --base04: #62d6e8; + --base05: #e9e9f4; + --base06: #f1f2f8; + --base07: #f7f7fb; + --base08: #ea51b2; + --base09: #b45bcf; + --base0A: #00f769; + --base0B: #ebff87; + --base0C: #a1efe4; + --base0D: #62d6e8; + --base0E: #b45bcf; + --base0F: #00f769; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/gruvbox-dark.css b/themes/risotto/static/css/palettes/gruvbox-dark.css new file mode 100644 index 0000000..1d60bd9 --- /dev/null +++ b/themes/risotto/static/css/palettes/gruvbox-dark.css @@ -0,0 +1,23 @@ +/* gruvbox dark + * https://github.com/morhetz/gruvbox + * base16: https://github.com/dawikur/base16-gruvbox-scheme + */ + +:root { + --base00: #282828; + --base01: #3c3836; + --base02: #504945; + --base03: #665c54; + --base04: #bdae93; + --base05: #d5c4a1; + --base06: #ebdbb2; + --base07: #fbf1c7; + --base08: #fb4934; + --base09: #fe8019; + --base0A: #fabd2f; + --base0B: #b8bb26; + --base0C: #8ec07c; + --base0D: #83a598; + --base0E: #d3869b; + --base0F: #d65d0e; +} diff --git a/themes/risotto/static/css/palettes/gruvbox-light.css b/themes/risotto/static/css/palettes/gruvbox-light.css new file mode 100644 index 0000000..f786cf0 --- /dev/null +++ b/themes/risotto/static/css/palettes/gruvbox-light.css @@ -0,0 +1,23 @@ +/* gruvbox light + * https://github.com/morhetz/gruvbox + * base16: https://github.com/dawikur/base16-gruvbox-scheme + */ + +:root { + --base00: #fbf1c7; + --base01: #ebdbb2; + --base02: #d5c4a1; + --base03: #bdae93; + --base04: #665c54; + --base05: #504945; + --base06: #3c3836; + --base07: #282828; + --base08: #9d0006; + --base09: #af3a03; + --base0A: #b57614; + --base0B: #79740e; + --base0C: #427b58; + --base0D: #076678; + --base0E: #8f3f71; + --base0F: #d65d0e; +} diff --git a/themes/risotto/static/css/palettes/material.css b/themes/risotto/static/css/palettes/material.css new file mode 100644 index 0000000..60bfafb --- /dev/null +++ b/themes/risotto/static/css/palettes/material.css @@ -0,0 +1,20 @@ +/* Material by Nate Peterson */ + +:root { + --base00: #263238; + --base01: #2E3C43; + --base02: #314549; + --base03: #546E7A; + --base04: #B2CCD6; + --base05: #EEFFFF; + --base06: #EEFFFF; + --base07: #FFFFFF; + --base08: #F07178; + --base09: #F78C6C; + --base0A: #FFCB6B; + --base0B: #C3E88D; + --base0C: #89DDFF; + --base0D: #82AAFF; + --base0E: #C792EA; + --base0F: #FF5370; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/papercolor-dark.css b/themes/risotto/static/css/palettes/papercolor-dark.css new file mode 100644 index 0000000..d289932 --- /dev/null +++ b/themes/risotto/static/css/palettes/papercolor-dark.css @@ -0,0 +1,20 @@ +/* PaperColor Dark by Jon Leopard (http://github.com/jonleopard) based on PaperColor Theme (https://github.com/NLKNguyen/papercolor-theme) */ + +:root { + --base00: #1c1c1c; + --base01: #af005f; + --base02: #5faf00; + --base03: #d7af5f; + --base04: #5fafd7; + --base05: #808080; + --base06: #d7875f; + --base07: #d0d0d0; + --base08: #585858; + --base09: #5faf5f; + --base0A: #afd700; + --base0B: #af87d7; + --base0C: #ffaf00; + --base0D: #ff5faf; + --base0E: #00afaf; + --base0F: #5f8787; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/papercolor-light.css b/themes/risotto/static/css/palettes/papercolor-light.css new file mode 100644 index 0000000..7eeb7f5 --- /dev/null +++ b/themes/risotto/static/css/palettes/papercolor-light.css @@ -0,0 +1,20 @@ +/* PaperColor Light by Jon Leopard (http://github.com/jonleopard) based on PaperColor Theme (https://github.com/NLKNguyen/papercolor-theme) */ + +:root { + --base00: #eeeeee; + --base01: #af0000; + --base02: #008700; + --base03: #5f8700; + --base04: #0087af; + --base05: #444444; + --base06: #005f87; + --base07: #878787; + --base08: #bcbcbc; + --base09: #d70000; + --base0A: #d70087; + --base0B: #8700af; + --base0C: #d75f00; + --base0D: #d75f00; + --base0E: #005faf; + --base0F: #005f87; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/solarized-dark.css b/themes/risotto/static/css/palettes/solarized-dark.css new file mode 100644 index 0000000..a646595 --- /dev/null +++ b/themes/risotto/static/css/palettes/solarized-dark.css @@ -0,0 +1,20 @@ +/* Solarized Dark by Ethan Schoonover (modified by aramisgithub) */ + +:root { + --base00: #002b36; + --base01: #073642; + --base02: #586e75; + --base03: #657b83; + --base04: #839496; + --base05: #93a1a1; + --base06: #eee8d5; + --base07: #fdf6e3; + --base08: #dc322f; + --base09: #cb4b16; + --base0A: #b58900; + --base0B: #859900; + --base0C: #2aa198; + --base0D: #268bd2; + --base0E: #6c71c4; + --base0F: #d33682; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/solarized-light.css b/themes/risotto/static/css/palettes/solarized-light.css new file mode 100644 index 0000000..dfb92c1 --- /dev/null +++ b/themes/risotto/static/css/palettes/solarized-light.css @@ -0,0 +1,20 @@ +/* Solarized Light by Ethan Schoonover (modified by aramisgithub) */ + +:root { + --base00: #fdf6e3; + --base01: #eee8d5; + --base02: #93a1a1; + --base03: #839496; + --base04: #657b83; + --base05: #586e75; + --base06: #073642; + --base07: #002b36; + --base08: #dc322f; + --base09: #cb4b16; + --base0A: #b58900; + --base0B: #859900; + --base0C: #2aa198; + --base0D: #268bd2; + --base0E: #6c71c4; + --base0F: #d33682; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/tender.css b/themes/risotto/static/css/palettes/tender.css new file mode 100644 index 0000000..77fbe87 --- /dev/null +++ b/themes/risotto/static/css/palettes/tender.css @@ -0,0 +1,20 @@ +/* tender by Jacobo Tabernero (https://github/com/jacoborus/tender.vim) */ + +:root { + --base00: #282828; + --base01: #383838; + --base02: #484848; + --base03: #4c4c4c; + --base04: #b8b8b8; + --base05: #eeeeee; + --base06: #e8e8e8; + --base07: #feffff; + --base08: #f43753; + --base09: #dc9656; + --base0A: #ffc24b; + --base0B: #c9d05c; + --base0C: #73cef4; + --base0D: #b3deef; + --base0E: #d3b987; + --base0F: #a16946; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/tokyo-night-dark.css b/themes/risotto/static/css/palettes/tokyo-night-dark.css new file mode 100644 index 0000000..760d2fe --- /dev/null +++ b/themes/risotto/static/css/palettes/tokyo-night-dark.css @@ -0,0 +1,20 @@ +/* Tokyo Night Dark by Michaël Ball */ + +:root { + --base00: #1A1B26; + --base01: #16161E; + --base02: #2F3549; + --base03: #444B6A; + --base04: #787C99; + --base05: #A9B1D6; + --base06: #CBCCD1; + --base07: #D5D6DB; + --base08: #C0CAF5; + --base09: #A9B1D6; + --base0A: #0DB9D7; + --base0B: #9ECE6A; + --base0C: #B4F9F8; + --base0D: #2AC3DE; + --base0E: #BB9AF7; + --base0F: #F7768E; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/tokyo-night-light.css b/themes/risotto/static/css/palettes/tokyo-night-light.css new file mode 100644 index 0000000..66e73c8 --- /dev/null +++ b/themes/risotto/static/css/palettes/tokyo-night-light.css @@ -0,0 +1,20 @@ +/* Tokyo Night Light by Michaël Ball */ + +:root { + --base00: #D5D6DB; + --base01: #CBCCD1; + --base02: #DFE0E5; + --base03: #9699A3; + --base04: #4C505E; + --base05: #343B59; + --base06: #1A1B26; + --base07: #1A1B26; + --base08: #343B58; + --base09: #965027; + --base0A: #166775; + --base0B: #485E30; + --base0C: #3E6968; + --base0D: #34548A; + --base0E: #5A4A78; + --base0F: #8C4351; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/windows-95-light.css b/themes/risotto/static/css/palettes/windows-95-light.css new file mode 100644 index 0000000..70cfeeb --- /dev/null +++ b/themes/risotto/static/css/palettes/windows-95-light.css @@ -0,0 +1,20 @@ +/* Windows 95 Light by Fergus Collins (https://github.com/C-Fergus) */ + +:root { + --base00: #fcfcfc; + --base01: #e0e0e0; + --base02: #c4c4c4; + --base03: #a8a8a8; + --base04: #7e7e7e; + --base05: #545454; + --base06: #2a2a2a; + --base07: #000000; + --base08: #a80000; + --base09: #fcfc54; + --base0A: #a85400; + --base0B: #00a800; + --base0C: #00a8a8; + --base0D: #0000a8; + --base0E: #a800a8; + --base0F: #54fc54; +} \ No newline at end of file diff --git a/themes/risotto/static/css/palettes/windows-95.css b/themes/risotto/static/css/palettes/windows-95.css new file mode 100644 index 0000000..5b44cf8 --- /dev/null +++ b/themes/risotto/static/css/palettes/windows-95.css @@ -0,0 +1,20 @@ +/* Windows 95 by Fergus Collins (https://github.com/C-Fergus) */ + +:root { + --base00: #000000; + --base01: #1C1C1C; + --base02: #383838; + --base03: #545454; + --base04: #7e7e7e; + --base05: #a8a8a8; + --base06: #d2d2d2; + --base07: #fcfcfc; + --base08: #fc5454; + --base09: #a85400; + --base0A: #fcfc54; + --base0B: #54fc54; + --base0C: #54fcfc; + --base0D: #5454fc; + --base0E: #fc54fc; + --base0F: #00a800; +} \ No newline at end of file diff --git a/themes/risotto/static/css/risotto.css b/themes/risotto/static/css/risotto.css new file mode 100644 index 0000000..dcb5a96 --- /dev/null +++ b/themes/risotto/static/css/risotto.css @@ -0,0 +1,12 @@ +@import 'colours.css'; +@import 'typography.css'; +@import 'layout.css'; +@import 'header.css'; +@import 'logo.css'; +@import 'about.css'; +@import 'footer.css'; + +body { + background-color: var(--bg); + color: var(--fg); +} diff --git a/themes/risotto/static/css/typography.css b/themes/risotto/static/css/typography.css new file mode 100644 index 0000000..086cd40 --- /dev/null +++ b/themes/risotto/static/css/typography.css @@ -0,0 +1,255 @@ +/* Fonts */ +:root { + --font-monospace: "Fira Mono", monospace; +} + +body { + font-family: var(--font-monospace); + font-size: 16px; + line-height: 1.5rem; +} + +/* Headings */ +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 1rem; + margin: 1.5rem 0 0 0; + font-weight: 600; +} + +h1+h2, +h1+h3, +h1+h4, +h1+h5, +h1+h6, +h2+h3, +h2+h4, +h2+h5, +h2+h6, +h3+h4, +h3+h5, +h3+h6, +h4+h5, +h4+h6, +h5+h6 { + margin: 0; +} + +h1:before { content: "# "; } +h2:before { content: "## "; } +h3:before { content: "### "; } +h4:before { content: "#### "; } +h5:before { content: "##### "; } +h6:before { content: "###### "; } + +h1:before, +h2:before, +h3:before, +h4:before, +h5:before, +h6:before { + color: var(--muted); +} + +h1:first-child { + margin-top: 0; +} + +/* Paragraphs */ +p { + margin: 0 0 1.5rem 0; +} + +/* Links */ + +a:link, a:visited { + color: var(--link); +} + +a:hover, a:active, a.active { + color: var(--hover); +} + +/* Lists */ +ul { + margin: 0 0 1.5rem 0; + padding-left: 1.25rem; +} + +ol { + margin: 0 0 1.5rem 0; + padding-left: 1.75rem; +} + +ul ul, +ul ol, +ol ul, +ol ol { + margin: 0; +} + +ul li::marker { + content: '∗\00A0'; + color: var(--muted); +} + +ol li::marker { + color: var(--muted); +} + +dt { + margin: 0; + font-weight: bold; +} + +dd { + margin: 0 0 0 1.5rem; + font-style: italic; +} + +dd + dt { + margin-top: 1.5rem; +} + +dl { + margin: 0 0 1.5rem 0; +} + +/* Blockquotes */ +blockquote { + position: relative; + margin: 0 0 1.5rem 1.5rem; +} + +blockquote::before { + position: absolute; + left: -1.5rem; + content: ">"; + color: var(--muted); +} + +.twitter-tweet::before { + content: "\f099"; + font-family: "Font Awesome 5 Brands"; + font-weight: 400; +} + +/* Code */ +pre, +code, +kbd, +samp { + background: var(--inner-bg) !important; + font-family: var(--font-monospace); + color: var(--off-fg); +} + +pre { + overflow-x: auto; + padding: 1.5rem; + margin: 0 0 1.5rem 0; +} + +/* Fix overflow when config markup.highlight.lineNos is true */ +/* See https://github.com/joeroe/risotto/issues/41 */ +.highlight div { + overflow-x: auto; +} + +/* Emphasis */ +b, +strong { + font-weight: 600; +} + +/* Highlighting */ +::selection, +mark { + background-color: var(--highlight); + color: var(--bg); +} + +/* Other typographic elements */ +hr { + border: 0; + margin-bottom: 1.5rem; +} + +hr:after { + content: '---'; + color: var(--muted); +} + + +/* Prevent super/sub from affecting line height */ +sup, sub { + vertical-align: baseline; + position: relative; + top: -0.25rem; + font-size: unset; +} +sub { + top: 0.25rem; +} + +/* Tables */ +table { + border-spacing: 0; + margin: 0 0 1.5rem 0; + overflow-wrap: anywhere; +} +th, td { + padding: 0 .75rem; + vertical-align: top; +} +th:first-child, td:first-child { + padding-left: 0; +} +th { + text-align: inherit; +} + +/* Figures */ +img { + max-width: 100%; + height: auto; +} + +/* Colour classes */ +.base00 { color: var(--base00); } +.base01 { color: var(--base01); } +.base02 { color: var(--base02); } +.base03 { color: var(--base03); } +.base04 { color: var(--base04); } +.base05 { color: var(--base05); } +.base06 { color: var(--base06); } +.base07 { color: var(--base07); } +.base08 { color: var(--base08); } +.base09 { color: var(--base09); } +.base0A { color: var(--base0A); } +.base0B { color: var(--base0B); } +.base0C { color: var(--base0C); } +.base0D { color: var(--base0D); } +.base0E { color: var(--base0E); } +.base0F { color: var(--base0F); } + +.bg-base00 { background-color: var(--base00); } +.bg-base01 { background-color: var(--base01); } +.bg-base02 { background-color: var(--base02); } +.bg-base03 { background-color: var(--base03); } +.bg-base04 { background-color: var(--base04); } +.bg-base05 { background-color: var(--base05); } +.bg-base06 { background-color: var(--base06); } +.bg-base07 { background-color: var(--base07); } +.bg-base08 { background-color: var(--base08); } +.bg-base09 { background-color: var(--base09); } +.bg-base0A { background-color: var(--base0A); } +.bg-base0B { background-color: var(--base0B); } +.bg-base0C { background-color: var(--base0C); } +.bg-base0D { background-color: var(--base0D); } +.bg-base0E { background-color: var(--base0E); } +.bg-base0F { background-color: var(--base0F); } diff --git a/themes/risotto/static/images/rice.svg b/themes/risotto/static/images/rice.svg new file mode 100644 index 0000000..53e480c --- /dev/null +++ b/themes/risotto/static/images/rice.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/risotto/theme.toml b/themes/risotto/theme.toml new file mode 100644 index 0000000..ad5f777 --- /dev/null +++ b/themes/risotto/theme.toml @@ -0,0 +1,15 @@ +name = "risotto" +license = "MIT" +licenselink = "https://github.com/joeroe/risotto/blob/master/LICENSE" +description = "A minimalist, responsive theme inspired by terminal ricing aesthetics." + +homepage = "https://github.com/joeroe/risotto" +demosite = "https://risotto.joeroe.io" + +tags = ["responsive", "minimal", "dark mode"] +features = [] + +[author] + name = "Joe Roe" + homepage = "https://joeroe.io" +