diff --git a/.gitattributes b/.gitattributes
index 5b221be79..45f37b485 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,3 @@
*.nims linguist-language=Nim
*.nim linguist-language=Nim
-*.* linguist-language=Nim
+# *.* linguist-language=Nim
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 94b77d10e..b79d13835 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -44,4 +44,4 @@ jobs:
run: nimble build -d:release
- name: Nimble install
- run: nimble install
\ No newline at end of file
+ run: nimble install
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1df33ac37..97d1cb91f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## v6.0.6
+## Changes
+- Fixes and updates for Nim >= 1.2.4.
+- Clean out and optimizations.
+
## v6.0.3
## Changes
- Fix #121, #122 and #123
diff --git a/README.md b/README.md
index fbf88f49d..f6d626ea7 100644
--- a/README.md
+++ b/README.md
@@ -4,13 +4,13 @@ A quick website tool. Run the nim file and access your webpage. Website: [https:
-
-
+
+

-
-
-
-
+
+
+
+
@@ -30,7 +30,6 @@ A quick website tool. Run the nim file and access your webpage. Website: [https:
## Security
- Self-Firejailing Web Framework (It Firejails itself) Best Linux Security integrated on the Core.
- 2 Factor Athentication TOTP
-- [Design by Contract, Contract Programming](https://dev.to/juancarlospaco/design-by-contract-immutability-side-effects-and-gulag-44fk).
- Security Hardened by default (based from [Gentoo Hardened](https://wiki.gentoo.org/wiki/Hardened_Gentoo) and [Debian Hardened](https://wiki.debian.org/Hardening), checked with [`hardening-check`](https://bitbucket.org/Alexander-Shukaev/hardening-check)).
- Coded following the [Power of 10: NASA Coding guidelines for safety-critical code](https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code#Rules) (as much as possible).
- ReCAPTCHA (Optional)
@@ -79,7 +78,7 @@ As alternative, [try AndOTP](https://github.com/andOTP/andOTP) (5Mb size).
- No Global Interpreter Lock, no single-Thread, no single-Core, no Interpreter. Use all your 32 CPU Cores.
## Responsive
-- Uses responsive [Bulma CSS framework](https://bulma.io), supports [Bootstrap CSS framework](https://getbootstrap.com).
+- Uses responsive [Bulma CSS framework](https://bulma.io).
- JavaScript framework agnostic, use Nim, [Karax](https://github.com/pragmagic/karax), vanilla JS, you choose.
## Other
@@ -99,15 +98,9 @@ To get started you only need:
Development dependencies (automatically installed by Nimble):
-- [bCrypt](https://github.com/runvnc/bcryptnim) >= `0.2.1`
-- [Contra](https://github.com/juancarlospaco/nim-contra) >= `0.2.0`
-- [datetime2human](https://github.com/juancarlospaco/nim-datetime2human) >= `0.2.2`
- [Jester](https://github.com/dom96/jester/) >= `0.4.1`
-- [Libravatar](https://github.com/juancarlospaco/nim-libravatar#nim-libravatar) >= `0.4.0`
- [otp](https://github.com/OpenSystemsLab/otp.nim) >= `0.1.1`
-- [Firejail](https://github.com/juancarlospaco/nim-firejail) >= `0.5.0` (optional)
- [reCAPTCHA](https://github.com/euantorano/recaptcha.nim) >= `1.0.2` (optional)
-- [WebP](https://github.com/juancarlospaco/nim-webp-tools) >= `0.2.0` (optional)
- [PackedJSON](https://github.com/Araq/packedjson#packedjson) >= `0.1.0` (optional)
Foreing optional dependencies:
@@ -177,7 +170,7 @@ cp config/config_default.cfg config/config.cfg
nano config/config.cfg
# Install dependencies
-nimble install jester recaptcha bcrypt datetime2human otp firejail webp, contra
+nimble install jester recaptcha otp firejail
# Compile nimwc
nim c nimwc.nim
@@ -225,7 +218,7 @@ These arguments should be prepended to executable file, e.g. `./nimwc cdata`
* `--newdb` = Generates the database with standard tables (does **not** override or delete tables). `newdb` will be initialized automatic, if no database exists.
* `--insertdata` = Insert standard data, e.g `--insertdata bulma` (this will override existing data)
* `bulma` = Use Bulma CSS, No JS required
- * `bootstrap` = Use Bootstrap and jQuery
+ * `official` = Use Official CSS Themes
* `water` = Water CSS framework, No JS, HTML Classless (No classes on HTML required)
@@ -240,8 +233,7 @@ These options are only available at compiletime:
* `-d:demo` = Used on public test site [Nim Website Creator](https://nimwc.org). This option will override the database every 1 hour with the standard data.
* `-d:gitupdate` = Updates directly from Git and force a hard reset.
* `-d:postgres` = Use Postgres database instead of SQLite.
-* `-d:contracts` = Checks pre- and post-conditions when compiled with `-d:release`.
-* `-d:hardened` = Hardens security, requires `-d:contracts`. Performance cost ~20% max.
+* `-d:hardened` = Hardens security. Performance cost ~20% max.
* `-d:packedjson` = Use [PackedJSON](https://github.com/Araq/packedjson#packedjson) instead of [std lib JSON](https://nim-lang.github.io/Nim/json.html). Performance optimization.
@@ -302,7 +294,7 @@ When editing a blogpage or a normal page press Ctrl+S to save.
# GrapesJS
-GrapesJS is a Web Builder Framework. To use GrapeJS with a CSS framework (Bulma or Bootstrap), you have to edit `public/js/grapejs_custom.js` and `public/js/grapejsbs4.min.js`. Bootstrap support in `public/js/grapejs_custom.js` is commented out.
+GrapesJS is a Web Builder Framework. To use GrapeJS with a CSS framework (Bulma), you have to edit `public/js/grapejs_custom.js` and `public/js/grapejsbs4.min.js`.
# DevOps
diff --git a/devops/autoinstall.sh b/devops/autoinstall.sh
index 5221a2a7d..8dd15a17c 100755
--- a/devops/autoinstall.sh
+++ b/devops/autoinstall.sh
@@ -313,7 +313,6 @@ setStandardData() {
ToggleCommand=(whiptail --separate-output --radiolist "Insert standard data?" ${r} ${c} 6)
ChooseOptions=("Bulma (Recommended)" "" on
- Bootstrap "" off
Water "" off
Off "" off)
Choices=$("${ToggleCommand[@]}" "${ChooseOptions[@]}" 2>&1 >/dev/tty) || (printf " %bCancel was selected, exiting installer%b\\n" "${COL_LIGHT_RED}" "${COL_NC}" && exit 1)
@@ -322,10 +321,6 @@ setStandardData() {
printf " %b Bulma standard data On\\n" "${INFO}"
CFG_STANDARDDATA="--insertdata bulma"
;;
- Bootstrap)
- printf " %b Bootstrap standard data\\n" "${INFO}"
- CFG_STANDARDDATA="--insertdata bootstrap"
- ;;
Water)
printf " %b Water standard data (HTML Classless)\\n" "${INFO}"
CFG_STANDARDDATA="--insertdata water"
diff --git a/devops/sourcehut/alpine/edge.yml b/devops/sourcehut/alpine/edge.yml
index 9b698972a..bf3596349 100644
--- a/devops/sourcehut/alpine/edge.yml
+++ b/devops/sourcehut/alpine/edge.yml
@@ -12,7 +12,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: /home/build/nim-$CHOOSENIM_CHOOSE_VERSION/bin:$PATH
@@ -25,7 +25,7 @@ tasks:
bin/nim c koch
./koch tools
bin/nimble -y refresh
- bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ bin/nimble -y install jester recaptcha otp firejail
- build: |
cd
diff --git a/devops/sourcehut/alpine/latest.yml b/devops/sourcehut/alpine/latest.yml
index 551eb21e5..f67a797e1 100644
--- a/devops/sourcehut/alpine/latest.yml
+++ b/devops/sourcehut/alpine/latest.yml
@@ -12,7 +12,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: /home/build/nim-$CHOOSENIM_CHOOSE_VERSION/bin:$PATH
@@ -25,7 +25,7 @@ tasks:
bin/nim c koch
./koch tools
bin/nimble -y refresh
- bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ bin/nimble -y install jester recaptcha otp firejail
- build: |
cd
diff --git a/devops/sourcehut/arch/rolling_release.yml b/devops/sourcehut/arch/rolling_release.yml
index 86eba653d..33d1f132f 100644
--- a/devops/sourcehut/arch/rolling_release.yml
+++ b/devops/sourcehut/arch/rolling_release.yml
@@ -9,7 +9,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -18,7 +18,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/debian/stable.yml b/devops/sourcehut/debian/stable.yml
index 4f815e23d..634c92e78 100644
--- a/devops/sourcehut/debian/stable.yml
+++ b/devops/sourcehut/debian/stable.yml
@@ -9,7 +9,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -18,7 +18,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/debian/testing.yml b/devops/sourcehut/debian/testing.yml
index b5d3207a5..e216be431 100644
--- a/devops/sourcehut/debian/testing.yml
+++ b/devops/sourcehut/debian/testing.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/debian/unstable.yml b/devops/sourcehut/debian/unstable.yml
index fbc6e5b94..3fd19f3c9 100644
--- a/devops/sourcehut/debian/unstable.yml
+++ b/devops/sourcehut/debian/unstable.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/fedora/latest.yml b/devops/sourcehut/fedora/latest.yml
index 941564ffc..74eaa5a52 100644
--- a/devops/sourcehut/fedora/latest.yml
+++ b/devops/sourcehut/fedora/latest.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/fedora/rawhide.yml b/devops/sourcehut/fedora/rawhide.yml
index 941564ffc..74eaa5a52 100644
--- a/devops/sourcehut/fedora/rawhide.yml
+++ b/devops/sourcehut/fedora/rawhide.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/ubuntu/latest.yml b/devops/sourcehut/ubuntu/latest.yml
index c3c2abd40..f5a769e19 100644
--- a/devops/sourcehut/ubuntu/latest.yml
+++ b/devops/sourcehut/ubuntu/latest.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/ubuntu/lts.yml b/devops/sourcehut/ubuntu/lts.yml
index bb9e28257..2c243782d 100644
--- a/devops/sourcehut/ubuntu/lts.yml
+++ b/devops/sourcehut/ubuntu/lts.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/devops/sourcehut/ubuntu/next.yml b/devops/sourcehut/ubuntu/next.yml
index cce3f8352..e7e817d21 100644
--- a/devops/sourcehut/ubuntu/next.yml
+++ b/devops/sourcehut/ubuntu/next.yml
@@ -10,7 +10,7 @@ sources:
- https://github.com/ThomasTJdev/nim_websitecreator
environment:
- CHOOSENIM_CHOOSE_VERSION: "0.19.6"
+ CHOOSENIM_CHOOSE_VERSION: "1.2.4"
CHOOSENIM_NO_ANALYTICS: 1
PATH: $HOME/.nimble/bin:$PATH
@@ -19,7 +19,7 @@ tasks:
curl https://nim-lang.org/choosenim/init.sh -sSf > init.sh
sh init.sh -y
/home/build/.nimble/bin/nimble -y refresh
- /home/build/.nimble/bin/nimble -y install jester recaptcha bcrypt datetime2human otp firejail webp libravatar
+ /home/build/.nimble/bin/nimble -y install jester recaptcha otp firejail
- build: |
cd nim_websitecreator
diff --git a/docs/nimwc-presentation-es-presentation.html b/docs/nimwc-presentation-es-presentation.html
index 9df5a1638..04356bfd6 100644
--- a/docs/nimwc-presentation-es-presentation.html
+++ b/docs/nimwc-presentation-es-presentation.html
@@ -32,7 +32,7 @@
-
+