Public archive for the Return to Ritherdon project. https://www.nicolaellisandritherdon.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.2 KiB

(ql:quickload :ritherdon-archive)
(defpackage ritherdon-archive.app
(:use :cl)
(:import-from :lack.builder
:builder)
(:import-from :ppcre
:scan
:regex-replace)
(:import-from :ritherdon-archive.web
:*web*)
(:import-from :ritherdon-archive.config
:config
:productionp
:*static-directory*))
(in-package :ritherdon-archive.app)
snapshot 19.11.2022.0 Squashed commit of the following: commit 2256d28850ab0d3d4f477ceeb2cf8a97db49fbe4 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 19:15:09 2022 +0000 update README.org file. commit 97293d886d8898717badb1b82f97f08283bbb04d Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:43:00 2022 +0000 remove unused hostname check from quick-search.js file. This is old code essentially and is no longer used. commit ada40dec58e55db387007ed6e8799c89faa9e29e Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:41:45 2022 +0000 update apiKey for live meilisearch service. commit 66b64edc2adcfd5aef125bbe6f69a30cf2d96c78 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:40:38 2022 +0000 update robots.txt (site's URL). This URL is intended to be a temporary one until Nic decides on the final domain name. commit e5c95b77dc5d12b08967902f6d84b93f03a3740e Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:35:44 2022 +0000 rename README.markdown to README.org and add install/sys info. commit d12b76f87a9eb213eb127696e77b5e9f9d8f3021 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 16:02:43 2022 +0000 update .conf and .service files for meilisearch instance. I fixed typo's and added placeholders (E.G. '<INSERT USERNAME HERE>') in places where you need to add your own data which is used on your server/system. commit 5a667149a2808e20fcf525bd0b624146a3140695 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 16:00:58 2022 +0000 update .conf and .service files for main site (ritherdon-archive). I fixed a typo's and put placeholders (E.G. '<INSERT URL HERE>') in places you need to put your own data when deploying to your system. commit 1b9f3e673ea907459f5288103771b2987e5bd2db Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 15:59:53 2022 +0000 update makefile (remove systemd and nginx stuff, focus on install). commit 707d469ded63de6344f1d3c7e6482044f4bb317a Author: Craig Oates <craig@craigoates.net> Date: Thu Nov 17 18:05:10 2022 +0000 update makefile. commit 5c7782439a0d5fedee59d4fd583c8abc164688a2 Author: Craig Oates <craig@craigoates.net> Date: Thu Nov 17 17:04:33 2022 +0000 add nginx .conf and systemd .service files for meilisearch. These files are an untested. I just added them to get the ball rolling with them. commit 4914f3a9bc2d5e90b1b06b9a0a567bae8d0246f9 Author: Craig Oates <craig@craigoates.net> Date: Thu Nov 17 16:44:18 2022 +0000 create nginx .conf and systemd .service files. These will need tweaking. The most notable one being the nginx .conf file. The website's URL hasn't been decided yet. commit 62839183233e17e4e99f2de52a9e4dc7263732a9 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 23:43:53 2022 +0100 update makefile. commit bf407e66bb6004836fb0c4ad726a2f62fb0adce4 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 22:36:59 2022 +0100 fix typo in makefile. commit 500c25abfb69cf65626d83cbe0c60a0a9136a505 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:31:21 2022 +0100 add makefile with basic functionality. This is just an initial commit of the file. I will need to add to this as I get this website close to production-ready status. commit ca5fc4e9fcbe5cc98bd8efced7d792eb392a1646 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:27:45 2022 +0100 comment out the 'covert' function in storage package. This is tag-along code from porting the storage package over from another project. It's never got in the way so it's never caused any errors -- hence no deletion/dealing with it until now. I've commented it out with the intention of deleting if no use for it develops as it the site gets closer to going into production. commit b99e4b95f9e84099a96ffd0391d0854b90a9fa7d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:22:49 2022 +0100 intern stuff with '#:' in ritherdon-archive pack. and change to woo. The first part is just a minor change to get Emacs to indent the defpackage stuff in an orderly fashion. The second part refers to the 'main' function. I've changed the server it uses/specifies from Hunchentoot to Woo. I've been using Woo throughout development so I'm more confident with the system using that when it goes into production. The 'main' is used, instead of 'start' when running the website as a systemd service on the production server. commit 757698a7bc4d038a2b67bf985cd00d74eef3209d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:18:18 2022 +0100 intern packages in ritherdon-archive.asd file (default as strings). I used Caveman2's project maker and it adds packages, systems, exports Etc. with strings. I changes how they were called here by replacing the string-quotes with '#:'. It annoys me how Emacs indents/aligns the system and package stuff in a wonky way when you don't use '#:'. I finally had fed-up with it and changed it. Overall, this is a minor change. commit 15cc0417006340cf532a57805fb21fe8217422c1 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 16:38:41 2022 +0100 update /layouts/header.html template (reduce size of site header). The <a> tag would stretch across the top of the page and it made it hard to click in an 'empty' space on the page. It was, also, confusing when the page would change to the home page when you were not paying attention whilst clicking. commit 973523c01f5dfed13729bd150e00110c6037e373 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 16:32:36 2022 +0100 update main.css (hover state for 'danger zone' links/buttons). commit ccc4398a5283fcff7eeb98cb67f0569c225dd0fc Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 00:11:53 2022 +0100 remove/comment out search code (JS files) which declare 'serverURL'. Because the code now establishes the 'server' variable in the various HTML Djula templates (grabbed from the database). The code which generates the old 'server' variable and it's data has been commented out or deleted. commit b89dfd828fe240ffe794ca26d2e8a49733d7afc7 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 00:10:27 2022 +0100 change serverURL to just server (fixes typo -- couple of templates). This is just a typo fix. I put 'serverURL' in places and hadn't realised. 'serverURL' should say 'server'. commit d8ecc230791f4e9946b16a6825d78366f3574d45 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 00:00:29 2022 +0100 create 'server' variable (for search) in page and search templates. This variable contains the URL for the Meilisearch instance this site calls out to. It is grabbed from this site's database and passed to the Djula templates providing Meilisearch-based features. The 'server' variable is called here so it's easy for the dev. to see how and when it's called. commit 124252070e7b925b5a67bd5869f2082b5a593c88 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:57:54 2022 +0100 insert filter-search.js scripts into pages and archive templates. The filter code was moved to its own file and these two files utilse that code. So, these templates now must call them. The reason for moving the code out is to stop the browser's console printing errors -- because the filter JS code was trying to run on pages which didn't have the correct HTML. commit 55f12b3f5bb9555d718c5891e96a2d7ef02e41a1 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:54:09 2022 +0100 refactor build search URL feat. in search package (site-settings). I've left the old code as a comment just in case I need to reverse course. The new way the function gets the (Meilisearch )search URL is to get it from the database (site-settings table). This should make it easier to pass the URL around between the back-end and front-end. commit 08a0a061528b96c9b2239b907d68610be5794533 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:53:20 2022 +0100 remove the filter search code from main.js file. I moved it to filter-serach.js in a previous commit. This commit just gets rid of it in the main.js file. commit 0b3268725139658ecc7aa92ca0932e21782f51dd Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:50:43 2022 +0100 create filter-search.js file in /static/js directory. This file contains the code for the filtering feature in pages.html and archive.html -- a basic search feature which works by filtering the list of entries on the page. It was originally in main.js but I moved it here because it was producing errors on pages which didn't have the filer stuff on the HTML template. This change allows each template to call it when the template actually uses it. commit fdc0b964e0bfebc5eaaf4ddc5b4d2bc8b12a6f35 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:16:49 2022 +0100 implement back-end for update-search-url (defroute in web.lisp). This feature is for updating the search-url used by this site to call out to the Meilisearch service (which provides the search database for this website). It doesn't touch or alter anything on the Meilisearch service/instance/server. commit 3565fa93150562e753fecfa5274d5d0d291820b3 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:16:00 2022 +0100 implement update-search-url in nera package. This enables the site's back-end to update the search-url slot in the site-settings class and database. commit 2f8c973761b700410d204fb7c8dbae9228fbf2ea Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:15:38 2022 +0100 fix typo in site-settings.html template (search-url). commit 189e87ae0ad8f7d135aea75d1a3fff58f18bcd38 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:29:39 2022 +0100 add Search URL section to /user/site-settings.html template. This is just the front-end for this feature. The back-end has not been implemented at the time of this commit. commit 84d08852813aee3a2143897f3d2b511ddc8320a2 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:28:33 2022 +0100 add search-url section to initial-setup.html template. This section allows users to point this website to the Meilisearch instance which provides the search features of this site. commit e9f679bece8b908af2078ac9f2352667c3cd8d17 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:00:48 2022 +0100 add search-url parameter to init-db function in nera package. search-url is part of the site-settings class. It is used to help tell the system which URL to use for the Meilisearch instance this website's search features are utilising/calling out to. commit eeabb843cebfc106d8fd71d77dea5a80d90b5723 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:00:15 2022 +0100 add search-url slot is site-settings class (site-settings.lisp). commit 14750a6c0cf61c7d8765e83072fbd6888204c506 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 04:38:02 2022 +0100 implement /danger/upload-snapshot defroute in web.lisp file. I, also, replaced some 'logged-in' permission checks to 'administrator' in several defroutes (mostly 'danger-zone' routes). This is the back-end functionality which allows users to upload Snapshots (in .zip files) to the /snapshot directory. The route accepts multi-file uploads and ignores files which are not either a .zip file or if a file has the same name as one of the Snapshots already in the /snapshots directory. Technically, the user can upload several files at once which are not .zip files and the alert-message will relay a 'success' message, even when nothing was added to the system. This is because the system is relaying the upload went without errors and not how valid each file was. The system doesn't have anything built-in which allows the multi-faceted alert-message approach to work. Another thing to note here is the lack of checks for the contents within a .zip Snapshot file. Basically, there isn't any. I am unsure how many moving parts are going to be in these Snapshots in the future and hard-coding checks for directories and file names seems a bit premature (maybe unpredictable?). The HTML template responsible for dealing with the front-end of the Snapshot features clearly state it is a 'danger zone' section of the site. So, there is an expectation (hopefully) of 'if you don't know what you're doing, then don't touch it'. Hello, person of the future. I was really wrong with that assumption, wasn't I? commit a490c50cf25b44f654ae215ac8191950eb726fd7 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 04:35:39 2022 +0100 implement store-snapshot in snapshot package. This feature provides the ability to unzip a .zip file (the expected file format users must upload Snapshots with) and store the contents of the .zip file in the /snapshots directory. commit baebd89329964ae04290c1eedffa3442399b5121 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 04:33:19 2022 +0100 add mulit-file upload form to /danger/snapshots.html template. This commit is just the front-end. The back-end, at time of this commit has not been implemented. The form allows users to upload 'Snapshots' to the website -- with the intention of then restoring the website from that back-up. commit b731aa06dd7489613418d35f43766bf002644f6a Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 02:33:48 2022 +0100 state incomplete feature alert in restored-snapsnot route. This is to help me not forget to finish implementing this feature or understand what is happening if/when I forget to finish it whilst trying it out. commit 99e507e3138dbb695af85f61ecb955b7ed5d2e47 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 02:25:44 2022 +0100 start implementing /danger/restore-snapshot defroute (web.lisp). The server needs to be restarted after restoring the website from a Snapshot. This commit has code which establishes if the website is running on localhost and informs the user to restart the server (most likely in SLIME) manaully. If the website is running in prod. and using Systemd, the service will need to be restarted that way (user doesn't have access to SBCL or SLIME in that context). So, a Bash script will need to be written and that script will need to be called using (most likely) utils:run-bash-command. At the moment, I haven't got far enough into developing this website to have established a Systemd service or running outside my local dev. machine. So, I have left a TODO comment here stating the prod. side of the defroute is not implemented yet. commit 45dc9fc64566fe67b8ee3ab5426e48933d6dcfae Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 02:25:00 2022 +0100 implement restore-from-snapshot function in snapshot package. commit ae51da0277955dc3a05220e43d11b3de7b89de8e Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 20:12:21 2022 +0100 refactor nera: call string-is-nil-or-empty? from validation package. This is part of a multi-part commit to port the string-is-nil-or-empty? function from the utils package to the validation package. The code has a lot of 'utils:string-is-nil-or-empty?' dotted around so this took a few commits to port. There is a chance I've missed it in some obsure places so don't be surprised if you see a future commit relaying something similar to this one. commit 03bb7d7cee6232e9404aa443b5c0f2424c5c6a15 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:10:17 2022 +0100 implement back-end for /danger/create-snapshot-download defroute. This route zips up the specified Snapshot and moves it to the /storage/media directory. I was originally planning of having the user download the Snapshot at this point but I decided to change how this works. I decided to go with the 'zip up a Snapshot and move it to /storage/media' because I didn't want to re-implement the 'download' functionality outsite of the /storage features. Maintaining two 'download' sections is not something I want to be doing -- that is what the /storage section is for (sort out the downloading). Doing this way, also, adds another chance place for the site's data to be recovered from. commit 7207043e2faf4645db41148eb5449f2e35f866ab Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:05:29 2022 +0100 update form action (create-snapshot-download) /danger/snapshots.html I've changed the approach to how users deal with downloading Snapshots. Instead of re-implementing the functionality for downloading files in the /storage section of the site, the user now prep's the Snapshots (zips them up) and moves them to the /storage/media directory. From there, users can download the zipped file and I haven't had to re-implement or write additional code. commit c9377824dc6fc174cb0ff7c37f3e5d977001b079 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:04:53 2022 +0100 update restore-snapshot.png icon. commit c38e9de548b61c5a087b5ade9f622e40b0631141 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:03:43 2022 +0100 add zip package to ritherdon-archive.asd file. Used for compressing/zipping up stuff -- most notably the Snapshots so they can be moved to the Storage Files where users can download them. commit 94b626c9fae9e5efa84da46aee3dabd37ae322b3 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:03:01 2022 +0100 add transfer.png icon to /static/images/icons directory. commit 90650a8a5a6cd41678b4735e6fda79fdfe269f22 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 00:24:57 2022 +0100 implement /danger/delete-snapshot defroute (back-end in web.lisp). commit 0c652be9fc3e92d827987c7ba0c33fcddcde0573 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 00:24:39 2022 +0100 implement delete-snapshot function in snapshot package. commit 782c9aee2cfef74b10e56ccdab61c1765c2aaf4b Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 00:19:25 2022 +0100 implement raw-directory-exists? function in storage package. This differs from the other file/directory checks because it doesn't create a directory when it can't find one (usual Common Lisp predicate behaviour with files/directories). commit e5993771587b9c63c26916087f9507b3e5986de5 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:33:51 2022 +0100 refactor code in web.lisp (call from validation instead of utils). This is the second part of porting string-is-nil-or-empty? from the utils package to the validation package. The code between the validation and utils package was already sorted in a previous commit. This commit to updates where the web.lisp package calls it. commit 0b2980f1d7f053c4da2f3464e7f7fcf8980ca370 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:31:49 2022 +0100 remove string-is-nil-or-empty? in utils and export it in validation. This is a port I've been meaning to do for a while now; I just haven't got around to it until now. This commit doesn't refactor the code in web.lisp to call the ported code from validation -- it's just the first step in the port. commit 0b539697833621e9c12cc014ee4347a6e06f8720 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:17:14 2022 +0100 add 'raw directory' functionality to storage package. This commit looks like it has more going on that is acutally does. The biggest mis-directed blobs are the docstring comments I added to get-files-in-directory and get-file-names. I just never got around to adding them until now. I remove the format call in make-raw-path because I forgot to do so in another commit. The code works with or without it which is why I missed it previously. I'm removing here to clean the code up and before I get distracted and forget. The actual code which this commit is mostly for are the get-raw-directories and get-directory-names. You shouldn't need to use these functions in the normal operations of the site. They are mostly intended to be used for dealing with the site's snapshots -- or any other directories outside of the /storage directory. The snapshot management section of the site is part of the 'danger zon' features -- hence the need to break-out of the usual '/storage directory' features. commit fdf43c2b01e79339b789b8035cfd8d9172f3c656 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:14:55 2022 +0100 add snapshot data passed to template from /danger/manage-snapshots. This data is just a list of the directory names for each snapshot stored in the /snapshots directory -- only deals with HTTP GET here. commit 2a456bcdc503af303641970cfd241a18bc466233 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:13:43 2022 +0100 add download, restore and delete controls to /danger/snapshots.html. This is just the front-end. The back-end has not be implemented at time of commit. commit 89b4fbacee158de97ea8a1677047a5800f36478f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:12:56 2022 +0100 add restore-snapshot.png icon to /static/images/icons directory. commit f57d6ef33c216f9f4470c5d4e1106dbfe96cea7c Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 19:23:02 2022 +0100 implemented 'Disk Info.' feature on the back-end for /dashboard. commit 26882cae6f78dd416b36a37ee3f3c93533513aa9 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 19:22:04 2022 +0100 add 'Disk Info.' section to /user/dashboard.html template. This is just the front-end. The back-end (web.lisp) has not been implemented at the time of this commit. commit a292d245b76eba085a6377dd6dc7f6dd1103ee4a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 19:19:46 2022 +0100 add cl-diskspace package to ritherdon-archive.asd. This package grabs disk information from the OS -- and can display it in human readable form. Looking to create a 'Disk Info.' section on the dashboard page to help users decide when they need to start deleting snapshot data or move to a machine with a bigger disk. At the time of this commit, no features have been implemented yet. commit 254500cad7ebc66e0d888299adf13b6436d8ff76 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:52:58 2022 +0100 update .gitignore to ignore the /snapshots directory. This directory is created during the site's first run. This addition to .gitignore stops the commit history from getting clogged up with irrelevant data during development. commit 2615dcb892c1853585a73ce49cfad59d33025266 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:52:05 2022 +0100 minor edit to copy text in /user/site-settings.html template. commit cba7675d3d1759a42477e56396523f1ac2e3256b Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:51:39 2022 +0100 implement back-end for take-snapshot feature (web.lisp). commit 943fc77d921a88951f2de1531d39076297c632ce Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:51:13 2022 +0100 add take-snapshot.png icon to /static/images/icons directory. commit efbee6136654d8b4b0ccaa55e89fbac630e7e0c2 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:50:36 2022 +0100 add form for taking snapshot in /danger/snapshots.html template. The back-end is not implemented at time of commit. commit f629e3d7507e1fe9e31809e08e26a8888f180e2c Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:27:11 2022 +0100 implement various 'raw' based functions in storage package. The most notable ones are the 'copy' functions. The main intention here is to provide the functionality needed by the snapshot package to help it take programmatic snapshots of the website's data and database. At the time of writing the 'restore from snapshot' functionality has not been implemented but that is something these 'copy' functions will look to help with. commit 8a9354f50f9626ce669adea85f9b92087beb531a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:24:08 2022 +0100 implement create-timestamp-text function in utils package. This is a variation on the create-timestamp-id used for generating a timestamp-id for the Meilisearch database. This text-based timestamp takes the form of YYYY-MM-DD_HH-MM-SS. The main intention of this function is to use is as part of a directory name when generating a snapshot (of the website's data/DB). commit 704e87546ef7bea48979fc0b7cb36512ef4af9fb Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:21:30 2022 +0100 create /danger/snapshots.html template. This is just the HTML template. The back-end (I.E. defroute in web.lisp) is not implemented at the time of this commmit. commit 250305e8b0d9d3cc576acdff98c505a19826ddab Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:20:14 2022 +0100 add link to /manage-snapshots in site-settings.html template. This is part of the 'danger zone' section in the site-settings.html template. The back-end for this feature is not implemented at the time of this commit. commit 736d12074faddd82cf0f405be7c501aa9d68965a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:17:24 2022 +0100 add snapshot.lisp, implement take-snapshot and stub-out restore. I will add to this as I add more snapshot features into the main website code (I.E. HTML templates and routes in web.lisp). At the moment, this package is a little island right now and doesn't integrate into the rest of the website at all. commit 9ff9711af8fce21d11f6d9119a4a4c5a8cd101c2 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:15:05 2022 +0100 add copy-directory package (quicklisp) and snapshot package to .asd. copy-directory is a package on quicklisp to copy files using the OS's native cp command (useful for taking snapshots/back-ups of directories). The snapshot package is for copying directories (I.E. taking snapshots) in /storage and the site's DB. commit 5c90771bc40962b9dc710bbcbbb7685140ba8781 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:13:16 2022 +0100 delete schema.sql file (from /db). It's never been and won't be used. It came as part of the 'make project' process when generating a Caveman2 website -- just never got around to deleting until now. commit 14586efa2abd9aaef68eaef9d5464e2176fcc95f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:21:06 2022 +0100 implement copyToClipBoard functionality (main.js). This feature copies the selected file in /storage/media and builds it full URL. The intention is to make it easier for users to copy the URL when the need to paster it into one of the 'edit' pages (I.E. Pages and Archive sections) text areas. At the minute the code assumes its only copying and building URL for the files listed on the 'Storage Index' page (/storage/manage defroute). If the website's features expand in the future in this area, this function/feature will need to be refactored. commit 72d0352c7917008df839c38cea370934441c3b86 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:19:38 2022 +0100 add popup section (copy text via JavaScript) in /user/storage.html. This is just the HTML and CSS additions to the HTML template. The JavaScript has not be implemented yet. commit 1bec6e8034ac4f23700ac20fd9334f79b506227f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:16:44 2022 +0100 add thumbnail path for SVG file in build-thumbnail-path filter. The file-type contains 'image' so the filter assumed it was a .png or .jpg and the image wouldn't render when it was a .svg file. This additional check to the filter makes sure the svg.png (stock image file) is used when a thumbnail is used in a HTML template. commit 416d55ce3ccf66a259604d53e87a20fb39965a34 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:15:56 2022 +0100 update main.css (popup stuff for coping text via JavaScript). commit 4c157b5fda24666057d9238928991e5b55003eca Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:13:06 2022 +0100 comment out un-used code in build search url in search package. I was going to start on making this function more robust and remove the hard-coded nature of it but cleary I got distracted and never actually started it. I know it will need to include the 'build-url' functions in the utils package but until I get around to actually refactoring this function, I'm going to leave the code commented out. commit 7f463f8d718db73689d294a081a679a0fd42ec9a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:12:39 2022 +0100 add copy.png to /static/images/icons directory. commit a45747c7d80ed7999657f08f67be7a575a1ae72d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:51:13 2022 +0100 implement back-end for 'manage database entries' ('danger zone'). This includes the HTTP GET and HTTP POST requests (defroutes in web.lisp). This is part of the 'danger zone' features because it can leave the website in an un-recoverable state. commit c958bc86212202eefdbcd65575cc70c38051ac2c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:49:57 2022 +0100 create and populate /danger/manage-db-entries.html template. This template has the CSS and HTML already included with this commit. It's usable but I'm guessing it will need tweaking when the site gets closer to going into production. commit 51a078c8c26216f86b635c20f237eeb24e875f2a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:49:09 2022 +0100 change 'Media Files' to 'Storage Files' (/danger/manage-files.html). commit 757f3b04485f1ad75d11c097d0b133dc669fd95f Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:04:42 2022 +0100 implement the manage/delete files back-end features ('danger-zone'). commit 7fc8609aed8262cf05620fc725a0e0217402b8fe Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:03:01 2022 +0100 create and populate the /danger/manage-files.html template. The template is pretty much ready to go with this commit. CSS stuff and data population already added. commit f88686dcd1203e4364bcfbbbb8f7dbea3041c129 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:02:28 2022 +0100 add icons (/static/images) for 'delete' links and buttons. commit fa70b7e2901f703a105707f7289652ee8360c91d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 21:59:04 2022 +0100 add 'danger zone' links in site-settings.html template. Links point to sections for manaully deleting files in the /storage directory (without database interaction) and deleting database entries (without storage file interaction). These sections are marked as 'danger zone' because they should be used carefully and only if the site's storage files and database have become out-of-sync. with each other. The back-end functionality has not been implemented yet. commit 53b2289f7aeb2f8a2b71268cd22d647de3911f6a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 21:58:20 2022 +0100 update main.css ('danger-zone' stuff). commit 3f0b99083208df98fdc2a679623fb56c0da4cf77 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:54:41 2022 +0100 add error-refresh and reset-website images in /static/images/icons/. commit 66b84f8de6e855033bf302a492745878dd1c0207 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:50:44 2022 +0100 implement the /danger/reset-website defroute (back-end feature). This feature deletes all the user created content stored in the /storage directory, the website's database (so User Accounts) and wipes the Meilisearch database clear of the Archive Entries stored in it. This is part of the 'danger zone' features and intension is to allow the site's Admin. to clear out the website and start with a fresh clean install. commit 78298c08ee3e612ae43b949b206a38ccd98c2fdf Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:48:49 2022 +0100 add remove-file-with-raw-path function in storage package. This function is part of the 'reset website' feature implemention. You should only need to call this when you want to delete something outsite of the /storage directory (I.E. the website's database). commit b0efc40a9430550a85dad62b18976417659193fa Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:48:07 2022 +0100 add 'reset website' form to /user/site-settings.html template. This is part of the 'danger zone' section in site's settings. The back-end for this feature is not yet implemented. commit 74a65079028e0bb41e18770e14e60a9881435cb8 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 18:59:29 2022 +0100 implement the 're-populate search DB' functionality (web.lisp). This feature is part of the 'danger zone' section in the site's settings. This feature clears the Meilisearch database (with this site's Archive Entries) and re-populates it with the data from this website's (nera) database. commit 3f212821140b4a36cd5765668fa496b1310516f7 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 18:57:44 2022 +0100 update /user/site-settings.html template (initial 'danger zone'). This commit establishes the 'danger zone' in the site's settings page. This will need to be added to over time. This commit set-ups the 're-populate search DB' feature but the back-end is not yet implemented. commit 7771f966a12ba2f4ca9c91f1a40d543c1e447bf1 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 18:56:19 2022 +0100 update main.css ('danger zone' styling). This is just a initial addition for the 'danger zone' section of the site. commit 05969728774a2aa86e8f3a80938185b6f353bd69 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 17:16:33 2022 +0100 implement 'repopuluate meilisearch DB' functionality (in search). The main feature is the repopulate-database function which clears out the Meilisearch DB index containing this site's searchable information and repopulates it with the site's nera.db information. I, also, added a delete-index function (also in search package) but that is mostly a convenience feature. It allows me to quickly delete any index in the Meilisearch DB which I made by mistake (E.G. wrong name, change of plan) and remove old indexes from other projects which are no longer in use (on local dev. machine mostly). commit a046d21dbbf944f97f60251cda989406b8c9b60c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 17:15:31 2022 +0100 add redirect from /sitemap to /sitemap.xml in web.lisp (defroute). This is just a 'catch-all' defroute. commit 50a76f56ba87c778be08ff23f6bd72b0677e8069 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 01:42:51 2022 +0100 add robot.txt file to the /static directory. I'm sure I will need to update this at some point. I didn't spend too much time on it, just jotted things down as a I came across routes in web.lisp. The Sitemap URL will need to change, the closer the site goes into production and an domain name has been bought/finalised. commit 862b55ec2322db3b9c93b95f4e7eca2ecfe07b80 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 01:42:13 2022 +0100 implement /sitemap.xml defroute in web.lisp file. commit 5f040b642dda8d31794f1ed70ccf253a3ece7542 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 01:39:14 2022 +0100 implement build-url and build-url-root functions in utils package. These functions are mostly aimed at the site's XML-generated site map. The piece together the site's URL from lack's request struct. I don't know if there is a pre-built string containing this information (I.E. http://localhost:5000 and http://localhost:5000/testing) which is why I have written these functions. commit 3cfb5d4331c50a9997b7c144a984932a20fdb161 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 20 23:31:29 2022 +0100 add birthday-cat.png to insert-dashboard-cat function (view.lisp). A little Easter Egg... commit e336640fa0697f62465bcd7770ed3babdd6e76ad Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 20 23:14:52 2022 +0100 update quicklist sections in archive-entry.html and page.html. Replaced the 'View Entry' link with an edit entry link instead. commit ad58e02f5ce31152768cd8aef26f16601f737245 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:35:57 2022 +0100 add older/newer entries section to archive-entry.html template. commit d6b7e031e717a8e01d46505769c58102d649cdb1 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:35:34 2022 +0100 update main.css (mostly for listing older/newer archive entries). commit 2b4336bcedce9748c81d4ae5ba292734032a981b Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:34:51 2022 +0100 add older/newer archive entries to data returned from /view/archive. commit a4486ad168eb332defc235bd2b984e549ec1e7f8 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:34:00 2022 +0100 add get older/newer archive-entries in nera package. I, also, change the order to 'created-at' for getting all archive-entries. commit bb7396d95ec7f41d4fb93a30d16d67e65085b03f Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 13:56:10 2022 +0100 fix add-storage-file regression bug (database and file different). When uploading a file to /storage the database stored the un-formatted name and the file was stored with the formated name. This meant when anyone tried to download or rename the file, the website would produce an error. This commit fixes this and has the database and file storage system store the files name in the formatted way (all lowercase with no whitespace). commit 2515803ce0ead16f5aebc944399cec6f22f7c369 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:49:54 2022 +0100 update quick-search.js (minor URL and CSS changes). This file has been in the repo. for a while -- I copied it over from my co-web project. But, I hadn't touched it or integrated into this website until now. The changes in this commit are mostly minor changes which bring the URL's for the Meilisearch instance this website connects to and change the CSS classes to match the ones used in this project (and not my co-web) project. commit 6d60cfa86a52083e57f32066374f9c4a6f6be64d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:48:30 2022 +0100 update full-search.js (mostly CSS classes). Because I copied over the code from my co-web project, the code in this file has CSS classes referring to that project. This commit updates those classes to fall in-line with the CSS/design of this website. commit c0ca6c8aa2f43ae610a38250e46b99b31de685df Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:47:46 2022 +0100 update search.css (remove co-web code). I will need to update this as I go along. I copied the code over from my co-web project so the webpages have been rendering with that style/design until now. This commit has removed as much of it as possible and added/updated the style rules to fall in-line with the design of this website. commit f23b9b8a857a7607d80aafdc4763e28529d10f82 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:45:40 2022 +0100 update full-search.css (removed rules for co-web project). I will need to update this as I go along. I copied the code over from my co-web project so the webpages have been rendering with that style/design until now. This commit has removed as much of it as possible and added/updated the style rules to fall in-line with the design of this website. commit 89283b7cf7ccc09df6980b80ad0cc5a8db3f5fd5 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:45:17 2022 +0100 add 'quick search' section to archive-entry.html template. commit 07d6607e8845d20e706a543ef644efef8d01eef5 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:44:27 2022 +0100 add 'quicklist' and 'quick search' sections to page.html template. commit 554084f05aee66467274b2b2b36981064612ef0c Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:44:08 2022 +0100 remove some HTML from search.html template. commit d2005080b204b8486d968c09867981932dbfdb7d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:41:58 2022 +0100 apply indentation formatting to /layouts/default.html template. I was faffing in this file and had Emacs do a quick re-indentation (with web-mode) enabled. I don't think I have touched this file since installing web-mode. commit 2d862e29e26abb9af52ed13ddc098ab4ad1e65a3 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:39:45 2022 +0100 add 'update'ranking-rules' func. to search package. This allows you to change the order the search results are returned in. The main purpose why you would want to use this function in this context is to make sure the list of results is ordered by the year the artworks where published/created. commit 73c4a1cd167f6b7ce1e21c9bcd15d6187a59d2fd Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 21:33:57 2022 +0100 update main.css (mostly image sizing in article body). commit ac402d333d210a43d4c1456cfd946656e4edd625 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 21:31:55 2022 +0100 add quick-list section to templates/archive-entry.html template. This will need updating. I copied over a quick-list section from another template. I'm off home after this commit (got one more commit to enter after this). Thought I would get something in before I left, though. commit 55df7b5161bdc86e037a0c03646a75e55f3e85ec Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 21:17:13 2022 +0100 simplify templates/archive-entry.html template (remove entry dates). commit 3ff07064a6fd9a782ef3cef818b5120ab7deefe3 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:50:43 2022 +0100 add 'Publish' date section to /user/edit-archive.html template. commit 833b125f46231665231736249cf89a33e32a662e Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:49:03 2022 +0100 add 'Publish' date section to /user/create-archive.html template. Only 'Month' and 'Year' are used because 'Day' is not relevant -- at time of writing. You might see an change to this form in a later commit if requirements change. commit c9733d5f94f577b2a7a6162f21954e3c809755dc Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:47:40 2022 +0100 remove database Created/Updated At info. from archive.html template. commit 7931d33588c1ddaa5f96fe3a8ba13d76f6a9a1e4 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:46:45 2022 +0100 update main.css (input for 'Publish' date mostly). commit b874b3e74250e33a93dcf192c4732f3451e72052 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:45:09 2022 +0100 update archive-entry HTTP POST request (include 'publish' date). The publish date refers to when the artwork was publish which differs from the 'Created At' date. That refers to when the entry was added to the database. commit b750649cb2c166c9742165db31a61f8c85064d44 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:43:52 2022 +0100 replace 'Created At' timetamp with 'Month' and 'Year' (search.lisp). 'Month' and 'Year' refer to the artworks publish date. commit 36f396b0da4f681054f100202cadf407f75ec217 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:41:57 2022 +0100 add publish month and year arg's to create-archive-entry func. This update is in the nera package. It is part of a refactoring of functionality to have a seperate 'Publish' date and a 'Created At' date within this site's database. The 'Created at' date refers to when the entry was added to the database. The 'Publish' date is the date of the artwork. commit 37ec669980d66695f8739cf53eab4847b18412a9 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:40:54 2022 +0100 add (publish) month and year to archive-entry class (archive.lisp). This is mostly for the Meilisearch database. This addition will mean it's stored in this site's database, though. commit 2300c9413abd639ebe1c81f3d02f918629962ca7 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 18:33:49 2022 +0100 update HTML in archive-entry.html and archive.html templates. commit a697b09462217728f7ec811e39cac22478a6897b Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 18:32:12 2022 +0100 fix link styles in main.css file. Default links were changed in previous commit and had a knock-on effect to some stylised links. commit eba62e0925b48bbe1d866726c1c2bf30eef8ce3c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:56:34 2022 +0100 update main.css (filter controls for 'Index' pages mostly). I updated the CSS for links (a tags) too. commit e6a1b4287f1e83f874a5cd10bfb5ec8deeea2866 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:56:17 2022 +0100 add filter controls to pages.html template (HTML, CSS and JS). commit a610b52ba6bf5f9b4e57821d461eb5c7d9f8b029 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:55:49 2022 +0100 add filter controls to archive.html template (HTML, CSS and JS). commit 6db73aac52ffafb5463ee6ed8ea1826526593f17 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:48:53 2022 +0100 add filter list code to main.js file. This code is intended to be used mostly in the 'index' pages (Pages and Archive). These pages are mostly going to act as a back-up for when the Meilisearch service goes down or if the user has a poor internet connection. This filtering behaviour allows the user to filter the entries in the Index they are viewing (Pages or Archive). There are no images and no repeated calls back to the server. Each index lists just the text (Titles, publish info. Etc.) and from there the viewer can filter the results on the page by entering text into the text box in the Index-base HTML templates. From Nic's point-of-view, these Index pages will not be included in the nav. menu but if the Meilisearch service goes down (at this site is still operational), she can swap out the 'search' page for these (really it's just the Archive Index) so people can still have some form of search/filtering ability whilst viewing the website. commit 1bb0a92d39961b29175e620ad259dac62b1ca06c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:48:32 2022 +0100 add footer tag to footer.html template. commit e548ba799349ba39a1a6ce1432a39368798a84cf Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 14 21:51:43 2022 +0100 update CSS and HTML in /templates/sign-up.html template. commit bf007601ea9ab238035a6622cf524b7d5cdf0717 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 14 21:51:02 2022 +0100 fix grammar mistake in /templates/user/edit.html template. commit f74ae90e02eb4cb7e5e87af1baa9aaf8930f8ae1 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:01:36 2022 +0100 update artchive-entry.html template. Starting to add extra HTML and CSS tags and rules. This is just the start to building out this template. commit bb4fbe1a006ba0fd05399e5286bb8830f57382f7 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:01:15 2022 +0100 update main.css (front-end archive entry). commit 146901fa80086060d790a44346abc6f742620c5e Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:00:38 2022 +0100 set site title dynamically in index.html template. commit d4ab83ef7afacfe1a013a3f40a15a863e1c9703a Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:00:00 2022 +0100 clean-up code in web.lisp and view.lisp files. commit 94122e7741c05464c39e65b0098609900fd68956 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 20:18:00 2022 +0100 tidy-up code and leave comment in /edit/archive about Meilisearch. This defroute doesn't change anything relevant in the Meilisearch DB so it doesn't need updating. I've left a comment (mostly for future me) to remind me not to think I've missed a defroute and try to integrate the Meilisearch stuff into it. commit f38e0aef42ee314d866f010a3317884e6761f343 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 20:11:57 2022 +0100 integrate Meilisearch into edit keywords functionality (web.lisp). commit 5d853592bf17fdc53884a6c9263390a7e3cfd984 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 19:57:03 2022 +0100 integrate Meilisearch into /rename/archive-entry defroute. The defroute to update the thumbnail doesn't need to change but I added a comment to make it clear in the future -- I can see me forgetting it doesn't need updating and try to add code which doesn't need to exist. I, also, did a bit of updating to the layout of the code is parts -- mostly when setting the alert message. commit e90de5e31a7aa4a4bc1935345c51a1d1e2495652 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:12:31 2022 +0100 add 'Search' as hard-coded URL in '/' and update delete Arch. Entry. The re-direct to /search when the user has set /search as the site's home page is part of a list of other hard-coded re-directs in this site's '/' defroute. The site now deletes the Archive Entry from the Meilisearch database alongside the files in the /storage directory and the nera database. commit 6e4da8dc261c471cf41f3250af9cb6213fe8703d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:08:53 2022 +0100 implement set-filter-attributes, delete-all-entries and create-dump. These functions are helper functions to manage the Meiliseach database from a Common Lisp perspective. The intention is to work them into the website's back-end so the user can reset or re-populate the database from the website without me (or someone else) having to SSH into the VM and do fix/restore things manually. For now, they allow you to manage the database from SLIME. commit d488b5678073abedae05ca12b4c922e8d5f9fbcf Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:08:13 2022 +0100 add 'Search' to hard-coded links in site's nav. menu. commit 0f2067742ad2eceb2a3a056b2447715276bf08db Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:07:39 2022 +0100 add 'Search' page to init-db function in nera package. commit 5287e9858e1e8ff5fc6d5517105f0a9ee2a27ff6 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 16:29:40 2022 +0100 change month number to name when adding archive entry to search DB. This change is so the refinements on the seach page shows the month names instead of thier numbers. This is because most people tend to work with month names and not numbers in this context. commit 6389480260cb8e740756b5fd2c1fa81435550836 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 16:27:47 2022 +0100 create month-number-to-name function in utils package. This is a helper function to convert '1' to 'January', for example. The intended use for this is to work alongside the local-time package when generating the month number from a timestamp. commit ad65e0fca183b651833a40044e43f7a97eee4f9f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:48:40 2022 +0100 add 'title' attribute to links in /user/archive.html template. commit 4d5a9b7f0c4339b16f253743f973c4a994b43946 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:40:35 2022 +0100 update /layouts/header.html template with new CSS rules. This commit makes the header (site's name and logo) a link which points back to the site's "/" (I.E. Home page/route). It, also, centralises the header and the navigation menu (in the header). This is so the header doesn't look weird when viewed on a mobile phone. I removed the <hr> at the bottom of the file because the site has enough styling applied to it to make the <hr> look out of place now. I can clearly denote/identify where the site's (front-end) header and footer stops and starts. commit 82192113c0fc0ddb19b850362a0db2fe9c3966cd Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:40:15 2022 +0100 update main.css (front-end header stuff). commit 990eb22f6dc0f0faee9ae77f8fe22de2a42843e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:39:52 2022 +0100 remove <hr> from /layouts/footer.html template. commit 6a5b6ea838ec6a0f9d9ffdb386dc27ddbd4cfabe Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:15:05 2022 +0100 fix day-of-week timestamp bug in insert-dashboard-cat filter. I didn't realise the local-time system set 'Sunday' to '0' in its timestamp-day-of-week function. I thought it was '7'. This commit changes the check for '7' to '0' and adds a few comments to help identify which days the cond form is checking against. commit ad0954e3192044065f92633fa22ce2f755de723e Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:12:31 2022 +0100 add Meilisearch JavaScript and CSS files. These files are provided by the Meilisearch project. This commit is larger than usual because of this. The CSS files are copied over from my personal website's repository so they will need modifying going forward. I've added them here as a starting point. commit 0aef87a94917cf42e84065a8c25a7b0ddf0de615 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:10:26 2022 +0100 create the search.html template (for Meilisearch). This page is populated in this commit but is broken because it requires several JavaScript files which have not be committed to the repository as of yet. This commit is in preparation of adding those files. commit c2788c43afb29200434ad7a0c250d354f5a80e00 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:07:44 2022 +0100 integrate the search package into create archive route in web.lisp. The site now populates the Meilisearch database when the user creates an archive entry. The Meilisearch needs to be set-up manually at this moment in time so expect this to break easily if you haven't got Meilisearch working. commit 04c79732f73ce34a895e73cdf012af002dbf9de6 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:05:19 2022 +0100 create search.lisp file and add to ritherdon-archive.asd file. I copied most of this over from my personal website's repository. So, there are bits of code which look a bit out of place in this context. With that said, the code does run and just needs to be integrated in the defroutes in web.lisp. commit cff6bfc1ee35a8e05aff0cfc472c944f7764641f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:21:07 2022 +0100 fix rendering errors in 'title' values (/user/pages.html template). commit 295ed248c9c0f61f126cb84a76a2897468036536 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:20:47 2022 +0100 update default favicon.png and site-logo.png files. commit e705aa67e4f7f492aa3f4218d3ce231e56a1b118 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:19:50 2022 +0100 update main.css -- mostly for initial-setup.html template. commit a834f54a130600f376e73323a5d386d865984d27 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:12:54 2022 +0100 update initial-setup.html template -- massive overhaul. I've removed the 'extends' blocks and built a completely seperated template from the rest of the website. The template was not rendering properly because certain parts of the website had not been set-up yet so the complete isolated template was/is required. I've, also, added extra options for the user to set during this first run process which will be processed by the back-end. I've not put much work into adding validation checks because it is a one-time thing (this page). You'll need access to the server anyway -- at this point -- so a bit of manual correction of mistakes will be easy to achieve. Deleting the database will be enough to trigger the first run process again. commit 324229dea49f7df843c124a0089b6061e05fb534 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:11:24 2022 +0100 modify init-db func. in nera package. This is part of a refactoring to allow the user to set more settings in the initial set-up/first run process. commit d35ae529dbaed5bb243f45fc910a6998c05a4c3f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:10:41 2022 +0100 add power.png image to /static/images/icons directory. commit eb7435f720448b288f3d50ad2f6a78da3e22e00a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:49:39 2022 +0100 add checks to make sure uploaded files are images in site-setting. The conditions are added to the 'Site Logo' and 'Favicon' sections/defroutes. The checks are to make sure a user doesn't try to set an MP4 file as the site's favicon or site's logo. commit 85b0d8da9ecac736cf7300f259912db82bc0a0f7 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:48:22 2022 +0100 add hints to various sections in /user/site-settings.html template. These are just blocks of <p> tags to help explain what the various settings do in each section. commit b9493fb13860641dbd6856908bec01d89c8c67d0 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:48:11 2022 +0100 fix typo. in main.css. commit 7bd5f1dd022920aa1016ce8a7e28d5859c745d1d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:29:20 2022 +0100 update main.css (section controls for dashboard). commit 78cf655f5d894e629e4b4b7b6a5352d7ca6463e5 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:19:53 2022 +0100 update HTML and CSS in /user/site-settings.html template. I did a lot of re-arranging of the settings alongside adding CSS and HTML stuff to template in-general. commit 3d24084e24848046b3e547b508505b58d2d13901 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:18:56 2022 +0100 add 'administrator' checks to /user/edit.html template. Some links were being shown to non-administrators. This check fixes that. commit 7b1a80333c8f12422401f94138983822fe9134d8 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:18:30 2022 +0100 update main.css (site-setting stuff). commit 3274456906ffe0fe8454bbec433b9c2d6f787608 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:17:37 2022 +0100 fix typo. when calling set-alert when enabling sign-up option. commit cedab101f150030490a656e571c267ac314a3f2a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:18:51 2022 +0100 update icons for 'Manage Account' links/buttons. This is across several HTML templates but they are minor changes so it should be easy enough to follow when viewing the commit's diff. commit a522701b5874abab915dc82ce42d9fefe615c332 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:10:29 2022 +0100 update /user/index.html (HTML and CSS). commit 9d19cdcea9bebd2c582bf574204f004125665a7f Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:10:09 2022 +0100 add 'quicklist' section to /user/edit.html template. commit 2a7e133d7e2b83447163ee99f2deec9511bc8604 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:09:48 2022 +0100 update main.css (user account stuff). commit c8de64382fa8390c6466dca8e429ff97dde1bb18 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:09:06 2022 +0100 add all-accounts.png and create-account.png images. commit d64ae60c268f5c52f8f4c5cb5fadd7e9ae608afd Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 13:01:45 2022 +0100 update /user/edit.html template (split 'edit' form into two). This update seperates the form previous version of the template (for updating the user's display name and password) into two. This is because of a change in the back-end defroutes. It's makes it easier on the back-end to update the password and display name seperately with different HTTP POST requests (and HTML form data). commit 76450d341424386fe08938f7b93b2aaa9023a8a8 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:59:07 2022 +0100 seperate /user/edit route (HTTP POST) into two. There are now two HTTP POST routes which update either the user's display name or password. commit 949cee862cac22975721a7747d5dbde27fe8763c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:56:19 2022 +0100 refactor insert-dashboard-cat filter (view.lisp). Changes the time conditions used to display the various cat icons in the dashboard; And, fix a bracket-bug (closed a condition block too early). commit ea4520e7d4c96fe6bdbb82d0ffde9903d4215bae Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:04:32 2022 +0100 update /user/edit.html template (CSS and 'delete account' form). commit e688c55cd9e4462ea2dc44466041edb175021b97 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:03:06 2022 +0100 adding padding to alert message container in main.css. The alert message was rendering under the dismiss button when viewed on a small (phone) screen. The extra padding makes sure the message remains clear of the button. commit 9430942cb5b1993504c2f089632051bee8740f0e Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:01:21 2022 +0100 update /user/delete defroute: add 'type username input check'. When the user wants to delete their account they must now enter their username as part of the form they submit. This is so they don't accidently delete thier account. commit 6c65b9c5a045994c4e3bbe32f2ad76188ee109e0 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:00:50 2022 +0100 add delete-account.png icon. commit 661bbbd121cd818bcb9df48d6edcee2c1f565b13 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 11:15:14 2022 +0100 update main.css file (log-in form stuff mostly). commit 2730bbaaa188cefddbfa3516c486b33e549987ed Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 11:14:40 2022 +0100 apply CSS classes to /user/login.html template. commit 10e354fc9db1bce210b141df2b0faea82ace54ad Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 6 19:43:37 2022 +0100 update .gitignore and default assets (storage file after first run). The default assets were part of the list in .gitignore so the site would produce errors during the site's initial first run set-up. I've quickly added the files to the repository but they will need work done to them because the files are empty and the wrong default images. This commit is done from my computer in the flat so the files added were to just fix the errors. commit ff86cb159ad5e75d5a714298e129e717215cc238 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:46:46 2022 +0100 reduce the amount of recent files returned with /dashboard defroute. commit 91321b26ec865fefe22d37199a7a31c91c836416 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:37:46 2022 +0100 replace dashboard profile img. with insert-dashboard-cat filter. commit 130a6d30610318a4a027f3f9e77f51b307f12d2d Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:34:42 2022 +0100 implement insert-dashboard-cat filter (view.lisp). This filter is builds the path for the dashboard profile image. The path points to a different icon in the /images/icons directory depending on what time and day it is. There is no major functionality addition with this code. It just a little sprinkle of cuteness for the user of the site. commit 318cf88f7335da4f178c5f02170f58932ce12e79 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:33:02 2022 +0100 add profile (dashboard) cat icons. These images are will be displayed alongside the user's display name on the dashboard. There are several images because different ones will be displayed at different times of the day and week. commit 7b24fdca1c7747097c24168d57a843c3b04f402d Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:32:06 2022 +0100 add alert type values to all set-alert functions called in web.lisp. This update sets the alert type which adapts the alert message's background colour and image to the type of message the alert is relaying to the user. commit 0795a67f862d3045c62b12605a5995e6235d62ba Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:30:04 2022 +0100 move /user/edit link out of administrator check in dashboard.html. Non-administrator's will now be able to see the 'Account Details' link when viewing the /dashboard page. It was a mistake I hadn't caught. commit 5212a9b98576c2249c4d23e23d34e2d7b8e94cc7 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:29:21 2022 +0100 add CSS and JavaScript code to alert message section in header.html. commit a7aff4b828b769a1285d80437097d061fec83398 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:28:33 2022 +0100 change site-side-menu.js script element to main.js in default.html. commit fad642822ae011cbf02bf624d4394981cc0c1bdb Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:28:07 2022 +0100 update main.css (alert message styling). commit d4468345659bbcc55d0612d35499b2174e504b19 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:25:29 2022 +0100 rename site-side-menu.js to main.js. Because the amount of JavaScript I've written, it doesn't make sense to separate things out into their own files yet. So, I've renamed the file to main.js and will add the little sprinkles of JavaScript here. If the amount of JavaScript grows, I will need to move things out of here but that is a future problem. commit 2e1e5b59d59b460dacb73783de6f6d6574fb435c Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:22:53 2022 +0100 expand alert message types in set-alert function (utils package). Been meaning to do this for a while but never got around to it. commit 9df8e363c9b22ab47164441dd70e66c85e63ade0 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 08:04:37 2022 +0100 update dashboard.html template (add thumbnails to Storage section). commit 5782362136780bb20e6b16480d7e2622a58add2c Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 08:01:47 2022 +0100 add 'quicklist' section to multiple HTML templates. This is a multi-file commit because the code is essentially the same. Each HTML template has either had a 'quicklist' section added or had links added to it. 'Quicklist' is just a section with a collection of links to other parts of the website based on the context of the page/user's current location. commit d791b04449ef0ce698d0f007368f38dcb2ce8d59 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 08:00:37 2022 +0100 update main.css (mostly fixing rows with thumbnails in). commit c89d1653a9389447fb01e38c3cc46411393aa5ea Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 07:08:01 2022 +0100 modify the rel. URL for the images in build-thumbnail-path filter. commit e33ac9af0acb3153bb68d4453722d256b1cf5cf8 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 07:03:38 2022 +0100 add /storage/thumb/media/:slug defroute (re-added). I think I had a version of this route but I deleted it -- can't remember if it wasn't needed or didn't work as intended at the time. Anyway, this commit makes it part of the code-base (again). The function provides the website to use the automatically generated thumbnails -- when a user uploads the an image to /storage/media -- instead of the full-sized image. This should help reduce download times if a list of uploaded image are several Mega Bytes and being viewed at once -- like an index page for example. commit 426d404593d4548f7a17b72cc34340602ce55049 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:19:02 2022 +0100 update HTML in /user/edit-page.html template. commit 5ef81ba4f3f5becf5cbd3c11572c625026b8ef85 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:18:49 2022 +0100 update HTML in /user/edit-archive.html template. commit b6aec7c5ea37324bc56e3bfd814973cd6e739eaf Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:18:34 2022 +0100 update HTML in /user/create-page.html template. commit afaa7268ad6adfdd9c49f03b5b497001865e6ac3 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:18:15 2022 +0100 update HTML in /user/create-archive.html template. commit 006bd652af03ffe323d9062dcfc39c84b9b6ae4d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:17:28 2022 +0100 apply minor formatting changes to /user/storage.html template. commit 009e0103b8ea0943c10b3123762ea12053554e75 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:16:32 2022 +0100 update main.css -- mostly focus on forms for editing pages/archive. commit d7bbb9ecf29b5033608e1b0d4a443ac17f4b3be9 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:14:54 2022 +0100 code clean-up in web.lisp (old comments, formatting and slugify). commit db4393ddac1cfbb97d333af0f80693cef908d565 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:13:47 2022 +0100 implement update-single-nav-menu-item in nera package. This function is so the user can add/remove a single page from the nav. menu whilst editting the page. commit 09e44a636409e048cdd14e2e082ebbc7ccf804e6 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:13:18 2022 +0100 add save.png icon to /static/images/icons directory. commit 936d9034c820f15a1232106d0616bf3f967fb091 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:46:18 2022 +0100 end-of-session commit -- update main.css file. commit e15b2299adc833af918cc8491f9e5083a3cfcd4a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:42:41 2022 +0100 apply CSS classes to /user/archive.html and /user/pages.html files. Both files are basically the same with minor changes in classes and HTML tags. Commited both files at the same time because of this. commit ecfb667c6794298d1fb01af4d2652242f0b34532 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:42:07 2022 +0100 clean-up and remove unused code (HTML templates). commit e33575c74cee0438d06d5b7e2f5c0f82863059e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:41:01 2022 +0100 update main.css (mostly index pages listing/title section). commit fa9bb8cfb2f1abe2d7db65fb76d6a516fd1e09dd Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:54:38 2022 +0100 minor padding change for be-gui-link class. commit b4a34c102a49e95e3f80c4040b4d831f24d9e3a9 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:39:35 2022 +0100 delete site-logo.png and favicon.png files from /static/images. These files are generated during the website's first-run process. They don't need to be a actual hard-coded part of the repository. The way the site is set-up, the user will either stick with the defaults (generated on first-run) or upload their own personal files. commit d305d4c110df872f475c26ad57736c608d27390d Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:38:23 2022 +0100 update /user/storage.html template (mostly CSS updates). commit 1551e3fc1b6494fcb18be34b05ea848d6c0e2c17 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:37:47 2022 +0100 update /user/dashboard.html template (mostly for CSS updates). commit 7a6353635b22fc5b8dd685e6bb715165fe1d5612 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:36:53 2022 +0100 update main.css -- focus on dashboard.html and storage.html. commit 61e8ef91f80c7f02202bfaa2a1e3b75b1778d6b5 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:34:29 2022 +0100 refactor file upload storage routes -- regarding thumbnails. The automatically generated thumbnails are no longer stored in the database. They are created, updated and deleted alongside it's main accompanying image -- as a file in the /storage/media directory. commit eddedc891d2015f3e5fe04bb185eb696faa4231f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:33:17 2022 +0100 adjust relative URL for images in build-thumbnail Djula filter. commit baed98ce7aa4d0b5c5adb2760e8a6de9f51497b1 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 1 08:04:40 2022 +0100 fix bug when creating thumbnail whilst uploading a file to /storage. commit 4647323fdaf3569ebe51210c2b2557e7e0fe63f3 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 08:37:05 2022 +0100 add storage, pages and archive entries to dashboard.html template. The route in web.lisp calls the recently created 'get latest' functions in the nera package. The code is web should be fine but the dashboard.html stuff is buggy and so is the back-end routes for uploading deleting file in the /storage section of the website. This is an end-of-session commit, though, so the bugs will have to be fixed at a later time. commit 3b49fbf6e049b0d2339e089e4dd5dd31e8e36a6f Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 08:35:37 2022 +0100 update dashboard.html template (start expanding the Storage part). This code is buggy but it is a start. This is an end-of-session commit hence the buggy state being left as it is. commit c27ecb9853c7f3b3eddd940a24ce8a91763a4ff3 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 08:33:53 2022 +0100 add get latest editted 'X' functions in nera package. These functions haven't not been used much so I don't know how reliable they are in their current forms. Expect some work needed on them in the future. commit 75e05cc4aa863848d7fd378222f7652a36541602 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:37:11 2022 +0100 update main.css (back-end dashboard buttons and gui-links). commit 87f0e8125827be4e8cf5fa530a562392543fdf8e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:36:51 2022 +0100 update /user/dashboard.html template (CSS and icons). commit dd7796fb4ec30df2bc3b9182fbf6ce35ecf276ff Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:36:26 2022 +0100 update /layouts/header.html template (CSS and icons). commit 01bacffa192f786fbbd26fe3c4a940c5fa3e39a4 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:35:56 2022 +0100 update several of the icons in /static/images/icons. commit 9a2c9336674c280183bb09777617fd570271ebe7 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:34:48 2022 +0100 add loads of icons (.png) and rename a few of them. commit 7b6cde549b1689e40007bdacc62d8e6b340484b1 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:37:07 2022 +0100 move alert section to header.html and get side-menu working. I move the alert section to the /layouts/header.html template because it was easier to get it to render between the logged-in user's site header and the site's 'normal' header. The site's side-menu (for logged-in users) still needs stuff adding to it -- and tweaking -- but the base style, layout and whatnot is in place. commit dcd1e76d0e0e60801a60e07e5cc62cc94dc1fa19 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:36:15 2022 +0100 re-organised /layouts/default.html and remove 'alert' section. The alert section will be moved to /layouts/header.html. commit e844408d861058b42d70e45090b37b61652e03b6 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:34:44 2022 +0100 remove hard-coded '2018' in footer, prints current year (copyright). commit 0dc9c91795918ae3888fb54e836f3b49105d23e4 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:33:09 2022 +0100 update .gitignore to ignore favicon and site-logo in /static/images. These files are set during the site's first run and are personal to the deployment. The repo. has no need to track these files. commit f4bf0ba5118402509cfba10e65a65b3bdca6fcd5 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:30:22 2022 +0100 add icons in /static/images and static/js/site-side-menu.js file. commit 51d564fff8cc339dc3a663d2bdc25df4034e7644 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:28:35 2022 +0100 update .gitignore to include files in /static directory. I've moved/changed how I was using the /static directory (site-wide snippet) so I can start adding in images and what have you again. I didn't realise I had set Git to ignore the how /static directory. commit 8c60ac60314a1ea2fe479ee7dcb5759ecff28fba Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:26:07 2022 +0100 start adding style rules for site side-menu section in main.css. This is just a start. I will need to add to this. commit f60b09bbddd457027389dff6cf65db656f79aa74 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 01:02:27 2022 +0100 add 'success' optional parameter to set-alert in update nav. menu. I think I will need to swap out the string value 'success' with a constant so things aren't as stringly-typed as this. With that said, this is just a quick proof-of-concept. I can keep this around until I build out this updated feature some more. commit a7eb3240bf04e5272f03b8d260f7d961c0d9e32e Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 01:01:18 2022 +0100 add optional parameter to set-alert function in utils package. This is so I can define what type of alert message I want the server to send... and include the cat images I found. commit fda81fbb821daad84ddf16ccb4e83d702a6e3f49 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 01:00:48 2022 +0100 add safe filter to alert message in /layouts/default.html template. commit a72e133f135ef030a53104a37572b5702f1949b8 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:24:08 2022 +0100 update / (site's index page) route and nav. menu update feature. I hard-coded redirects to the pages which can't be deleted into the site's index ('/' route). This allows them to be set as the home page in the site's settings. I, also, updated the data which is passed to nera:update-nav-menu. This change is part of the Nav. Menu settings in the site's settings. commit 9a30da1a443e17ac54e10c553b0a5aaa30f8dea1 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:22:38 2022 +0100 refactor update-nav-menu in nera package. The function now loops through the values passes to it and sets the 'enable-nav-menu- column in the database for the currently selected page in the loop. commit 0a302c2a77458adfd37f8d4e84e2a0b9d1561aa1 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:20:27 2022 +0100 refactor /user/site-settings.html template (nav. menu updates). The nav. menu section sends a hidden value if a check box isn't selected. This is in preparation for implementing the back-end part of this feature. I, also, removed the if-statements when selecting the home page in the 'Home Page' settings. Again, this in preparation for adjusting the back-end functionality for this feature. commit f814aef20de647f5d74230ec1dd145daf8a4dcb8 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:19:07 2022 +0100 update delete button in /user/pages.html template (incorrect value). commit 84f3ede73602e2f994681dd26cb119dcb8dd8e16 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:42:02 2022 +0100 refactor site-setting route to get snippets from /storage/snippets. commit a76f837eea68d63e828349cdf469178476e22030 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:41:38 2022 +0100 add insert-snippet functionality to djula:view package. commit a1d1042d4c54811472e33cbcb6a2db35be591aed Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:40:12 2022 +0100 update first-run code -- refactor site-wide snippet file. commit e0a1bf7cb1cc57a7b33d45ca4336fa3e0c27fd34 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:37:19 2022 +0100 update /layout/default.html template (prep. for snippets update). I'm changing the snippet to be stored as HTML instead of JavaScript. I'm, also, storing the snippet in /storage/snippets instead of /static. This makes it easier to hook it up to my Umami instance in the future if Nic wants to do that. commit 4156b0eee0c38c5e1345d64689a3fd65991b86ed Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:05:49 2022 +0100 remove single file upload route and refactor multi-upload route. commit e8831de9f4b0e83a80a4e49d4bac9b95ab78c484 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:04:58 2022 +0100 update URL for images in build-thumbnail-path djula filter. commit 4b5831452da4e0ff45b7b7cc8314cbe6b7c3a023 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:04:28 2022 +0100 add thumbnail to /archive.html template. commit bb35111dc9bc45f75f35274edcb14a17cf7743d4 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:01:18 2022 +0100 remove single file upload from dashboard and storage HTML templates. From an end-user perspective, I don't think Nic will care about the difference. She'll want the easiest option and uploading a single file via the multi-upload form -- with no file name input -- is the easiest way to go about this. I say this without actually speaking to her about this so I might be wrong on this and need to go back in and change things. commit 44bdec65702395c5f4275e873dbbf7b6e43880c9 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 20:07:55 2022 +0100 implement the /edit/archive defroute -- updates the entries text. commit fb8f68e4686ca87dee46e9bb5875c9a45dbac302 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:59:53 2022 +0100 implement the edit archive keywords functionality (web.lisp). commit c313b4aff4171320c0d2c01a49ffb9ab00cd1156 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:59:33 2022 +0100 update keyword form in /user/edit-archive.html template. commit e53a2990c05853b9beced291b44dd36dea4ebe40 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:46:09 2022 +0100 refactor update archive thumbnail functionality (change file name). The code now removes the old thumbnail file, stores the new one and updates the database entry. I found it easier to keep track of the changes whilst developing by doing this. commit 81a0fb8e400231d0820bc4f9408e2ebc68d16159 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:44:27 2022 +0100 update /user/edit-archive.html (prep. for title and keywords). commit 7328a719fe45f7c1bb094847c9a0937a4f0e5b8e Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:25:37 2022 +0100 implement the edit archive thumbnail functionality (web.lisp). This does not include the Meilisearch integration. That will come in later commits after I've got the base behaviour for the website sorted out. commit 82e84286956b9c744b43d0bfbbbcc97bf0a2b1d3 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:23:51 2022 +0100 refactor and remove code regarding the /storeage routes in web.lisp. I removed old 'format' function called, changed file checks from using the files on disk to the database. commit ca4a540141592105c0580800c41b066552a42aa9 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:21:43 2022 +0100 edit /user/edit-archive.html template (thumbnail section). This is preparation for implementing the update archive entry thumbnail functionality in the web.lisp file. commit 379bbdc8b467c02161029fe32cf48c95ed2cbaad Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:20:05 2022 +0100 implement update-archive-entry-property in nera package. commit 8d55ed7d611ffdb9b2c7900c4abce547c8b7980f Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 15:53:59 2022 +0100 refactor /storage (I.E. get files) routes and /edit/archive/:slug. I added a new route to get files from the /archive directory but needed to expand on the original /storage/view/:slug route so I could seperate out the two (/storage/media and /storage/archive) directories. I added a check to make sure the archive entry requested (/edit/archive/:slug) exists and return a 404 if it doesn't. commit c69c165a92290e355777027a540871b61d89db5d Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 15:53:15 2022 +0100 add edit thumbnail section to /user/edit-archive.html template. commit 57a6710e928183882247953f1dce9af51a20d216 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:22:02 2022 +0100 block out the route for editing an archive entry (end-of-session). I'm going home after this commit. I've blocked out the routes I need to work on when I get back to this -- so I know where I am with it. commit 93a59aaad4f97fbbe484b2478388da1f50550c71 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:18:23 2022 +0100 implement /edit/archive/:slug defroute (HTTP GET request). commit 02df53e7f4e2e17b3d434c7e37a376704f0a6aae Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:17:18 2022 +0100 add and block out /user/edit-archive.html template. I still need to add a section for managing the archive entries thumbnail but the basics are in place. commit f205dc325202f2b970b663dd88aac1e0a30a4c6e Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:16:54 2022 +0100 remove old code from /user/edit-page.html template. commit eb9d2e3290a7a016b8bc75e72f46ee4dc8bbcaab Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:57:10 2022 +0100 implement /archive/delete/entry defroute (HTTP POST request). commit ee336d3c836f705da89bdd80cd1b75262f469881 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:56:35 2022 +0100 implement delete-archive-entry in nera package. commit f89585ab46ff778e6d4b796ebe18d08b8cd9ae1c Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:56:01 2022 +0100 update form to delete archive entry in /user/archive.html template. commit bba7cf449944c1c0eb85c530a721e23c392a03c6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:04:49 2022 +0100 implement the /view/archive/:slug route and add archive-entry.html. commit a7d0ae54ad41bb112aa31b86ee38a31575b9d089 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:42:48 2022 +0100 finish implementing the /create/archive-entry (without search). I have left out the Meilisearch integration because I won't to get the base behaviour sorted before I start integrating Meilisearch into the website. commit 5542014a1e9b61db61e26bb39ff8a5ee10a21cd9 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:41:58 2022 +0100 sort out code layout in view.lisp file. commit baf1ec1f3988aea904c6a403403923b0f8fb1820 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:38:37 2022 +0100 add format-filename and format-keywords in utils package. These functions are to help with standardising on the naming formats when storing files and keywords (for Meilisearch database). The asciify and slugify functions are not enough. They either leave spaces in the file names or the file extension gets lost in the standardising process. Going forward, file names should look like 'this-is-an-example.png' instead of either 'this is an Example.png' or 'this-is-an-example-png'. commit 3dc6a812bf954120fc468a0458848ab27a01ecc0 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:34:35 2022 +0100 reorder file load order in ritherdon-archive.asd file. I was getting errors when trying to quickload the system because a custom djula filter (defined in view.lisp) couldn't find one of the specific ritherdon-archive packages/files. I can't remember which one because I made the change earlier in the day and didn't commit the change at the time. commit 7d9e29bac8ffefb9e49646cc3824f4878768acaa Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:25:24 2022 +0100 add the /user/create-archive.html template. This is a rough but working copy. This is part of an end-of-session commit. commit 5cc14f74bf9da390be7230d6f4a997ccc7b8db83 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:24:00 2022 +0100 create /user/archive.html and /arctice.html templates. Both templates aim to list out all the archives stored in the system. The /user/archive.html template, also, includes admin/back-end features like edit and delete links/controls. commit c42d169d842cfe4094f13a1e0170e988f5029a41 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:20:54 2022 +0100 begin implementing CRUD routes for /archive section (web.lisp). This is part of an end-of-session commit. I'm currently working on the /create/archive-entry section (most the HTTP POST request). I still need to start the view archive, edit archive and delete archive parts. I've not even looked at the Meilisearch stuff. For now, the aim is to get the website's main database (nera.db) working and then integrate the Meilisearch stuff in after that. commit 23365343b1dfdcda761588e82987a0277d971892 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:19:20 2022 +0100 update dashboard.html template (add archive links and upload forms). commit ffd483411c138b7c445ff1b7a8ddc3d26f92e0c4 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:15:41 2022 +0100 start implementing the CRUD functions for the /archive routes. I still need to write the edit and delete functions (I.E. the 'U' and 'D' in 'CRUD') to have a basic CRUD system in place for this section. I'm commiting this as an part of an end-of-session commit, hence the partical amount of work done. commit 58b03ae8f23d5243b37366fb3060e89e9abd8fd1 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:13:44 2022 +0100 add create-time-stamp-id function in utils package. The only intended use for this function is to generate an Id. number which will be used in the Meilisearch database and linking it to Nera's database (I.E. this site's main database). commit c1e664b631fbfa5df109bc33f34fc9852aefa053 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:13:09 2022 +0100 remove unused code from archive-entry class. commit eff71bcbfe864dc3e2fba0d576feba6886c61873 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 18:19:44 2022 +0100 import archive package to nera package. commit d6cc11dc03f036c85730077eb9d66447bdd210a7 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 18:17:11 2022 +0100 create archive package, archive-entry model and add to .asd file. This is a rough sketching out of what the model/data needs to look like. This model is what will be connecting the site's archive (Nic's artwork entries) with the Meilisearch service -- running alongside each other. I don't know how much this model is going to change but expect it to in future commits. commit 6a67a7cfc7487ae820cc50da60b4d3e98cb3dc26 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:55:30 2022 +0100 add thumbnail features to delete and rename storage file routes. commit 80aab44c003243c5e1388cbe8f4822770d385fc2 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:40:20 2022 +0100 refactor 'create thumbnail' code in web.lisp to call from utils. I've applied the changes to the singe and multi upload defroutes. commit 592c38759f96aa6312cdecb5debceaa092783562 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:39:28 2022 +0100 move create-thumbnail code to utils (reduce duplicated code). commit 13d1e31c13547cb78578af279b765dddafb05255 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:19:19 2022 +0100 rafactor /storage/view route and add a route/process for thumbnails. When uploading a file, a thumbnail is made (if an image, using the Image Magick program with Bash). This file is not stored in the database. It is a file-system only thing. The reason for adding this is some I can create HTML templates/defroutes which show a list of the images in /storage/media without saturating the viewers bandwidth. commit 2c069573dbb8009ce4b0b68205be0568deb83fe6 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:14:23 2022 +0100 update /user/storage.html template to use build-thumbnail filter. I, also, removed code made redundant by build-thumbnail filter. commit 44c7ebbc901a0f15519aeaea66d67aa4c94b31f3 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:13:46 2022 +0100 add @build-thumbnail (djula) filter in view.lisp file. commit 6d8fa33b97ed6fc960d10299c3f4d0f4be68f1e8 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:13:26 2022 +0100 remove get-latest-file-type code from storage package. commit a15619de566554bf981f039c4a85f96fdb3ea04a Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:12:38 2022 +0100 add woo server to ritherdon-archive.asd file. Added it so I can switch between hunchentoot and woo whenever I want. No real reason to choose one over the other at the moment. commit 7a6f330497954952795ca4b1553ee4da6575b7c0 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 22 21:28:54 2022 +0100 begin defroutes for viewing files in /storage/media. I need to work on this functionality a bit more. This is an end of session commit. Started it and it works but needs expanding. I could do with adding file-type checks and changing 'octet/stream' to something like 'image/png' depending on the file-type (storage in DB). This will stop the browser from downloading every file in /storage/media and allow the files which can be viewed in the browser (like images). commit 104ac264a88e108d2df1feb4e7e733558417ea7d Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 22 21:07:59 2022 +0100 change /storage routes to use slugs over filenames (HTTP POST). commit 4c991093884c794bef100c4f99cb3f4ee2b4e4c9 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 22 21:07:34 2022 +0100 export delete-storage-file from nera package. commit 1cf86c674c03613e9116ef0c0176494218fb1b0f Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:35:05 2022 +0100 end-of-session-commit: working on /storage/delete/:slug defroute. Need to test it and make sure the logic in the various 'cond' sections. commit 191f5b2c22f7839a407ef1897579dade268337f1 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:34:46 2022 +0100 add delete-storage-file function in nera package. commit 033199913656cb0fa8ab711f0b376ef16ec54275 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:07:26 2022 +0100 refactor code calling get-storage-file and add storage/rename route. commit f3d856f7f4bbe172b0015bc1a444c0da6f5b6d2f Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:05:29 2022 +0100 add keyword args to get-storage-file and write rename-storage-file. These changes are in the nera package. I, also, got Emacs to auto format the file -- that is why is are loads of line changes in the diff. commit b9848197e7d9cc61ee0df4f1a8555789a8242397 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:25:47 2022 +0100 add storage-upload defroutes (single and multiple) in web.lisp file. commit d0ff0c812b8b123809bef2be04dde27aea9c524f Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:23:25 2022 +0100 update storage and dashboard HTML templates (add & get features). commit 953bfc5fb083dae568580b0f2d5481761bf742d0 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:21:54 2022 +0100 implement the 'add and get' functionality for storage routes. commit f5549e17a1d8fff2f5059bd54441ad6e33dd3384 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:21:00 2022 +0100 add files package (in /src/models and ritherdon-archive.asd file). commit 6e7d2b6845278c2f5cc6472b47c5acdacb634409 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:35:51 2022 +0100 put copyright text in <p> tags (in footer.html template). The text was wrapped in anything and was rendering weirdly in the browser's inspector. commit 0ce1aef3e46576f713c26b76e0a702e88f9ddf24 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:34:44 2022 +0100 change how site-wide-snippet file is stored and accessed. The site-wide-snippet file is now a .js file and stored in /static/js after the website's first run. commit 63e3919970f1c73ab60d57414dc40eadfabe96d9 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:33:15 2022 +0100 update .gitignore to ignore site-wide-snippet.js in /static/js. This file is copied to here on website's first run. This stops any changes I make to the file during dev. time from clogging up the commit history. commit 015eda2b0ae2d2c720689e394166434aa0d9e838 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:11:35 2022 +0100 initial steps for /storage/management defroute. This is an end-of-session commit. I've got the route up and running with the /user/storage HTML template rendering in the browser and listing out the files in storage. I could do with adding a model and storing the files meta-data in the database. This page could do with rendering the images and placeholders (E.G.generic text file icon) for non-image files. commit a89686c05ff35e496b55c2081e4dc5814bb552f0 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:58:16 2022 +0100 add file uploads section to /user/dashboard.html template. commit c4f9f52ba84751cbbdb6c4ba2481da13949b31f2 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:57:45 2022 +0100 add /storage/upload defroutes (single and multi file uploads). commit a855d9db90c337ebcba6829fedaf4f5bd50801fe Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:54:53 2022 +0100 refactor store-file functions to include more file types. The original code was very ham-fisted in how it dealt with storing files -- based on their file-types. The changes made here improves on it and the store-file (for both raw and /storage paths) functions now accepts more file types because of it. commit 8106b5a5c5634dd4d43be6b466f063a448785b75 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:53:41 2022 +0100 rename site-settings function to get-site-settings in nera package. The function call 'site-settings' was clashing with class and package name 'site-settings'. commit d31c4ab38a2ca0fdc94b5d9c29f889b148d3c94c Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:27:38 2022 +0100 remove old defroutes. commit f626557b97f447fc1f7d82b9eac30dc5279a37aa Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:21:10 2022 +0100 add system-data to data passed to the HTML GET routes in web.lisp. System-data is a collection of the system settings and page data in the database. It minimises the function calls in the defroute macros. commit 2bb7d053e6e388c9d9241c79f5f70434c2c93110 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:19:33 2022 +0100 clean up old and unused code in HTML templates. It was getting out of hand and difficult to navigate around the pages when viewing them in the browser. commit e9792a6fa0355fe63781d76430e920f264002f86 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:18:55 2022 +0100 import archivo in main.css file. commit 4c1b99fa08536dc2b97b2fadba948684d9c64968 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:17:40 2022 +0100 add pages in init-db and write system-data func. in nera package. commit e765c3b24ef55835c24720cbc80d7072fb2e12f4 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:16:38 2022 +0100 add and populate header and footer HTML templates. The HTML is basic, just to get the sections to a usable state. commit 9b8c5a7ca5d8c1303d014bedc7de500860c378dd Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:16:20 2022 +0100 add archivo font. commit bb5f8fb4820937ca4a979e87dee60df42b1705e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:13:33 2022 +0100 update web.lisp, mostly around site settings and first-run set-up. commit 2f819de9a2d1436d1a1341349e7349e95b0dc8dd Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:12:14 2022 +0100 add init-storage process and 'raw-path' I/O functions. commit f78beb7ea411519c347ed44b05292a5029edf6a4 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:11:14 2022 +0100 add CRUD features for 'page' table in DB and expand init-db process. commit 161e9c616973511b3edec731d7ae239d906c70e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:09:54 2022 +0100 remove old code and update forms in /user/site-settings.html file. commit d0426a949442f394bea745e22613dfde31bd8b98 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:07:45 2022 +0100 add form for /page/set-nav-menu defroute in /user/edit-page.html. I, also, changed templated data to use 'db-data' element in databag passed to the djula HTML template. commit 7e2f04d370d22e2619e879325cc81c1fbca44e37 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:07:23 2022 +0100 add can-delete check to /user/pages.html template. commit aacfcba654a7260b49dae69c6b00a43b67cf1479 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:06:46 2022 +0100 add favicon link to /layouts/default.html template. commit 9a50938c0dd47c4f6f40527610b2e1722297ff80 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:06:07 2022 +0100 implement get-image-dimensions function in utils package. commit 4bac1e3db3c42d3bb4e8a9be5ec66f797ad807d1 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:05:26 2022 +0100 add enable-site-logo and site-name slots to site-settings class. commit 6ecd555712ea196751232d7b929efd7cf85e66db Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:04:55 2022 +0100 addd validation.lisp and pages.lisp files to ritherdon-archive.asd. commit e3471e82ea13fdf0830d3930c9b67814cb6be177 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:03:14 2022 +0100 update .gitignore to ignore /static/images and /site-wide-snippet. These files will be created and populated via the site first-run set-up process. This should stop the commit history getting clogged up with needless and irrelevant changes in these files. commit 4736db9bd2115c0ae39bc8339f73a3bde4d3823e Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:02:06 2022 +0100 add validation package. commit e4612d07116e09d6b8c63a128b842ce58338e72e Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:01:37 2022 +0100 create pages package and page class (for Mito to map to DB). commit b26b296e89de7b1d64b682f9dc6192ae8ec296a0 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:45:47 2022 +0100 stubb out sections in site-settings.html (not implemented yet). The sections are more a check-list at this point. Things I need to implement. I've stubbed them out and going to call it a day. They HTML I've used is rough but it give me something to work on next time I work on this project. commit 94e326a292d748157b7837bad2eeaa4c4d330b91 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:19:02 2022 +0100 expand the site-settings.html template. This is template still needs a lot of work done to it. The additions in this commit focus on the set home page and enable/disable the sign-up features. commit 7e892f25b17a2d81ccf88484f4a031108968c9d6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:18:35 2022 +0100 add {{content}} section to index.html template. commit d9e09c52f69b08d243a7cf65ea60ffba86d59651 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:16:20 2022 +0100 add site-settings functionality in web.lisp file. This is work-in-progress for the site-settings section of the website. These additional features in this commit focus on setting home page and enabling/disabling the sign-up features. commit f1c79a9ecd063b6a96038794585b1ec682e17e4a Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:15:38 2022 +0100 add integer-to-checkbox djula-filter (view.lisp). commit eb62ade5bef369135b305aebdc7bc34a5f038750 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:14:39 2022 +0100 add condition check to checkbox-to-bool and remove bool-to-checkbox. commit 6d4d16ec4520ae830ac1bdcb233108fb02951d89 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:13:50 2022 +0100 implement update-enable-sign-on-settings and set-home-page in nera. commit bfcef81763cb3465706f7aca59bb215eea1834a5 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:10:58 2022 +0100 add home-page slot to site-settings class. commit cb51a8360594babbc41035ffdde6babd04fa9cb4 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 15:04:00 2022 +0100 implement /page/delete defroute and update redirects to /user/pages. commit 45ef9fa84a07e62370ec7dbfd79fcd19e3b913c6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 15:03:03 2022 +0100 add role check and update 'pages' link in /user/pages.html template. commit b9180da6e2badce179044af7f05725d4317bb00a Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 14:07:04 2022 +0100 implement /pages and /view/page/:slug defroutes in web.lisp file. commit f4744f14b7928f6b78cd1a02fb50627c974b1a49 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 14:04:47 2022 +0100 update links to /page and /pages and add HTML templates. The templates added allow the viewer to view the 'pages' individually or as a list (index page of 'pages' basically). commit 1c6781c945ceea635ca9f6457e170591e0027990 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:27:47 2022 +0100 implement the 'edit pages' functionality in web.lisp file. commit d6d5a58792c3c652d65b0d7548726560a26585b2 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:27:08 2022 +0100 add /user/edit-page.html template. This HTML template is very rough -- just basics to make it operational. commit f0356b00f01c2ee09edd0b990b6db40f86f0eab7 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:25:55 2022 +0100 add /user/pages.html template. This template displays a list of pages stored in the system in the /storage directory. It is very rough -- only bare basics to get the page operational. commit 681033b1cdb65cb1727b90f9091338958aee1599 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:25:23 2022 +0100 add /pages link to /user/dashboard.html template. commit 6b09c3e81ccf6a0174607c8c001fbefdd45b59f1 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:51:51 2022 +0100 update .gitignore to ignore the /storage directory. This is so the data/pages/files/content used for testing the website don't get mingled with the code-base. commit 3937b626e87b33e08df50c0b6fc39d533434334c Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:50:43 2022 +0100 finish implementing the /create/page defroute (HTTP POST). commit a477470a903616f8e6d2355a2090c7c3095f298e Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:48:16 2022 +0100 remove 'meta-data' from create-page.html template's HTML form. This is prep. for getting a working version of the /create/page defroute. My thinking at the minute is the logged in user can create a 'page' which is a page specific to the website and a 'post' of some sort for an actual archive entry. I don't know how desirable or feasible this design/approach is but I'm trying it to find out. commit 3dbb6038311b5af7b28d7a9ec0ad5916ebf14531 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:46:14 2022 +0100 add slugify function to utils package. This replaces white spaces in a string with a hyphen ('-'). I prefer file names to be stored with no white space, which is where I intend to use this function the most. commit 6fce318c8703a3021aad8139cab0c091d869b18b Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:44:36 2022 +0100 add storage package, copied from other proj. so already implemented. commit 9e308ab92ec651027c4cd9b8de66ff29f7ed4b9e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:16:00 2022 +0100 add /user/create-page.html template and integrate Tinymce editor. The code in this commit is very rough but it works. I just got the basics up and running. The template posts the content but the back isn't implemented yet. At this moment in time, I need Nic to sign-off on what she wants from this page. There is a chance this template might not exist in the future. commit 9222d347fda4fee902eaf6e2b694a6753ce3d988 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:14:27 2022 +0100 add /user/site-settings.html template. The code at the moment is very rough. I've only got the 'Enable Sign-Up' section set-up (front-end). The back-end part is not done yet . commit 6c80f146f3486bd9c86f23d924faac0687513188 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:12:23 2022 +0100 add Tinymce (rich text editor) files to /static/js directory. Tiny: https://www.tiny.cloud/ Doc's: https://www.tiny.cloud/docs/tinymce/6/ commit 875bd288411b5c6115594acd26a703631545f5ea Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:11:19 2022 +0100 add logout, delete account and create page links to dashboard.html. commit bdd86d4ad77f765227bfb5b8dc45e66e70fbec34 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:10:54 2022 +0100 add Sign-up link to index.html template. commit 11e5e6a08e130f33ca799062805c96faeea450c8 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:08:32 2022 +0100 create (and initial content) for /user/index.html template. The code in here is for the site's administrator to see a list of all the users with an account with edit and delete options. There is, also, a section to create new users (non-admin. accounts). commit 19bbba0f3ea02f3dd8f977cdafcd74b099383032 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:06:14 2022 +0100 add username check to /sign-up defroute. Just an extra check in amongst what's already there. If the username the new sign-up attempt has entered matched one already in the database, a message is relayed stating as much and redirects back to the sign-up page. commit 9724eda5fded4a92c011ef49d36b5edb6217282e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:04:46 2022 +0100 add more functionality for user management (admin. and normal). I forgot to add this to the previous commit. commit 793c5d544b2d07a8fdcb55c6aa63f9ebd2d83083 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:02:05 2022 +0100 add admin. functions for 'users' section and create /site-settings. The site's admin. can now create and delete accounts of all other users. The admin. can, also, change the other passwords of the other users. commit 7349c4b9f5e27ef37f82d55748d01c2de088d73b Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:01:14 2022 +0100 remove unused code and reformat some comments in web.lisp file. commit 1e26f1ea8d483e47627da064ac262a85c759cd6b Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 18:59:45 2022 +0100 add get-all-users function and change arg's to &key for update-user. commit 68792eac19257e8cc0273ec127784ee83ec74680 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 18:58:32 2022 +0100 add alert message data to "/" defroute. commit d025b5d0a0b8eacf14e745e423141b91fca4c571 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:23:37 2022 +0100 start to add functionality for signing new users up. commit 428a0a6ba73fc1b2907fcb4c0cb764173837c808 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:20:44 2022 +0100 add functionality for dealing with site-settings (table in DB). I've added some helper functions to help with creating a database, making sure its tables exist, too. commit 3596a696db0396333f92b09ed86a268808718a14 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:18:28 2022 +0100 create initial-setup.html template. commit 177521aa341b7e5480564266403f6096445446b1 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:16:24 2022 +0100 add bool to checkbox convertion funcitons to utils pacakge. The functions are helper functions for when dealing with SQLite3. Because SQLite3 doesn't have a Boolean data-type, I have to store the 'true' and 'false' values as integetes. 0 == false 1 == true. commit 9a665c5c4e40cbc265265374359c877990531c1d Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:15:38 2022 +0100 create and wire-up site-settings model and package (for DB). This model is used by mito to create a table in the database. commit 7e84b862912304a36f18dabfa76c85d515efc9dc Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 18:29:10 2022 +0100 refactor functions moved from auth to nera and update init-db setup. The update part refers to the redirect when a database is found whilst making a HTTP POST request, as part of the init-db process (A.K.A. website's first run procedure). The auth to nera change is because I didn't catch all of the moves in a previous commit. The image I was running at the time still had the auth version so it wasn't showing any errors. I spotted this one when trying to run a new image. commit a4d3f35306f6e9ac7aa96010985dd1d9eab04173 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:11:49 2022 +0100 add alert section to default.html template. commit 249f86b88e76321ee0fad16076b08519a0ab28c3 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:11:34 2022 +0100 add link to /dashboard in index.html template. commit 777458ee37116f3816f85090bbc4cd79db73fcee Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:11:07 2022 +0100 code clean-up in some HTML templates. commit 25142d5049158578f5a4587327bf06debfcba92b Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:04:51 2022 +0100 refactor web package to use auth, util and status-code packages. The web package was already using code from some of these packages. This commit moves some of the code in the web package into one of the various referenced packages and also has 'web' utilise the new features in those pacakges also. The biggest shift is in how the alert-messages are handled (store in ningle:*session* across HTTP requests) and how auth. is handled -- mostly the redirects functionality. commit e6162306efddc68e6a229005a5b2767589bae53d Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:03:29 2022 +0100 add alert-message functions in utils package. These functions just make it easier to set, get and reset the alert-message in the ningle:*session* variable. commit 89ad7fb2695116787e4216f05a752ad17cbb7505 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:03:10 2022 +0100 code formatting in db package. commit b469063f74582578f5b7a8b4c69c1cb36c47d03e Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:02:30 2022 +0100 remove code I moved to the nera package from auth package. commit bf8b79021e30b211a6e0467252e29cde983ba440 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:00:44 2022 +0100 export define-constant macro in app-constants. The main reason is so the constants defined in the status-codes packages can use it. I've put the (HTTP) status codes in their own package because they are a self-contained thing. I find it easier to work with them this way. commit 0941922f57193f2283fd85463770468a20585072 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 04:58:58 2022 +0100 add nera and status-codes packages. nera is responsible for the database stuff which is not part of Caveman2. The status-codes package is a list of constants representing the various HTTP status codes -- with an explanation of what they are for. commit 490a79a356b9f69d720232dd6fe85c027fc19529 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:49:41 2022 +0100 add log-in and start account setting functionality. commit 2aaefdbf5e6cadb6ae72489803e8dcda5f8e1592 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:48:25 2022 +0100 add or update HTML templates (all based around user/accounts). These are very rough templates but they serve as a way to get the logged-in user stuff functionality started. commit 3b6afd8a4acaa200aac8db747f2268f572620280 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:46:54 2022 +0100 add password slot to user class. I was having trouble trying to get hermetic and mito-auth to work together. I decided to just use normal mito and leave hermetic to the authentication/authorisation stuff. commit 7e32795392601f1684fafa3de396c1a6668a3d83 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:46:00 2022 +0100 re-organise bits of the code (mostly packages are references). commit e6ef8bec346417eed446f9618bb987635fb7aedf Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:43:38 2022 +0100 rename authentication to auth (file and package). 'Auth' doubles up as authentication and authorisation. It reads better from that perspective. commit c8074c821b94290aadcaf88c61abfae5ba14d95b Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:28:47 2022 +0100 make back-up copy of cookie cutter code, for reference. There was snippets of code in the code I liked. I'm going to keep it around for a bit to see if I can work some of it in to the new code. I'm most interested in the deployment code. commit d6dbcf7ec4088d0dbd7713683c38fb9690314db0 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:27:52 2022 +0100 create Caveman2 project (using Caveman2's project generator). commit 51d2213aae8159484b10680cd9f627259afa0212 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:23:58 2022 +0100 delete site stubbed out with the cookie cutter app. I tried it and I find it easier to work with Caveman2. I didn't realise this templating program is built around Hunchentoot -- whereas Caveman2 builds on top of. So, I'm moving the code to back to Caveman2 -- where I originally started. It looks like a waste of time but the knowledge of having a look at the other stuff has been helpful. commit 9c251a1698cd49c6cea17da69a3b595ad4bb3d3d Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:23:10 2022 +0100 update licence. commit 6257e7ec94ae9010906882b01654a72fb5d6f5e6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 22:18:51 2022 +0100 add create-user.sh script. This script adds a user to the database based on it's inputs (prompted for the person running the script). The intention is to add a user to the database easier (especially on a live production server with just the CLI). commit f5403b6cc29707189e7380a9efdd5139f7ce9e6f Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 22:17:43 2022 +0100 populate user class. This should have been in the previous commit. I forgot to add it. commit ff0c121e63aca6ef7458d22d8a17c656d793ad73 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 22:16:55 2022 +0100 create user class and add to database table. commit c5ba5b1e4b87f452b7b9ea387efffe7c4dbcea35 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 19:18:16 2022 +0100 switch Fiveam to parachute (testing framework). There is no immediate or obvious reason for the change. I just prefer to work with parachute. commit 8d52eaf0a6baff125e0c278913a34f4027042bd0 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 19:14:15 2022 +0100 update .gitignore (databases and /bin directory). commit 7d3d3e57d5621a462d3992a98a8490eb3977f9f6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 19:09:43 2022 +0100 create Caveman2 project using vindarel's cl-cookieweb program. https://github.com/vindarel/cl-cookieweb (for GitHub Repo. and instructions). The reason for using this is because it makes it easier to run the website as a standalone thing. You don't need to link it up to Quicklisp's /local-project directory. It has scripts to help you build the binaries and to run the website (as a standalone) thing. I, also, hadn't use this 'cookie cutter' program before so it's a good time to get my feet wet. commit 3177d956f17f36f46065b5f7429f21e7a2b4e11e Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 18:37:18 2022 +0100 go back to using Common Lisp and Caveman2. The admin. backend for Django isn't as easy to get to where I want it, compared to Caveman2. The trade-off is Common Lisp isn't a mainstream language so it does reduce the level of ease other might have when/if they join the project. commit ee1bf2f9278820202207fb198317d9bcb6bf31c8 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 9 02:40:08 2022 +0100 create Django project. The files included here are just the ones created with the django-admin CLI. commit 851980f784dbeece19bfe7938f58bf86b165c00e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 9 02:39:24 2022 +0100 copy a Python-base template into .gitignore. commit 24b396d47b936e31e2b54f1dd3e2262063662d9e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 9 02:34:39 2022 +0100 delete caveman2 (initial install) code. I'm going to try this with Python and Django first. Because it's not my personal project, it might be better to use a language which is more mainstream. It should reduce the 'Bus Factor'.
1 year ago
(funcall clack-errors:*clack-error-middleware*
;; The funcall line above is added as part of the
;; clack-errors set-up. Usually, the '(builder' line is the
;; start of this block.
(builder
(:static
:path (lambda (path)
(if (ppcre:scan "^(?:/images/|/css/|/js/|/robots\\.txt$|/favicon\\.ico$)" path)
snapshot 19.11.2022.0 Squashed commit of the following: commit 2256d28850ab0d3d4f477ceeb2cf8a97db49fbe4 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 19:15:09 2022 +0000 update README.org file. commit 97293d886d8898717badb1b82f97f08283bbb04d Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:43:00 2022 +0000 remove unused hostname check from quick-search.js file. This is old code essentially and is no longer used. commit ada40dec58e55db387007ed6e8799c89faa9e29e Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:41:45 2022 +0000 update apiKey for live meilisearch service. commit 66b64edc2adcfd5aef125bbe6f69a30cf2d96c78 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:40:38 2022 +0000 update robots.txt (site's URL). This URL is intended to be a temporary one until Nic decides on the final domain name. commit e5c95b77dc5d12b08967902f6d84b93f03a3740e Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 18:35:44 2022 +0000 rename README.markdown to README.org and add install/sys info. commit d12b76f87a9eb213eb127696e77b5e9f9d8f3021 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 16:02:43 2022 +0000 update .conf and .service files for meilisearch instance. I fixed typo's and added placeholders (E.G. '<INSERT USERNAME HERE>') in places where you need to add your own data which is used on your server/system. commit 5a667149a2808e20fcf525bd0b624146a3140695 Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 16:00:58 2022 +0000 update .conf and .service files for main site (ritherdon-archive). I fixed a typo's and put placeholders (E.G. '<INSERT URL HERE>') in places you need to put your own data when deploying to your system. commit 1b9f3e673ea907459f5288103771b2987e5bd2db Author: Craig Oates <craig@craigoates.net> Date: Fri Nov 18 15:59:53 2022 +0000 update makefile (remove systemd and nginx stuff, focus on install). commit 707d469ded63de6344f1d3c7e6482044f4bb317a Author: Craig Oates <craig@craigoates.net> Date: Thu Nov 17 18:05:10 2022 +0000 update makefile. commit 5c7782439a0d5fedee59d4fd583c8abc164688a2 Author: Craig Oates <craig@craigoates.net> Date: Thu Nov 17 17:04:33 2022 +0000 add nginx .conf and systemd .service files for meilisearch. These files are an untested. I just added them to get the ball rolling with them. commit 4914f3a9bc2d5e90b1b06b9a0a567bae8d0246f9 Author: Craig Oates <craig@craigoates.net> Date: Thu Nov 17 16:44:18 2022 +0000 create nginx .conf and systemd .service files. These will need tweaking. The most notable one being the nginx .conf file. The website's URL hasn't been decided yet. commit 62839183233e17e4e99f2de52a9e4dc7263732a9 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 23:43:53 2022 +0100 update makefile. commit bf407e66bb6004836fb0c4ad726a2f62fb0adce4 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 22:36:59 2022 +0100 fix typo in makefile. commit 500c25abfb69cf65626d83cbe0c60a0a9136a505 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:31:21 2022 +0100 add makefile with basic functionality. This is just an initial commit of the file. I will need to add to this as I get this website close to production-ready status. commit ca5fc4e9fcbe5cc98bd8efced7d792eb392a1646 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:27:45 2022 +0100 comment out the 'covert' function in storage package. This is tag-along code from porting the storage package over from another project. It's never got in the way so it's never caused any errors -- hence no deletion/dealing with it until now. I've commented it out with the intention of deleting if no use for it develops as it the site gets closer to going into production. commit b99e4b95f9e84099a96ffd0391d0854b90a9fa7d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:22:49 2022 +0100 intern stuff with '#:' in ritherdon-archive pack. and change to woo. The first part is just a minor change to get Emacs to indent the defpackage stuff in an orderly fashion. The second part refers to the 'main' function. I've changed the server it uses/specifies from Hunchentoot to Woo. I've been using Woo throughout development so I'm more confident with the system using that when it goes into production. The 'main' is used, instead of 'start' when running the website as a systemd service on the production server. commit 757698a7bc4d038a2b67bf985cd00d74eef3209d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 29 20:18:18 2022 +0100 intern packages in ritherdon-archive.asd file (default as strings). I used Caveman2's project maker and it adds packages, systems, exports Etc. with strings. I changes how they were called here by replacing the string-quotes with '#:'. It annoys me how Emacs indents/aligns the system and package stuff in a wonky way when you don't use '#:'. I finally had fed-up with it and changed it. Overall, this is a minor change. commit 15cc0417006340cf532a57805fb21fe8217422c1 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 16:38:41 2022 +0100 update /layouts/header.html template (reduce size of site header). The <a> tag would stretch across the top of the page and it made it hard to click in an 'empty' space on the page. It was, also, confusing when the page would change to the home page when you were not paying attention whilst clicking. commit 973523c01f5dfed13729bd150e00110c6037e373 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 16:32:36 2022 +0100 update main.css (hover state for 'danger zone' links/buttons). commit ccc4398a5283fcff7eeb98cb67f0569c225dd0fc Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 00:11:53 2022 +0100 remove/comment out search code (JS files) which declare 'serverURL'. Because the code now establishes the 'server' variable in the various HTML Djula templates (grabbed from the database). The code which generates the old 'server' variable and it's data has been commented out or deleted. commit b89dfd828fe240ffe794ca26d2e8a49733d7afc7 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 00:10:27 2022 +0100 change serverURL to just server (fixes typo -- couple of templates). This is just a typo fix. I put 'serverURL' in places and hadn't realised. 'serverURL' should say 'server'. commit d8ecc230791f4e9946b16a6825d78366f3574d45 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 28 00:00:29 2022 +0100 create 'server' variable (for search) in page and search templates. This variable contains the URL for the Meilisearch instance this site calls out to. It is grabbed from this site's database and passed to the Djula templates providing Meilisearch-based features. The 'server' variable is called here so it's easy for the dev. to see how and when it's called. commit 124252070e7b925b5a67bd5869f2082b5a593c88 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:57:54 2022 +0100 insert filter-search.js scripts into pages and archive templates. The filter code was moved to its own file and these two files utilse that code. So, these templates now must call them. The reason for moving the code out is to stop the browser's console printing errors -- because the filter JS code was trying to run on pages which didn't have the correct HTML. commit 55f12b3f5bb9555d718c5891e96a2d7ef02e41a1 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:54:09 2022 +0100 refactor build search URL feat. in search package (site-settings). I've left the old code as a comment just in case I need to reverse course. The new way the function gets the (Meilisearch )search URL is to get it from the database (site-settings table). This should make it easier to pass the URL around between the back-end and front-end. commit 08a0a061528b96c9b2239b907d68610be5794533 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:53:20 2022 +0100 remove the filter search code from main.js file. I moved it to filter-serach.js in a previous commit. This commit just gets rid of it in the main.js file. commit 0b3268725139658ecc7aa92ca0932e21782f51dd Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:50:43 2022 +0100 create filter-search.js file in /static/js directory. This file contains the code for the filtering feature in pages.html and archive.html -- a basic search feature which works by filtering the list of entries on the page. It was originally in main.js but I moved it here because it was producing errors on pages which didn't have the filer stuff on the HTML template. This change allows each template to call it when the template actually uses it. commit fdc0b964e0bfebc5eaaf4ddc5b4d2bc8b12a6f35 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:16:49 2022 +0100 implement back-end for update-search-url (defroute in web.lisp). This feature is for updating the search-url used by this site to call out to the Meilisearch service (which provides the search database for this website). It doesn't touch or alter anything on the Meilisearch service/instance/server. commit 3565fa93150562e753fecfa5274d5d0d291820b3 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:16:00 2022 +0100 implement update-search-url in nera package. This enables the site's back-end to update the search-url slot in the site-settings class and database. commit 2f8c973761b700410d204fb7c8dbae9228fbf2ea Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 23:15:38 2022 +0100 fix typo in site-settings.html template (search-url). commit 189e87ae0ad8f7d135aea75d1a3fff58f18bcd38 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:29:39 2022 +0100 add Search URL section to /user/site-settings.html template. This is just the front-end for this feature. The back-end has not been implemented at the time of this commit. commit 84d08852813aee3a2143897f3d2b511ddc8320a2 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:28:33 2022 +0100 add search-url section to initial-setup.html template. This section allows users to point this website to the Meilisearch instance which provides the search features of this site. commit e9f679bece8b908af2078ac9f2352667c3cd8d17 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:00:48 2022 +0100 add search-url parameter to init-db function in nera package. search-url is part of the site-settings class. It is used to help tell the system which URL to use for the Meilisearch instance this website's search features are utilising/calling out to. commit eeabb843cebfc106d8fd71d77dea5a80d90b5723 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 27 22:00:15 2022 +0100 add search-url slot is site-settings class (site-settings.lisp). commit 14750a6c0cf61c7d8765e83072fbd6888204c506 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 04:38:02 2022 +0100 implement /danger/upload-snapshot defroute in web.lisp file. I, also, replaced some 'logged-in' permission checks to 'administrator' in several defroutes (mostly 'danger-zone' routes). This is the back-end functionality which allows users to upload Snapshots (in .zip files) to the /snapshot directory. The route accepts multi-file uploads and ignores files which are not either a .zip file or if a file has the same name as one of the Snapshots already in the /snapshots directory. Technically, the user can upload several files at once which are not .zip files and the alert-message will relay a 'success' message, even when nothing was added to the system. This is because the system is relaying the upload went without errors and not how valid each file was. The system doesn't have anything built-in which allows the multi-faceted alert-message approach to work. Another thing to note here is the lack of checks for the contents within a .zip Snapshot file. Basically, there isn't any. I am unsure how many moving parts are going to be in these Snapshots in the future and hard-coding checks for directories and file names seems a bit premature (maybe unpredictable?). The HTML template responsible for dealing with the front-end of the Snapshot features clearly state it is a 'danger zone' section of the site. So, there is an expectation (hopefully) of 'if you don't know what you're doing, then don't touch it'. Hello, person of the future. I was really wrong with that assumption, wasn't I? commit a490c50cf25b44f654ae215ac8191950eb726fd7 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 04:35:39 2022 +0100 implement store-snapshot in snapshot package. This feature provides the ability to unzip a .zip file (the expected file format users must upload Snapshots with) and store the contents of the .zip file in the /snapshots directory. commit baebd89329964ae04290c1eedffa3442399b5121 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 04:33:19 2022 +0100 add mulit-file upload form to /danger/snapshots.html template. This commit is just the front-end. The back-end, at time of this commit has not been implemented. The form allows users to upload 'Snapshots' to the website -- with the intention of then restoring the website from that back-up. commit b731aa06dd7489613418d35f43766bf002644f6a Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 02:33:48 2022 +0100 state incomplete feature alert in restored-snapsnot route. This is to help me not forget to finish implementing this feature or understand what is happening if/when I forget to finish it whilst trying it out. commit 99e507e3138dbb695af85f61ecb955b7ed5d2e47 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 02:25:44 2022 +0100 start implementing /danger/restore-snapshot defroute (web.lisp). The server needs to be restarted after restoring the website from a Snapshot. This commit has code which establishes if the website is running on localhost and informs the user to restart the server (most likely in SLIME) manaully. If the website is running in prod. and using Systemd, the service will need to be restarted that way (user doesn't have access to SBCL or SLIME in that context). So, a Bash script will need to be written and that script will need to be called using (most likely) utils:run-bash-command. At the moment, I haven't got far enough into developing this website to have established a Systemd service or running outside my local dev. machine. So, I have left a TODO comment here stating the prod. side of the defroute is not implemented yet. commit 45dc9fc64566fe67b8ee3ab5426e48933d6dcfae Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 25 02:25:00 2022 +0100 implement restore-from-snapshot function in snapshot package. commit ae51da0277955dc3a05220e43d11b3de7b89de8e Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 20:12:21 2022 +0100 refactor nera: call string-is-nil-or-empty? from validation package. This is part of a multi-part commit to port the string-is-nil-or-empty? function from the utils package to the validation package. The code has a lot of 'utils:string-is-nil-or-empty?' dotted around so this took a few commits to port. There is a chance I've missed it in some obsure places so don't be surprised if you see a future commit relaying something similar to this one. commit 03bb7d7cee6232e9404aa443b5c0f2424c5c6a15 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:10:17 2022 +0100 implement back-end for /danger/create-snapshot-download defroute. This route zips up the specified Snapshot and moves it to the /storage/media directory. I was originally planning of having the user download the Snapshot at this point but I decided to change how this works. I decided to go with the 'zip up a Snapshot and move it to /storage/media' because I didn't want to re-implement the 'download' functionality outsite of the /storage features. Maintaining two 'download' sections is not something I want to be doing -- that is what the /storage section is for (sort out the downloading). Doing this way, also, adds another chance place for the site's data to be recovered from. commit 7207043e2faf4645db41148eb5449f2e35f866ab Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:05:29 2022 +0100 update form action (create-snapshot-download) /danger/snapshots.html I've changed the approach to how users deal with downloading Snapshots. Instead of re-implementing the functionality for downloading files in the /storage section of the site, the user now prep's the Snapshots (zips them up) and moves them to the /storage/media directory. From there, users can download the zipped file and I haven't had to re-implement or write additional code. commit c9377824dc6fc174cb0ff7c37f3e5d977001b079 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:04:53 2022 +0100 update restore-snapshot.png icon. commit c38e9de548b61c5a087b5ade9f622e40b0631141 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:03:43 2022 +0100 add zip package to ritherdon-archive.asd file. Used for compressing/zipping up stuff -- most notably the Snapshots so they can be moved to the Storage Files where users can download them. commit 94b626c9fae9e5efa84da46aee3dabd37ae322b3 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 02:03:01 2022 +0100 add transfer.png icon to /static/images/icons directory. commit 90650a8a5a6cd41678b4735e6fda79fdfe269f22 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 00:24:57 2022 +0100 implement /danger/delete-snapshot defroute (back-end in web.lisp). commit 0c652be9fc3e92d827987c7ba0c33fcddcde0573 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 00:24:39 2022 +0100 implement delete-snapshot function in snapshot package. commit 782c9aee2cfef74b10e56ccdab61c1765c2aaf4b Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 24 00:19:25 2022 +0100 implement raw-directory-exists? function in storage package. This differs from the other file/directory checks because it doesn't create a directory when it can't find one (usual Common Lisp predicate behaviour with files/directories). commit e5993771587b9c63c26916087f9507b3e5986de5 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:33:51 2022 +0100 refactor code in web.lisp (call from validation instead of utils). This is the second part of porting string-is-nil-or-empty? from the utils package to the validation package. The code between the validation and utils package was already sorted in a previous commit. This commit to updates where the web.lisp package calls it. commit 0b2980f1d7f053c4da2f3464e7f7fcf8980ca370 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:31:49 2022 +0100 remove string-is-nil-or-empty? in utils and export it in validation. This is a port I've been meaning to do for a while now; I just haven't got around to it until now. This commit doesn't refactor the code in web.lisp to call the ported code from validation -- it's just the first step in the port. commit 0b539697833621e9c12cc014ee4347a6e06f8720 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:17:14 2022 +0100 add 'raw directory' functionality to storage package. This commit looks like it has more going on that is acutally does. The biggest mis-directed blobs are the docstring comments I added to get-files-in-directory and get-file-names. I just never got around to adding them until now. I remove the format call in make-raw-path because I forgot to do so in another commit. The code works with or without it which is why I missed it previously. I'm removing here to clean the code up and before I get distracted and forget. The actual code which this commit is mostly for are the get-raw-directories and get-directory-names. You shouldn't need to use these functions in the normal operations of the site. They are mostly intended to be used for dealing with the site's snapshots -- or any other directories outside of the /storage directory. The snapshot management section of the site is part of the 'danger zon' features -- hence the need to break-out of the usual '/storage directory' features. commit fdf43c2b01e79339b789b8035cfd8d9172f3c656 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:14:55 2022 +0100 add snapshot data passed to template from /danger/manage-snapshots. This data is just a list of the directory names for each snapshot stored in the /snapshots directory -- only deals with HTTP GET here. commit 2a456bcdc503af303641970cfd241a18bc466233 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:13:43 2022 +0100 add download, restore and delete controls to /danger/snapshots.html. This is just the front-end. The back-end has not be implemented at time of commit. commit 89b4fbacee158de97ea8a1677047a5800f36478f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 21:12:56 2022 +0100 add restore-snapshot.png icon to /static/images/icons directory. commit f57d6ef33c216f9f4470c5d4e1106dbfe96cea7c Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 19:23:02 2022 +0100 implemented 'Disk Info.' feature on the back-end for /dashboard. commit 26882cae6f78dd416b36a37ee3f3c93533513aa9 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 19:22:04 2022 +0100 add 'Disk Info.' section to /user/dashboard.html template. This is just the front-end. The back-end (web.lisp) has not been implemented at the time of this commit. commit a292d245b76eba085a6377dd6dc7f6dd1103ee4a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 19:19:46 2022 +0100 add cl-diskspace package to ritherdon-archive.asd. This package grabs disk information from the OS -- and can display it in human readable form. Looking to create a 'Disk Info.' section on the dashboard page to help users decide when they need to start deleting snapshot data or move to a machine with a bigger disk. At the time of this commit, no features have been implemented yet. commit 254500cad7ebc66e0d888299adf13b6436d8ff76 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:52:58 2022 +0100 update .gitignore to ignore the /snapshots directory. This directory is created during the site's first run. This addition to .gitignore stops the commit history from getting clogged up with irrelevant data during development. commit 2615dcb892c1853585a73ce49cfad59d33025266 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:52:05 2022 +0100 minor edit to copy text in /user/site-settings.html template. commit cba7675d3d1759a42477e56396523f1ac2e3256b Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:51:39 2022 +0100 implement back-end for take-snapshot feature (web.lisp). commit 943fc77d921a88951f2de1531d39076297c632ce Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:51:13 2022 +0100 add take-snapshot.png icon to /static/images/icons directory. commit efbee6136654d8b4b0ccaa55e89fbac630e7e0c2 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:50:36 2022 +0100 add form for taking snapshot in /danger/snapshots.html template. The back-end is not implemented at time of commit. commit f629e3d7507e1fe9e31809e08e26a8888f180e2c Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:27:11 2022 +0100 implement various 'raw' based functions in storage package. The most notable ones are the 'copy' functions. The main intention here is to provide the functionality needed by the snapshot package to help it take programmatic snapshots of the website's data and database. At the time of writing the 'restore from snapshot' functionality has not been implemented but that is something these 'copy' functions will look to help with. commit 8a9354f50f9626ce669adea85f9b92087beb531a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:24:08 2022 +0100 implement create-timestamp-text function in utils package. This is a variation on the create-timestamp-id used for generating a timestamp-id for the Meilisearch database. This text-based timestamp takes the form of YYYY-MM-DD_HH-MM-SS. The main intention of this function is to use is as part of a directory name when generating a snapshot (of the website's data/DB). commit 704e87546ef7bea48979fc0b7cb36512ef4af9fb Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:21:30 2022 +0100 create /danger/snapshots.html template. This is just the HTML template. The back-end (I.E. defroute in web.lisp) is not implemented at the time of this commmit. commit 250305e8b0d9d3cc576acdff98c505a19826ddab Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:20:14 2022 +0100 add link to /manage-snapshots in site-settings.html template. This is part of the 'danger zone' section in the site-settings.html template. The back-end for this feature is not implemented at the time of this commit. commit 736d12074faddd82cf0f405be7c501aa9d68965a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:17:24 2022 +0100 add snapshot.lisp, implement take-snapshot and stub-out restore. I will add to this as I add more snapshot features into the main website code (I.E. HTML templates and routes in web.lisp). At the moment, this package is a little island right now and doesn't integrate into the rest of the website at all. commit 9ff9711af8fce21d11f6d9119a4a4c5a8cd101c2 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:15:05 2022 +0100 add copy-directory package (quicklisp) and snapshot package to .asd. copy-directory is a package on quicklisp to copy files using the OS's native cp command (useful for taking snapshots/back-ups of directories). The snapshot package is for copying directories (I.E. taking snapshots) in /storage and the site's DB. commit 5c90771bc40962b9dc710bbcbbb7685140ba8781 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 18:13:16 2022 +0100 delete schema.sql file (from /db). It's never been and won't be used. It came as part of the 'make project' process when generating a Caveman2 website -- just never got around to deleting until now. commit 14586efa2abd9aaef68eaef9d5464e2176fcc95f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:21:06 2022 +0100 implement copyToClipBoard functionality (main.js). This feature copies the selected file in /storage/media and builds it full URL. The intention is to make it easier for users to copy the URL when the need to paster it into one of the 'edit' pages (I.E. Pages and Archive sections) text areas. At the minute the code assumes its only copying and building URL for the files listed on the 'Storage Index' page (/storage/manage defroute). If the website's features expand in the future in this area, this function/feature will need to be refactored. commit 72d0352c7917008df839c38cea370934441c3b86 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:19:38 2022 +0100 add popup section (copy text via JavaScript) in /user/storage.html. This is just the HTML and CSS additions to the HTML template. The JavaScript has not be implemented yet. commit 1bec6e8034ac4f23700ac20fd9334f79b506227f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:16:44 2022 +0100 add thumbnail path for SVG file in build-thumbnail-path filter. The file-type contains 'image' so the filter assumed it was a .png or .jpg and the image wouldn't render when it was a .svg file. This additional check to the filter makes sure the svg.png (stock image file) is used when a thumbnail is used in a HTML template. commit 416d55ce3ccf66a259604d53e87a20fb39965a34 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:15:56 2022 +0100 update main.css (popup stuff for coping text via JavaScript). commit 4c157b5fda24666057d9238928991e5b55003eca Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:13:06 2022 +0100 comment out un-used code in build search url in search package. I was going to start on making this function more robust and remove the hard-coded nature of it but cleary I got distracted and never actually started it. I know it will need to include the 'build-url' functions in the utils package but until I get around to actually refactoring this function, I'm going to leave the code commented out. commit 7f463f8d718db73689d294a081a679a0fd42ec9a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 23 00:12:39 2022 +0100 add copy.png to /static/images/icons directory. commit a45747c7d80ed7999657f08f67be7a575a1ae72d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:51:13 2022 +0100 implement back-end for 'manage database entries' ('danger zone'). This includes the HTTP GET and HTTP POST requests (defroutes in web.lisp). This is part of the 'danger zone' features because it can leave the website in an un-recoverable state. commit c958bc86212202eefdbcd65575cc70c38051ac2c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:49:57 2022 +0100 create and populate /danger/manage-db-entries.html template. This template has the CSS and HTML already included with this commit. It's usable but I'm guessing it will need tweaking when the site gets closer to going into production. commit 51a078c8c26216f86b635c20f237eeb24e875f2a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:49:09 2022 +0100 change 'Media Files' to 'Storage Files' (/danger/manage-files.html). commit 757f3b04485f1ad75d11c097d0b133dc669fd95f Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:04:42 2022 +0100 implement the manage/delete files back-end features ('danger-zone'). commit 7fc8609aed8262cf05620fc725a0e0217402b8fe Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:03:01 2022 +0100 create and populate the /danger/manage-files.html template. The template is pretty much ready to go with this commit. CSS stuff and data population already added. commit f88686dcd1203e4364bcfbbbb8f7dbea3041c129 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 22:02:28 2022 +0100 add icons (/static/images) for 'delete' links and buttons. commit fa70b7e2901f703a105707f7289652ee8360c91d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 21:59:04 2022 +0100 add 'danger zone' links in site-settings.html template. Links point to sections for manaully deleting files in the /storage directory (without database interaction) and deleting database entries (without storage file interaction). These sections are marked as 'danger zone' because they should be used carefully and only if the site's storage files and database have become out-of-sync. with each other. The back-end functionality has not been implemented yet. commit 53b2289f7aeb2f8a2b71268cd22d647de3911f6a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 21:58:20 2022 +0100 update main.css ('danger-zone' stuff). commit 3f0b99083208df98fdc2a679623fb56c0da4cf77 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:54:41 2022 +0100 add error-refresh and reset-website images in /static/images/icons/. commit 66b84f8de6e855033bf302a492745878dd1c0207 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:50:44 2022 +0100 implement the /danger/reset-website defroute (back-end feature). This feature deletes all the user created content stored in the /storage directory, the website's database (so User Accounts) and wipes the Meilisearch database clear of the Archive Entries stored in it. This is part of the 'danger zone' features and intension is to allow the site's Admin. to clear out the website and start with a fresh clean install. commit 78298c08ee3e612ae43b949b206a38ccd98c2fdf Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:48:49 2022 +0100 add remove-file-with-raw-path function in storage package. This function is part of the 'reset website' feature implemention. You should only need to call this when you want to delete something outsite of the /storage directory (I.E. the website's database). commit b0efc40a9430550a85dad62b18976417659193fa Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 19:48:07 2022 +0100 add 'reset website' form to /user/site-settings.html template. This is part of the 'danger zone' section in site's settings. The back-end for this feature is not yet implemented. commit 74a65079028e0bb41e18770e14e60a9881435cb8 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 18:59:29 2022 +0100 implement the 're-populate search DB' functionality (web.lisp). This feature is part of the 'danger zone' section in the site's settings. This feature clears the Meilisearch database (with this site's Archive Entries) and re-populates it with the data from this website's (nera) database. commit 3f212821140b4a36cd5765668fa496b1310516f7 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 18:57:44 2022 +0100 update /user/site-settings.html template (initial 'danger zone'). This commit establishes the 'danger zone' in the site's settings page. This will need to be added to over time. This commit set-ups the 're-populate search DB' feature but the back-end is not yet implemented. commit 7771f966a12ba2f4ca9c91f1a40d543c1e447bf1 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 18:56:19 2022 +0100 update main.css ('danger zone' styling). This is just a initial addition for the 'danger zone' section of the site. commit 05969728774a2aa86e8f3a80938185b6f353bd69 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 17:16:33 2022 +0100 implement 'repopuluate meilisearch DB' functionality (in search). The main feature is the repopulate-database function which clears out the Meilisearch DB index containing this site's searchable information and repopulates it with the site's nera.db information. I, also, added a delete-index function (also in search package) but that is mostly a convenience feature. It allows me to quickly delete any index in the Meilisearch DB which I made by mistake (E.G. wrong name, change of plan) and remove old indexes from other projects which are no longer in use (on local dev. machine mostly). commit a046d21dbbf944f97f60251cda989406b8c9b60c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 17:15:31 2022 +0100 add redirect from /sitemap to /sitemap.xml in web.lisp (defroute). This is just a 'catch-all' defroute. commit 50a76f56ba87c778be08ff23f6bd72b0677e8069 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 01:42:51 2022 +0100 add robot.txt file to the /static directory. I'm sure I will need to update this at some point. I didn't spend too much time on it, just jotted things down as a I came across routes in web.lisp. The Sitemap URL will need to change, the closer the site goes into production and an domain name has been bought/finalised. commit 862b55ec2322db3b9c93b95f4e7eca2ecfe07b80 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 01:42:13 2022 +0100 implement /sitemap.xml defroute in web.lisp file. commit 5f040b642dda8d31794f1ed70ccf253a3ece7542 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 22 01:39:14 2022 +0100 implement build-url and build-url-root functions in utils package. These functions are mostly aimed at the site's XML-generated site map. The piece together the site's URL from lack's request struct. I don't know if there is a pre-built string containing this information (I.E. http://localhost:5000 and http://localhost:5000/testing) which is why I have written these functions. commit 3cfb5d4331c50a9997b7c144a984932a20fdb161 Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 20 23:31:29 2022 +0100 add birthday-cat.png to insert-dashboard-cat function (view.lisp). A little Easter Egg... commit e336640fa0697f62465bcd7770ed3babdd6e76ad Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 20 23:14:52 2022 +0100 update quicklist sections in archive-entry.html and page.html. Replaced the 'View Entry' link with an edit entry link instead. commit ad58e02f5ce31152768cd8aef26f16601f737245 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:35:57 2022 +0100 add older/newer entries section to archive-entry.html template. commit d6b7e031e717a8e01d46505769c58102d649cdb1 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:35:34 2022 +0100 update main.css (mostly for listing older/newer archive entries). commit 2b4336bcedce9748c81d4ae5ba292734032a981b Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:34:51 2022 +0100 add older/newer archive entries to data returned from /view/archive. commit a4486ad168eb332defc235bd2b984e549ec1e7f8 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 20:34:00 2022 +0100 add get older/newer archive-entries in nera package. I, also, change the order to 'created-at' for getting all archive-entries. commit bb7396d95ec7f41d4fb93a30d16d67e65085b03f Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 18 13:56:10 2022 +0100 fix add-storage-file regression bug (database and file different). When uploading a file to /storage the database stored the un-formatted name and the file was stored with the formated name. This meant when anyone tried to download or rename the file, the website would produce an error. This commit fixes this and has the database and file storage system store the files name in the formatted way (all lowercase with no whitespace). commit 2515803ce0ead16f5aebc944399cec6f22f7c369 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:49:54 2022 +0100 update quick-search.js (minor URL and CSS changes). This file has been in the repo. for a while -- I copied it over from my co-web project. But, I hadn't touched it or integrated into this website until now. The changes in this commit are mostly minor changes which bring the URL's for the Meilisearch instance this website connects to and change the CSS classes to match the ones used in this project (and not my co-web) project. commit 6d60cfa86a52083e57f32066374f9c4a6f6be64d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:48:30 2022 +0100 update full-search.js (mostly CSS classes). Because I copied over the code from my co-web project, the code in this file has CSS classes referring to that project. This commit updates those classes to fall in-line with the CSS/design of this website. commit c0ca6c8aa2f43ae610a38250e46b99b31de685df Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:47:46 2022 +0100 update search.css (remove co-web code). I will need to update this as I go along. I copied the code over from my co-web project so the webpages have been rendering with that style/design until now. This commit has removed as much of it as possible and added/updated the style rules to fall in-line with the design of this website. commit f23b9b8a857a7607d80aafdc4763e28529d10f82 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:45:40 2022 +0100 update full-search.css (removed rules for co-web project). I will need to update this as I go along. I copied the code over from my co-web project so the webpages have been rendering with that style/design until now. This commit has removed as much of it as possible and added/updated the style rules to fall in-line with the design of this website. commit 89283b7cf7ccc09df6980b80ad0cc5a8db3f5fd5 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:45:17 2022 +0100 add 'quick search' section to archive-entry.html template. commit 07d6607e8845d20e706a543ef644efef8d01eef5 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:44:27 2022 +0100 add 'quicklist' and 'quick search' sections to page.html template. commit 554084f05aee66467274b2b2b36981064612ef0c Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:44:08 2022 +0100 remove some HTML from search.html template. commit d2005080b204b8486d968c09867981932dbfdb7d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:41:58 2022 +0100 apply indentation formatting to /layouts/default.html template. I was faffing in this file and had Emacs do a quick re-indentation (with web-mode) enabled. I don't think I have touched this file since installing web-mode. commit 2d862e29e26abb9af52ed13ddc098ab4ad1e65a3 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 17 20:39:45 2022 +0100 add 'update'ranking-rules' func. to search package. This allows you to change the order the search results are returned in. The main purpose why you would want to use this function in this context is to make sure the list of results is ordered by the year the artworks where published/created. commit 73c4a1cd167f6b7ce1e21c9bcd15d6187a59d2fd Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 21:33:57 2022 +0100 update main.css (mostly image sizing in article body). commit ac402d333d210a43d4c1456cfd946656e4edd625 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 21:31:55 2022 +0100 add quick-list section to templates/archive-entry.html template. This will need updating. I copied over a quick-list section from another template. I'm off home after this commit (got one more commit to enter after this). Thought I would get something in before I left, though. commit 55df7b5161bdc86e037a0c03646a75e55f3e85ec Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 21:17:13 2022 +0100 simplify templates/archive-entry.html template (remove entry dates). commit 3ff07064a6fd9a782ef3cef818b5120ab7deefe3 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:50:43 2022 +0100 add 'Publish' date section to /user/edit-archive.html template. commit 833b125f46231665231736249cf89a33e32a662e Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:49:03 2022 +0100 add 'Publish' date section to /user/create-archive.html template. Only 'Month' and 'Year' are used because 'Day' is not relevant -- at time of writing. You might see an change to this form in a later commit if requirements change. commit c9733d5f94f577b2a7a6162f21954e3c809755dc Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:47:40 2022 +0100 remove database Created/Updated At info. from archive.html template. commit 7931d33588c1ddaa5f96fe3a8ba13d76f6a9a1e4 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:46:45 2022 +0100 update main.css (input for 'Publish' date mostly). commit b874b3e74250e33a93dcf192c4732f3451e72052 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:45:09 2022 +0100 update archive-entry HTTP POST request (include 'publish' date). The publish date refers to when the artwork was publish which differs from the 'Created At' date. That refers to when the entry was added to the database. commit b750649cb2c166c9742165db31a61f8c85064d44 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:43:52 2022 +0100 replace 'Created At' timetamp with 'Month' and 'Year' (search.lisp). 'Month' and 'Year' refer to the artworks publish date. commit 36f396b0da4f681054f100202cadf407f75ec217 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:41:57 2022 +0100 add publish month and year arg's to create-archive-entry func. This update is in the nera package. It is part of a refactoring of functionality to have a seperate 'Publish' date and a 'Created At' date within this site's database. The 'Created at' date refers to when the entry was added to the database. The 'Publish' date is the date of the artwork. commit 37ec669980d66695f8739cf53eab4847b18412a9 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 20:40:54 2022 +0100 add (publish) month and year to archive-entry class (archive.lisp). This is mostly for the Meilisearch database. This addition will mean it's stored in this site's database, though. commit 2300c9413abd639ebe1c81f3d02f918629962ca7 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 18:33:49 2022 +0100 update HTML in archive-entry.html and archive.html templates. commit a697b09462217728f7ec811e39cac22478a6897b Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 18:32:12 2022 +0100 fix link styles in main.css file. Default links were changed in previous commit and had a knock-on effect to some stylised links. commit eba62e0925b48bbe1d866726c1c2bf30eef8ce3c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:56:34 2022 +0100 update main.css (filter controls for 'Index' pages mostly). I updated the CSS for links (a tags) too. commit e6a1b4287f1e83f874a5cd10bfb5ec8deeea2866 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:56:17 2022 +0100 add filter controls to pages.html template (HTML, CSS and JS). commit a610b52ba6bf5f9b4e57821d461eb5c7d9f8b029 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:55:49 2022 +0100 add filter controls to archive.html template (HTML, CSS and JS). commit 6db73aac52ffafb5463ee6ed8ea1826526593f17 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:48:53 2022 +0100 add filter list code to main.js file. This code is intended to be used mostly in the 'index' pages (Pages and Archive). These pages are mostly going to act as a back-up for when the Meilisearch service goes down or if the user has a poor internet connection. This filtering behaviour allows the user to filter the entries in the Index they are viewing (Pages or Archive). There are no images and no repeated calls back to the server. Each index lists just the text (Titles, publish info. Etc.) and from there the viewer can filter the results on the page by entering text into the text box in the Index-base HTML templates. From Nic's point-of-view, these Index pages will not be included in the nav. menu but if the Meilisearch service goes down (at this site is still operational), she can swap out the 'search' page for these (really it's just the Archive Index) so people can still have some form of search/filtering ability whilst viewing the website. commit 1bb0a92d39961b29175e620ad259dac62b1ca06c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 15 16:48:32 2022 +0100 add footer tag to footer.html template. commit e548ba799349ba39a1a6ce1432a39368798a84cf Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 14 21:51:43 2022 +0100 update CSS and HTML in /templates/sign-up.html template. commit bf007601ea9ab238035a6622cf524b7d5cdf0717 Author: Craig Oates <craig@craigoates.net> Date: Fri Oct 14 21:51:02 2022 +0100 fix grammar mistake in /templates/user/edit.html template. commit f74ae90e02eb4cb7e5e87af1baa9aaf8930f8ae1 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:01:36 2022 +0100 update artchive-entry.html template. Starting to add extra HTML and CSS tags and rules. This is just the start to building out this template. commit bb4fbe1a006ba0fd05399e5286bb8830f57382f7 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:01:15 2022 +0100 update main.css (front-end archive entry). commit 146901fa80086060d790a44346abc6f742620c5e Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:00:38 2022 +0100 set site title dynamically in index.html template. commit d4ab83ef7afacfe1a013a3f40a15a863e1c9703a Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 11 00:00:00 2022 +0100 clean-up code in web.lisp and view.lisp files. commit 94122e7741c05464c39e65b0098609900fd68956 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 20:18:00 2022 +0100 tidy-up code and leave comment in /edit/archive about Meilisearch. This defroute doesn't change anything relevant in the Meilisearch DB so it doesn't need updating. I've left a comment (mostly for future me) to remind me not to think I've missed a defroute and try to integrate the Meilisearch stuff into it. commit f38e0aef42ee314d866f010a3317884e6761f343 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 20:11:57 2022 +0100 integrate Meilisearch into edit keywords functionality (web.lisp). commit 5d853592bf17fdc53884a6c9263390a7e3cfd984 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 19:57:03 2022 +0100 integrate Meilisearch into /rename/archive-entry defroute. The defroute to update the thumbnail doesn't need to change but I added a comment to make it clear in the future -- I can see me forgetting it doesn't need updating and try to add code which doesn't need to exist. I, also, did a bit of updating to the layout of the code is parts -- mostly when setting the alert message. commit e90de5e31a7aa4a4bc1935345c51a1d1e2495652 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:12:31 2022 +0100 add 'Search' as hard-coded URL in '/' and update delete Arch. Entry. The re-direct to /search when the user has set /search as the site's home page is part of a list of other hard-coded re-directs in this site's '/' defroute. The site now deletes the Archive Entry from the Meilisearch database alongside the files in the /storage directory and the nera database. commit 6e4da8dc261c471cf41f3250af9cb6213fe8703d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:08:53 2022 +0100 implement set-filter-attributes, delete-all-entries and create-dump. These functions are helper functions to manage the Meiliseach database from a Common Lisp perspective. The intention is to work them into the website's back-end so the user can reset or re-populate the database from the website without me (or someone else) having to SSH into the VM and do fix/restore things manually. For now, they allow you to manage the database from SLIME. commit d488b5678073abedae05ca12b4c922e8d5f9fbcf Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:08:13 2022 +0100 add 'Search' to hard-coded links in site's nav. menu. commit 0f2067742ad2eceb2a3a056b2447715276bf08db Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 17:07:39 2022 +0100 add 'Search' page to init-db function in nera package. commit 5287e9858e1e8ff5fc6d5517105f0a9ee2a27ff6 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 16:29:40 2022 +0100 change month number to name when adding archive entry to search DB. This change is so the refinements on the seach page shows the month names instead of thier numbers. This is because most people tend to work with month names and not numbers in this context. commit 6389480260cb8e740756b5fd2c1fa81435550836 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 10 16:27:47 2022 +0100 create month-number-to-name function in utils package. This is a helper function to convert '1' to 'January', for example. The intended use for this is to work alongside the local-time package when generating the month number from a timestamp. commit ad65e0fca183b651833a40044e43f7a97eee4f9f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:48:40 2022 +0100 add 'title' attribute to links in /user/archive.html template. commit 4d5a9b7f0c4339b16f253743f973c4a994b43946 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:40:35 2022 +0100 update /layouts/header.html template with new CSS rules. This commit makes the header (site's name and logo) a link which points back to the site's "/" (I.E. Home page/route). It, also, centralises the header and the navigation menu (in the header). This is so the header doesn't look weird when viewed on a mobile phone. I removed the <hr> at the bottom of the file because the site has enough styling applied to it to make the <hr> look out of place now. I can clearly denote/identify where the site's (front-end) header and footer stops and starts. commit 82192113c0fc0ddb19b850362a0db2fe9c3966cd Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:40:15 2022 +0100 update main.css (front-end header stuff). commit 990eb22f6dc0f0faee9ae77f8fe22de2a42843e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:39:52 2022 +0100 remove <hr> from /layouts/footer.html template. commit 6a5b6ea838ec6a0f9d9ffdb386dc27ddbd4cfabe Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:15:05 2022 +0100 fix day-of-week timestamp bug in insert-dashboard-cat filter. I didn't realise the local-time system set 'Sunday' to '0' in its timestamp-day-of-week function. I thought it was '7'. This commit changes the check for '7' to '0' and adds a few comments to help identify which days the cond form is checking against. commit ad0954e3192044065f92633fa22ce2f755de723e Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:12:31 2022 +0100 add Meilisearch JavaScript and CSS files. These files are provided by the Meilisearch project. This commit is larger than usual because of this. The CSS files are copied over from my personal website's repository so they will need modifying going forward. I've added them here as a starting point. commit 0aef87a94917cf42e84065a8c25a7b0ddf0de615 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:10:26 2022 +0100 create the search.html template (for Meilisearch). This page is populated in this commit but is broken because it requires several JavaScript files which have not be committed to the repository as of yet. This commit is in preparation of adding those files. commit c2788c43afb29200434ad7a0c250d354f5a80e00 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:07:44 2022 +0100 integrate the search package into create archive route in web.lisp. The site now populates the Meilisearch database when the user creates an archive entry. The Meilisearch needs to be set-up manually at this moment in time so expect this to break easily if you haven't got Meilisearch working. commit 04c79732f73ce34a895e73cdf012af002dbf9de6 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 21:05:19 2022 +0100 create search.lisp file and add to ritherdon-archive.asd file. I copied most of this over from my personal website's repository. So, there are bits of code which look a bit out of place in this context. With that said, the code does run and just needs to be integrated in the defroutes in web.lisp. commit cff6bfc1ee35a8e05aff0cfc472c944f7764641f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:21:07 2022 +0100 fix rendering errors in 'title' values (/user/pages.html template). commit 295ed248c9c0f61f126cb84a76a2897468036536 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:20:47 2022 +0100 update default favicon.png and site-logo.png files. commit e705aa67e4f7f492aa3f4218d3ce231e56a1b118 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:19:50 2022 +0100 update main.css -- mostly for initial-setup.html template. commit a834f54a130600f376e73323a5d386d865984d27 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:12:54 2022 +0100 update initial-setup.html template -- massive overhaul. I've removed the 'extends' blocks and built a completely seperated template from the rest of the website. The template was not rendering properly because certain parts of the website had not been set-up yet so the complete isolated template was/is required. I've, also, added extra options for the user to set during this first run process which will be processed by the back-end. I've not put much work into adding validation checks because it is a one-time thing (this page). You'll need access to the server anyway -- at this point -- so a bit of manual correction of mistakes will be easy to achieve. Deleting the database will be enough to trigger the first run process again. commit 324229dea49f7df843c124a0089b6061e05fb534 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:11:24 2022 +0100 modify init-db func. in nera package. This is part of a refactoring to allow the user to set more settings in the initial set-up/first run process. commit d35ae529dbaed5bb243f45fc910a6998c05a4c3f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 9 17:10:41 2022 +0100 add power.png image to /static/images/icons directory. commit eb7435f720448b288f3d50ad2f6a78da3e22e00a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:49:39 2022 +0100 add checks to make sure uploaded files are images in site-setting. The conditions are added to the 'Site Logo' and 'Favicon' sections/defroutes. The checks are to make sure a user doesn't try to set an MP4 file as the site's favicon or site's logo. commit 85b0d8da9ecac736cf7300f259912db82bc0a0f7 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:48:22 2022 +0100 add hints to various sections in /user/site-settings.html template. These are just blocks of <p> tags to help explain what the various settings do in each section. commit b9493fb13860641dbd6856908bec01d89c8c67d0 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:48:11 2022 +0100 fix typo. in main.css. commit 7bd5f1dd022920aa1016ce8a7e28d5859c745d1d Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:29:20 2022 +0100 update main.css (section controls for dashboard). commit 78cf655f5d894e629e4b4b7b6a5352d7ca6463e5 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:19:53 2022 +0100 update HTML and CSS in /user/site-settings.html template. I did a lot of re-arranging of the settings alongside adding CSS and HTML stuff to template in-general. commit 3d24084e24848046b3e547b508505b58d2d13901 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:18:56 2022 +0100 add 'administrator' checks to /user/edit.html template. Some links were being shown to non-administrators. This check fixes that. commit 7b1a80333c8f12422401f94138983822fe9134d8 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:18:30 2022 +0100 update main.css (site-setting stuff). commit 3274456906ffe0fe8454bbec433b9c2d6f787608 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 20:17:37 2022 +0100 fix typo. when calling set-alert when enabling sign-up option. commit cedab101f150030490a656e571c267ac314a3f2a Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:18:51 2022 +0100 update icons for 'Manage Account' links/buttons. This is across several HTML templates but they are minor changes so it should be easy enough to follow when viewing the commit's diff. commit a522701b5874abab915dc82ce42d9fefe615c332 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:10:29 2022 +0100 update /user/index.html (HTML and CSS). commit 9d19cdcea9bebd2c582bf574204f004125665a7f Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:10:09 2022 +0100 add 'quicklist' section to /user/edit.html template. commit 2a7e133d7e2b83447163ee99f2deec9511bc8604 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:09:48 2022 +0100 update main.css (user account stuff). commit c8de64382fa8390c6466dca8e429ff97dde1bb18 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 17:09:06 2022 +0100 add all-accounts.png and create-account.png images. commit d64ae60c268f5c52f8f4c5cb5fadd7e9ae608afd Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 13:01:45 2022 +0100 update /user/edit.html template (split 'edit' form into two). This update seperates the form previous version of the template (for updating the user's display name and password) into two. This is because of a change in the back-end defroutes. It's makes it easier on the back-end to update the password and display name seperately with different HTTP POST requests (and HTML form data). commit 76450d341424386fe08938f7b93b2aaa9023a8a8 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:59:07 2022 +0100 seperate /user/edit route (HTTP POST) into two. There are now two HTTP POST routes which update either the user's display name or password. commit 949cee862cac22975721a7747d5dbde27fe8763c Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:56:19 2022 +0100 refactor insert-dashboard-cat filter (view.lisp). Changes the time conditions used to display the various cat icons in the dashboard; And, fix a bracket-bug (closed a condition block too early). commit ea4520e7d4c96fe6bdbb82d0ffde9903d4215bae Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:04:32 2022 +0100 update /user/edit.html template (CSS and 'delete account' form). commit e688c55cd9e4462ea2dc44466041edb175021b97 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:03:06 2022 +0100 adding padding to alert message container in main.css. The alert message was rendering under the dismiss button when viewed on a small (phone) screen. The extra padding makes sure the message remains clear of the button. commit 9430942cb5b1993504c2f089632051bee8740f0e Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:01:21 2022 +0100 update /user/delete defroute: add 'type username input check'. When the user wants to delete their account they must now enter their username as part of the form they submit. This is so they don't accidently delete thier account. commit 6c65b9c5a045994c4e3bbe32f2ad76188ee109e0 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 12:00:50 2022 +0100 add delete-account.png icon. commit 661bbbd121cd818bcb9df48d6edcee2c1f565b13 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 11:15:14 2022 +0100 update main.css file (log-in form stuff mostly). commit 2730bbaaa188cefddbfa3516c486b33e549987ed Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 8 11:14:40 2022 +0100 apply CSS classes to /user/login.html template. commit 10e354fc9db1bce210b141df2b0faea82ace54ad Author: Craig Oates <craig@craigoates.net> Date: Thu Oct 6 19:43:37 2022 +0100 update .gitignore and default assets (storage file after first run). The default assets were part of the list in .gitignore so the site would produce errors during the site's initial first run set-up. I've quickly added the files to the repository but they will need work done to them because the files are empty and the wrong default images. This commit is done from my computer in the flat so the files added were to just fix the errors. commit ff86cb159ad5e75d5a714298e129e717215cc238 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:46:46 2022 +0100 reduce the amount of recent files returned with /dashboard defroute. commit 91321b26ec865fefe22d37199a7a31c91c836416 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:37:46 2022 +0100 replace dashboard profile img. with insert-dashboard-cat filter. commit 130a6d30610318a4a027f3f9e77f51b307f12d2d Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:34:42 2022 +0100 implement insert-dashboard-cat filter (view.lisp). This filter is builds the path for the dashboard profile image. The path points to a different icon in the /images/icons directory depending on what time and day it is. There is no major functionality addition with this code. It just a little sprinkle of cuteness for the user of the site. commit 318cf88f7335da4f178c5f02170f58932ce12e79 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 11:33:02 2022 +0100 add profile (dashboard) cat icons. These images are will be displayed alongside the user's display name on the dashboard. There are several images because different ones will be displayed at different times of the day and week. commit 7b24fdca1c7747097c24168d57a843c3b04f402d Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:32:06 2022 +0100 add alert type values to all set-alert functions called in web.lisp. This update sets the alert type which adapts the alert message's background colour and image to the type of message the alert is relaying to the user. commit 0795a67f862d3045c62b12605a5995e6235d62ba Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:30:04 2022 +0100 move /user/edit link out of administrator check in dashboard.html. Non-administrator's will now be able to see the 'Account Details' link when viewing the /dashboard page. It was a mistake I hadn't caught. commit 5212a9b98576c2249c4d23e23d34e2d7b8e94cc7 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:29:21 2022 +0100 add CSS and JavaScript code to alert message section in header.html. commit a7aff4b828b769a1285d80437097d061fec83398 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:28:33 2022 +0100 change site-side-menu.js script element to main.js in default.html. commit fad642822ae011cbf02bf624d4394981cc0c1bdb Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:28:07 2022 +0100 update main.css (alert message styling). commit d4468345659bbcc55d0612d35499b2174e504b19 Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:25:29 2022 +0100 rename site-side-menu.js to main.js. Because the amount of JavaScript I've written, it doesn't make sense to separate things out into their own files yet. So, I've renamed the file to main.js and will add the little sprinkles of JavaScript here. If the amount of JavaScript grows, I will need to move things out of here but that is a future problem. commit 2e1e5b59d59b460dacb73783de6f6d6574fb435c Author: Craig Oates <craig@craigoates.net> Date: Tue Oct 4 10:22:53 2022 +0100 expand alert message types in set-alert function (utils package). Been meaning to do this for a while but never got around to it. commit 9df8e363c9b22ab47164441dd70e66c85e63ade0 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 08:04:37 2022 +0100 update dashboard.html template (add thumbnails to Storage section). commit 5782362136780bb20e6b16480d7e2622a58add2c Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 08:01:47 2022 +0100 add 'quicklist' section to multiple HTML templates. This is a multi-file commit because the code is essentially the same. Each HTML template has either had a 'quicklist' section added or had links added to it. 'Quicklist' is just a section with a collection of links to other parts of the website based on the context of the page/user's current location. commit d791b04449ef0ce698d0f007368f38dcb2ce8d59 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 08:00:37 2022 +0100 update main.css (mostly fixing rows with thumbnails in). commit c89d1653a9389447fb01e38c3cc46411393aa5ea Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 07:08:01 2022 +0100 modify the rel. URL for the images in build-thumbnail-path filter. commit e33ac9af0acb3153bb68d4453722d256b1cf5cf8 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 07:03:38 2022 +0100 add /storage/thumb/media/:slug defroute (re-added). I think I had a version of this route but I deleted it -- can't remember if it wasn't needed or didn't work as intended at the time. Anyway, this commit makes it part of the code-base (again). The function provides the website to use the automatically generated thumbnails -- when a user uploads the an image to /storage/media -- instead of the full-sized image. This should help reduce download times if a list of uploaded image are several Mega Bytes and being viewed at once -- like an index page for example. commit 426d404593d4548f7a17b72cc34340602ce55049 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:19:02 2022 +0100 update HTML in /user/edit-page.html template. commit 5ef81ba4f3f5becf5cbd3c11572c625026b8ef85 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:18:49 2022 +0100 update HTML in /user/edit-archive.html template. commit b6aec7c5ea37324bc56e3bfd814973cd6e739eaf Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:18:34 2022 +0100 update HTML in /user/create-page.html template. commit afaa7268ad6adfdd9c49f03b5b497001865e6ac3 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:18:15 2022 +0100 update HTML in /user/create-archive.html template. commit 006bd652af03ffe323d9062dcfc39c84b9b6ae4d Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:17:28 2022 +0100 apply minor formatting changes to /user/storage.html template. commit 009e0103b8ea0943c10b3123762ea12053554e75 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:16:32 2022 +0100 update main.css -- mostly focus on forms for editing pages/archive. commit d7bbb9ecf29b5033608e1b0d4a443ac17f4b3be9 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:14:54 2022 +0100 code clean-up in web.lisp (old comments, formatting and slugify). commit db4393ddac1cfbb97d333af0f80693cef908d565 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:13:47 2022 +0100 implement update-single-nav-menu-item in nera package. This function is so the user can add/remove a single page from the nav. menu whilst editting the page. commit 09e44a636409e048cdd14e2e082ebbc7ccf804e6 Author: Craig Oates <craig@craigoates.net> Date: Mon Oct 3 06:13:18 2022 +0100 add save.png icon to /static/images/icons directory. commit 936d9034c820f15a1232106d0616bf3f967fb091 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:46:18 2022 +0100 end-of-session commit -- update main.css file. commit e15b2299adc833af918cc8491f9e5083a3cfcd4a Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:42:41 2022 +0100 apply CSS classes to /user/archive.html and /user/pages.html files. Both files are basically the same with minor changes in classes and HTML tags. Commited both files at the same time because of this. commit ecfb667c6794298d1fb01af4d2652242f0b34532 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:42:07 2022 +0100 clean-up and remove unused code (HTML templates). commit e33575c74cee0438d06d5b7e2f5c0f82863059e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 09:41:01 2022 +0100 update main.css (mostly index pages listing/title section). commit fa9bb8cfb2f1abe2d7db65fb76d6a516fd1e09dd Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:54:38 2022 +0100 minor padding change for be-gui-link class. commit b4a34c102a49e95e3f80c4040b4d831f24d9e3a9 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:39:35 2022 +0100 delete site-logo.png and favicon.png files from /static/images. These files are generated during the website's first-run process. They don't need to be a actual hard-coded part of the repository. The way the site is set-up, the user will either stick with the defaults (generated on first-run) or upload their own personal files. commit d305d4c110df872f475c26ad57736c608d27390d Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:38:23 2022 +0100 update /user/storage.html template (mostly CSS updates). commit 1551e3fc1b6494fcb18be34b05ea848d6c0e2c17 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:37:47 2022 +0100 update /user/dashboard.html template (mostly for CSS updates). commit 7a6353635b22fc5b8dd685e6bb715165fe1d5612 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:36:53 2022 +0100 update main.css -- focus on dashboard.html and storage.html. commit 61e8ef91f80c7f02202bfaa2a1e3b75b1778d6b5 Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:34:29 2022 +0100 refactor file upload storage routes -- regarding thumbnails. The automatically generated thumbnails are no longer stored in the database. They are created, updated and deleted alongside it's main accompanying image -- as a file in the /storage/media directory. commit eddedc891d2015f3e5fe04bb185eb696faa4231f Author: Craig Oates <craig@craigoates.net> Date: Sun Oct 2 07:33:17 2022 +0100 adjust relative URL for images in build-thumbnail Djula filter. commit baed98ce7aa4d0b5c5adb2760e8a6de9f51497b1 Author: Craig Oates <craig@craigoates.net> Date: Sat Oct 1 08:04:40 2022 +0100 fix bug when creating thumbnail whilst uploading a file to /storage. commit 4647323fdaf3569ebe51210c2b2557e7e0fe63f3 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 08:37:05 2022 +0100 add storage, pages and archive entries to dashboard.html template. The route in web.lisp calls the recently created 'get latest' functions in the nera package. The code is web should be fine but the dashboard.html stuff is buggy and so is the back-end routes for uploading deleting file in the /storage section of the website. This is an end-of-session commit, though, so the bugs will have to be fixed at a later time. commit 3b49fbf6e049b0d2339e089e4dd5dd31e8e36a6f Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 08:35:37 2022 +0100 update dashboard.html template (start expanding the Storage part). This code is buggy but it is a start. This is an end-of-session commit hence the buggy state being left as it is. commit c27ecb9853c7f3b3eddd940a24ce8a91763a4ff3 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 08:33:53 2022 +0100 add get latest editted 'X' functions in nera package. These functions haven't not been used much so I don't know how reliable they are in their current forms. Expect some work needed on them in the future. commit 75e05cc4aa863848d7fd378222f7652a36541602 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:37:11 2022 +0100 update main.css (back-end dashboard buttons and gui-links). commit 87f0e8125827be4e8cf5fa530a562392543fdf8e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:36:51 2022 +0100 update /user/dashboard.html template (CSS and icons). commit dd7796fb4ec30df2bc3b9182fbf6ce35ecf276ff Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:36:26 2022 +0100 update /layouts/header.html template (CSS and icons). commit 01bacffa192f786fbbd26fe3c4a940c5fa3e39a4 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:35:56 2022 +0100 update several of the icons in /static/images/icons. commit 9a2c9336674c280183bb09777617fd570271ebe7 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 30 06:34:48 2022 +0100 add loads of icons (.png) and rename a few of them. commit 7b6cde549b1689e40007bdacc62d8e6b340484b1 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:37:07 2022 +0100 move alert section to header.html and get side-menu working. I move the alert section to the /layouts/header.html template because it was easier to get it to render between the logged-in user's site header and the site's 'normal' header. The site's side-menu (for logged-in users) still needs stuff adding to it -- and tweaking -- but the base style, layout and whatnot is in place. commit dcd1e76d0e0e60801a60e07e5cc62cc94dc1fa19 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:36:15 2022 +0100 re-organised /layouts/default.html and remove 'alert' section. The alert section will be moved to /layouts/header.html. commit e844408d861058b42d70e45090b37b61652e03b6 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:34:44 2022 +0100 remove hard-coded '2018' in footer, prints current year (copyright). commit 0dc9c91795918ae3888fb54e836f3b49105d23e4 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:33:09 2022 +0100 update .gitignore to ignore favicon and site-logo in /static/images. These files are set during the site's first run and are personal to the deployment. The repo. has no need to track these files. commit f4bf0ba5118402509cfba10e65a65b3bdca6fcd5 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:30:22 2022 +0100 add icons in /static/images and static/js/site-side-menu.js file. commit 51d564fff8cc339dc3a663d2bdc25df4034e7644 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:28:35 2022 +0100 update .gitignore to include files in /static directory. I've moved/changed how I was using the /static directory (site-wide snippet) so I can start adding in images and what have you again. I didn't realise I had set Git to ignore the how /static directory. commit 8c60ac60314a1ea2fe479ee7dcb5759ecff28fba Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 27 02:26:07 2022 +0100 start adding style rules for site side-menu section in main.css. This is just a start. I will need to add to this. commit f60b09bbddd457027389dff6cf65db656f79aa74 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 01:02:27 2022 +0100 add 'success' optional parameter to set-alert in update nav. menu. I think I will need to swap out the string value 'success' with a constant so things aren't as stringly-typed as this. With that said, this is just a quick proof-of-concept. I can keep this around until I build out this updated feature some more. commit a7eb3240bf04e5272f03b8d260f7d961c0d9e32e Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 01:01:18 2022 +0100 add optional parameter to set-alert function in utils package. This is so I can define what type of alert message I want the server to send... and include the cat images I found. commit fda81fbb821daad84ddf16ccb4e83d702a6e3f49 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 01:00:48 2022 +0100 add safe filter to alert message in /layouts/default.html template. commit a72e133f135ef030a53104a37572b5702f1949b8 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:24:08 2022 +0100 update / (site's index page) route and nav. menu update feature. I hard-coded redirects to the pages which can't be deleted into the site's index ('/' route). This allows them to be set as the home page in the site's settings. I, also, updated the data which is passed to nera:update-nav-menu. This change is part of the Nav. Menu settings in the site's settings. commit 9a30da1a443e17ac54e10c553b0a5aaa30f8dea1 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:22:38 2022 +0100 refactor update-nav-menu in nera package. The function now loops through the values passes to it and sets the 'enable-nav-menu- column in the database for the currently selected page in the loop. commit 0a302c2a77458adfd37f8d4e84e2a0b9d1561aa1 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:20:27 2022 +0100 refactor /user/site-settings.html template (nav. menu updates). The nav. menu section sends a hidden value if a check box isn't selected. This is in preparation for implementing the back-end part of this feature. I, also, removed the if-statements when selecting the home page in the 'Home Page' settings. Again, this in preparation for adjusting the back-end functionality for this feature. commit f814aef20de647f5d74230ec1dd145daf8a4dcb8 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 26 00:19:07 2022 +0100 update delete button in /user/pages.html template (incorrect value). commit 84f3ede73602e2f994681dd26cb119dcb8dd8e16 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:42:02 2022 +0100 refactor site-setting route to get snippets from /storage/snippets. commit a76f837eea68d63e828349cdf469178476e22030 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:41:38 2022 +0100 add insert-snippet functionality to djula:view package. commit a1d1042d4c54811472e33cbcb6a2db35be591aed Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:40:12 2022 +0100 update first-run code -- refactor site-wide snippet file. commit e0a1bf7cb1cc57a7b33d45ca4336fa3e0c27fd34 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:37:19 2022 +0100 update /layout/default.html template (prep. for snippets update). I'm changing the snippet to be stored as HTML instead of JavaScript. I'm, also, storing the snippet in /storage/snippets instead of /static. This makes it easier to hook it up to my Umami instance in the future if Nic wants to do that. commit 4156b0eee0c38c5e1345d64689a3fd65991b86ed Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:05:49 2022 +0100 remove single file upload route and refactor multi-upload route. commit e8831de9f4b0e83a80a4e49d4bac9b95ab78c484 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:04:58 2022 +0100 update URL for images in build-thumbnail-path djula filter. commit 4b5831452da4e0ff45b7b7cc8314cbe6b7c3a023 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:04:28 2022 +0100 add thumbnail to /archive.html template. commit bb35111dc9bc45f75f35274edcb14a17cf7743d4 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 22:01:18 2022 +0100 remove single file upload from dashboard and storage HTML templates. From an end-user perspective, I don't think Nic will care about the difference. She'll want the easiest option and uploading a single file via the multi-upload form -- with no file name input -- is the easiest way to go about this. I say this without actually speaking to her about this so I might be wrong on this and need to go back in and change things. commit 44bdec65702395c5f4275e873dbbf7b6e43880c9 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 20:07:55 2022 +0100 implement the /edit/archive defroute -- updates the entries text. commit fb8f68e4686ca87dee46e9bb5875c9a45dbac302 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:59:53 2022 +0100 implement the edit archive keywords functionality (web.lisp). commit c313b4aff4171320c0d2c01a49ffb9ab00cd1156 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:59:33 2022 +0100 update keyword form in /user/edit-archive.html template. commit e53a2990c05853b9beced291b44dd36dea4ebe40 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:46:09 2022 +0100 refactor update archive thumbnail functionality (change file name). The code now removes the old thumbnail file, stores the new one and updates the database entry. I found it easier to keep track of the changes whilst developing by doing this. commit 81a0fb8e400231d0820bc4f9408e2ebc68d16159 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 19:44:27 2022 +0100 update /user/edit-archive.html (prep. for title and keywords). commit 7328a719fe45f7c1bb094847c9a0937a4f0e5b8e Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:25:37 2022 +0100 implement the edit archive thumbnail functionality (web.lisp). This does not include the Meilisearch integration. That will come in later commits after I've got the base behaviour for the website sorted out. commit 82e84286956b9c744b43d0bfbbbcc97bf0a2b1d3 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:23:51 2022 +0100 refactor and remove code regarding the /storeage routes in web.lisp. I removed old 'format' function called, changed file checks from using the files on disk to the database. commit ca4a540141592105c0580800c41b066552a42aa9 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:21:43 2022 +0100 edit /user/edit-archive.html template (thumbnail section). This is preparation for implementing the update archive entry thumbnail functionality in the web.lisp file. commit 379bbdc8b467c02161029fe32cf48c95ed2cbaad Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 18:20:05 2022 +0100 implement update-archive-entry-property in nera package. commit 8d55ed7d611ffdb9b2c7900c4abce547c8b7980f Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 15:53:59 2022 +0100 refactor /storage (I.E. get files) routes and /edit/archive/:slug. I added a new route to get files from the /archive directory but needed to expand on the original /storage/view/:slug route so I could seperate out the two (/storage/media and /storage/archive) directories. I added a check to make sure the archive entry requested (/edit/archive/:slug) exists and return a 404 if it doesn't. commit c69c165a92290e355777027a540871b61d89db5d Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 25 15:53:15 2022 +0100 add edit thumbnail section to /user/edit-archive.html template. commit 57a6710e928183882247953f1dce9af51a20d216 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:22:02 2022 +0100 block out the route for editing an archive entry (end-of-session). I'm going home after this commit. I've blocked out the routes I need to work on when I get back to this -- so I know where I am with it. commit 93a59aaad4f97fbbe484b2478388da1f50550c71 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:18:23 2022 +0100 implement /edit/archive/:slug defroute (HTTP GET request). commit 02df53e7f4e2e17b3d434c7e37a376704f0a6aae Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:17:18 2022 +0100 add and block out /user/edit-archive.html template. I still need to add a section for managing the archive entries thumbnail but the basics are in place. commit f205dc325202f2b970b663dd88aac1e0a30a4c6e Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 22:16:54 2022 +0100 remove old code from /user/edit-page.html template. commit eb9d2e3290a7a016b8bc75e72f46ee4dc8bbcaab Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:57:10 2022 +0100 implement /archive/delete/entry defroute (HTTP POST request). commit ee336d3c836f705da89bdd80cd1b75262f469881 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:56:35 2022 +0100 implement delete-archive-entry in nera package. commit f89585ab46ff778e6d4b796ebe18d08b8cd9ae1c Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:56:01 2022 +0100 update form to delete archive entry in /user/archive.html template. commit bba7cf449944c1c0eb85c530a721e23c392a03c6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 21:04:49 2022 +0100 implement the /view/archive/:slug route and add archive-entry.html. commit a7d0ae54ad41bb112aa31b86ee38a31575b9d089 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:42:48 2022 +0100 finish implementing the /create/archive-entry (without search). I have left out the Meilisearch integration because I won't to get the base behaviour sorted before I start integrating Meilisearch into the website. commit 5542014a1e9b61db61e26bb39ff8a5ee10a21cd9 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:41:58 2022 +0100 sort out code layout in view.lisp file. commit baf1ec1f3988aea904c6a403403923b0f8fb1820 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:38:37 2022 +0100 add format-filename and format-keywords in utils package. These functions are to help with standardising on the naming formats when storing files and keywords (for Meilisearch database). The asciify and slugify functions are not enough. They either leave spaces in the file names or the file extension gets lost in the standardising process. Going forward, file names should look like 'this-is-an-example.png' instead of either 'this is an Example.png' or 'this-is-an-example-png'. commit 3dc6a812bf954120fc468a0458848ab27a01ecc0 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 20:34:35 2022 +0100 reorder file load order in ritherdon-archive.asd file. I was getting errors when trying to quickload the system because a custom djula filter (defined in view.lisp) couldn't find one of the specific ritherdon-archive packages/files. I can't remember which one because I made the change earlier in the day and didn't commit the change at the time. commit 7d9e29bac8ffefb9e49646cc3824f4878768acaa Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:25:24 2022 +0100 add the /user/create-archive.html template. This is a rough but working copy. This is part of an end-of-session commit. commit 5cc14f74bf9da390be7230d6f4a997ccc7b8db83 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:24:00 2022 +0100 create /user/archive.html and /arctice.html templates. Both templates aim to list out all the archives stored in the system. The /user/archive.html template, also, includes admin/back-end features like edit and delete links/controls. commit c42d169d842cfe4094f13a1e0170e988f5029a41 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:20:54 2022 +0100 begin implementing CRUD routes for /archive section (web.lisp). This is part of an end-of-session commit. I'm currently working on the /create/archive-entry section (most the HTTP POST request). I still need to start the view archive, edit archive and delete archive parts. I've not even looked at the Meilisearch stuff. For now, the aim is to get the website's main database (nera.db) working and then integrate the Meilisearch stuff in after that. commit 23365343b1dfdcda761588e82987a0277d971892 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:19:20 2022 +0100 update dashboard.html template (add archive links and upload forms). commit ffd483411c138b7c445ff1b7a8ddc3d26f92e0c4 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:15:41 2022 +0100 start implementing the CRUD functions for the /archive routes. I still need to write the edit and delete functions (I.E. the 'U' and 'D' in 'CRUD') to have a basic CRUD system in place for this section. I'm commiting this as an part of an end-of-session commit, hence the partical amount of work done. commit 58b03ae8f23d5243b37366fb3060e89e9abd8fd1 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:13:44 2022 +0100 add create-time-stamp-id function in utils package. The only intended use for this function is to generate an Id. number which will be used in the Meilisearch database and linking it to Nera's database (I.E. this site's main database). commit c1e664b631fbfa5df109bc33f34fc9852aefa053 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 24 01:13:09 2022 +0100 remove unused code from archive-entry class. commit eff71bcbfe864dc3e2fba0d576feba6886c61873 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 18:19:44 2022 +0100 import archive package to nera package. commit d6cc11dc03f036c85730077eb9d66447bdd210a7 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 18:17:11 2022 +0100 create archive package, archive-entry model and add to .asd file. This is a rough sketching out of what the model/data needs to look like. This model is what will be connecting the site's archive (Nic's artwork entries) with the Meilisearch service -- running alongside each other. I don't know how much this model is going to change but expect it to in future commits. commit 6a67a7cfc7487ae820cc50da60b4d3e98cb3dc26 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:55:30 2022 +0100 add thumbnail features to delete and rename storage file routes. commit 80aab44c003243c5e1388cbe8f4822770d385fc2 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:40:20 2022 +0100 refactor 'create thumbnail' code in web.lisp to call from utils. I've applied the changes to the singe and multi upload defroutes. commit 592c38759f96aa6312cdecb5debceaa092783562 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:39:28 2022 +0100 move create-thumbnail code to utils (reduce duplicated code). commit 13d1e31c13547cb78578af279b765dddafb05255 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:19:19 2022 +0100 rafactor /storage/view route and add a route/process for thumbnails. When uploading a file, a thumbnail is made (if an image, using the Image Magick program with Bash). This file is not stored in the database. It is a file-system only thing. The reason for adding this is some I can create HTML templates/defroutes which show a list of the images in /storage/media without saturating the viewers bandwidth. commit 2c069573dbb8009ce4b0b68205be0568deb83fe6 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:14:23 2022 +0100 update /user/storage.html template to use build-thumbnail filter. I, also, removed code made redundant by build-thumbnail filter. commit 44c7ebbc901a0f15519aeaea66d67aa4c94b31f3 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:13:46 2022 +0100 add @build-thumbnail (djula) filter in view.lisp file. commit 6d8fa33b97ed6fc960d10299c3f4d0f4be68f1e8 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:13:26 2022 +0100 remove get-latest-file-type code from storage package. commit a15619de566554bf981f039c4a85f96fdb3ea04a Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 23 16:12:38 2022 +0100 add woo server to ritherdon-archive.asd file. Added it so I can switch between hunchentoot and woo whenever I want. No real reason to choose one over the other at the moment. commit 7a6f330497954952795ca4b1553ee4da6575b7c0 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 22 21:28:54 2022 +0100 begin defroutes for viewing files in /storage/media. I need to work on this functionality a bit more. This is an end of session commit. Started it and it works but needs expanding. I could do with adding file-type checks and changing 'octet/stream' to something like 'image/png' depending on the file-type (storage in DB). This will stop the browser from downloading every file in /storage/media and allow the files which can be viewed in the browser (like images). commit 104ac264a88e108d2df1feb4e7e733558417ea7d Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 22 21:07:59 2022 +0100 change /storage routes to use slugs over filenames (HTTP POST). commit 4c991093884c794bef100c4f99cb3f4ee2b4e4c9 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 22 21:07:34 2022 +0100 export delete-storage-file from nera package. commit 1cf86c674c03613e9116ef0c0176494218fb1b0f Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:35:05 2022 +0100 end-of-session-commit: working on /storage/delete/:slug defroute. Need to test it and make sure the logic in the various 'cond' sections. commit 191f5b2c22f7839a407ef1897579dade268337f1 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:34:46 2022 +0100 add delete-storage-file function in nera package. commit 033199913656cb0fa8ab711f0b376ef16ec54275 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:07:26 2022 +0100 refactor code calling get-storage-file and add storage/rename route. commit f3d856f7f4bbe172b0015bc1a444c0da6f5b6d2f Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 20:05:29 2022 +0100 add keyword args to get-storage-file and write rename-storage-file. These changes are in the nera package. I, also, got Emacs to auto format the file -- that is why is are loads of line changes in the diff. commit b9848197e7d9cc61ee0df4f1a8555789a8242397 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:25:47 2022 +0100 add storage-upload defroutes (single and multiple) in web.lisp file. commit d0ff0c812b8b123809bef2be04dde27aea9c524f Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:23:25 2022 +0100 update storage and dashboard HTML templates (add & get features). commit 953bfc5fb083dae568580b0f2d5481761bf742d0 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:21:54 2022 +0100 implement the 'add and get' functionality for storage routes. commit f5549e17a1d8fff2f5059bd54441ad6e33dd3384 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 20 19:21:00 2022 +0100 add files package (in /src/models and ritherdon-archive.asd file). commit 6e7d2b6845278c2f5cc6472b47c5acdacb634409 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:35:51 2022 +0100 put copyright text in <p> tags (in footer.html template). The text was wrapped in anything and was rendering weirdly in the browser's inspector. commit 0ce1aef3e46576f713c26b76e0a702e88f9ddf24 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:34:44 2022 +0100 change how site-wide-snippet file is stored and accessed. The site-wide-snippet file is now a .js file and stored in /static/js after the website's first run. commit 63e3919970f1c73ab60d57414dc40eadfabe96d9 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:33:15 2022 +0100 update .gitignore to ignore site-wide-snippet.js in /static/js. This file is copied to here on website's first run. This stops any changes I make to the file during dev. time from clogging up the commit history. commit 015eda2b0ae2d2c720689e394166434aa0d9e838 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 23:11:35 2022 +0100 initial steps for /storage/management defroute. This is an end-of-session commit. I've got the route up and running with the /user/storage HTML template rendering in the browser and listing out the files in storage. I could do with adding a model and storing the files meta-data in the database. This page could do with rendering the images and placeholders (E.G.generic text file icon) for non-image files. commit a89686c05ff35e496b55c2081e4dc5814bb552f0 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:58:16 2022 +0100 add file uploads section to /user/dashboard.html template. commit c4f9f52ba84751cbbdb6c4ba2481da13949b31f2 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:57:45 2022 +0100 add /storage/upload defroutes (single and multi file uploads). commit a855d9db90c337ebcba6829fedaf4f5bd50801fe Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:54:53 2022 +0100 refactor store-file functions to include more file types. The original code was very ham-fisted in how it dealt with storing files -- based on their file-types. The changes made here improves on it and the store-file (for both raw and /storage paths) functions now accepts more file types because of it. commit 8106b5a5c5634dd4d43be6b466f063a448785b75 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 22:53:41 2022 +0100 rename site-settings function to get-site-settings in nera package. The function call 'site-settings' was clashing with class and package name 'site-settings'. commit d31c4ab38a2ca0fdc94b5d9c29f889b148d3c94c Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:27:38 2022 +0100 remove old defroutes. commit f626557b97f447fc1f7d82b9eac30dc5279a37aa Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:21:10 2022 +0100 add system-data to data passed to the HTML GET routes in web.lisp. System-data is a collection of the system settings and page data in the database. It minimises the function calls in the defroute macros. commit 2bb7d053e6e388c9d9241c79f5f70434c2c93110 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:19:33 2022 +0100 clean up old and unused code in HTML templates. It was getting out of hand and difficult to navigate around the pages when viewing them in the browser. commit e9792a6fa0355fe63781d76430e920f264002f86 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:18:55 2022 +0100 import archivo in main.css file. commit 4c1b99fa08536dc2b97b2fadba948684d9c64968 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:17:40 2022 +0100 add pages in init-db and write system-data func. in nera package. commit e765c3b24ef55835c24720cbc80d7072fb2e12f4 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:16:38 2022 +0100 add and populate header and footer HTML templates. The HTML is basic, just to get the sections to a usable state. commit 9b8c5a7ca5d8c1303d014bedc7de500860c378dd Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 19 19:16:20 2022 +0100 add archivo font. commit bb5f8fb4820937ca4a979e87dee60df42b1705e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:13:33 2022 +0100 update web.lisp, mostly around site settings and first-run set-up. commit 2f819de9a2d1436d1a1341349e7349e95b0dc8dd Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:12:14 2022 +0100 add init-storage process and 'raw-path' I/O functions. commit f78beb7ea411519c347ed44b05292a5029edf6a4 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:11:14 2022 +0100 add CRUD features for 'page' table in DB and expand init-db process. commit 161e9c616973511b3edec731d7ae239d906c70e1 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:09:54 2022 +0100 remove old code and update forms in /user/site-settings.html file. commit d0426a949442f394bea745e22613dfde31bd8b98 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:07:45 2022 +0100 add form for /page/set-nav-menu defroute in /user/edit-page.html. I, also, changed templated data to use 'db-data' element in databag passed to the djula HTML template. commit 7e2f04d370d22e2619e879325cc81c1fbca44e37 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:07:23 2022 +0100 add can-delete check to /user/pages.html template. commit aacfcba654a7260b49dae69c6b00a43b67cf1479 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:06:46 2022 +0100 add favicon link to /layouts/default.html template. commit 9a50938c0dd47c4f6f40527610b2e1722297ff80 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:06:07 2022 +0100 implement get-image-dimensions function in utils package. commit 4bac1e3db3c42d3bb4e8a9be5ec66f797ad807d1 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:05:26 2022 +0100 add enable-site-logo and site-name slots to site-settings class. commit 6ecd555712ea196751232d7b929efd7cf85e66db Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:04:55 2022 +0100 addd validation.lisp and pages.lisp files to ritherdon-archive.asd. commit e3471e82ea13fdf0830d3930c9b67814cb6be177 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:03:14 2022 +0100 update .gitignore to ignore /static/images and /site-wide-snippet. These files will be created and populated via the site first-run set-up process. This should stop the commit history getting clogged up with needless and irrelevant changes in these files. commit 4736db9bd2115c0ae39bc8339f73a3bde4d3823e Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:02:06 2022 +0100 add validation package. commit e4612d07116e09d6b8c63a128b842ce58338e72e Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 18 23:01:37 2022 +0100 create pages package and page class (for Mito to map to DB). commit b26b296e89de7b1d64b682f9dc6192ae8ec296a0 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:45:47 2022 +0100 stubb out sections in site-settings.html (not implemented yet). The sections are more a check-list at this point. Things I need to implement. I've stubbed them out and going to call it a day. They HTML I've used is rough but it give me something to work on next time I work on this project. commit 94e326a292d748157b7837bad2eeaa4c4d330b91 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:19:02 2022 +0100 expand the site-settings.html template. This is template still needs a lot of work done to it. The additions in this commit focus on the set home page and enable/disable the sign-up features. commit 7e892f25b17a2d81ccf88484f4a031108968c9d6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:18:35 2022 +0100 add {{content}} section to index.html template. commit d9e09c52f69b08d243a7cf65ea60ffba86d59651 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:16:20 2022 +0100 add site-settings functionality in web.lisp file. This is work-in-progress for the site-settings section of the website. These additional features in this commit focus on setting home page and enabling/disabling the sign-up features. commit f1c79a9ecd063b6a96038794585b1ec682e17e4a Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:15:38 2022 +0100 add integer-to-checkbox djula-filter (view.lisp). commit eb62ade5bef369135b305aebdc7bc34a5f038750 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:14:39 2022 +0100 add condition check to checkbox-to-bool and remove bool-to-checkbox. commit 6d4d16ec4520ae830ac1bdcb233108fb02951d89 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:13:50 2022 +0100 implement update-enable-sign-on-settings and set-home-page in nera. commit bfcef81763cb3465706f7aca59bb215eea1834a5 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 18:10:58 2022 +0100 add home-page slot to site-settings class. commit cb51a8360594babbc41035ffdde6babd04fa9cb4 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 15:04:00 2022 +0100 implement /page/delete defroute and update redirects to /user/pages. commit 45ef9fa84a07e62370ec7dbfd79fcd19e3b913c6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 15:03:03 2022 +0100 add role check and update 'pages' link in /user/pages.html template. commit b9180da6e2badce179044af7f05725d4317bb00a Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 14:07:04 2022 +0100 implement /pages and /view/page/:slug defroutes in web.lisp file. commit f4744f14b7928f6b78cd1a02fb50627c974b1a49 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 14:04:47 2022 +0100 update links to /page and /pages and add HTML templates. The templates added allow the viewer to view the 'pages' individually or as a list (index page of 'pages' basically). commit 1c6781c945ceea635ca9f6457e170591e0027990 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:27:47 2022 +0100 implement the 'edit pages' functionality in web.lisp file. commit d6d5a58792c3c652d65b0d7548726560a26585b2 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:27:08 2022 +0100 add /user/edit-page.html template. This HTML template is very rough -- just basics to make it operational. commit f0356b00f01c2ee09edd0b990b6db40f86f0eab7 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:25:55 2022 +0100 add /user/pages.html template. This template displays a list of pages stored in the system in the /storage directory. It is very rough -- only bare basics to get the page operational. commit 681033b1cdb65cb1727b90f9091338958aee1599 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 13:25:23 2022 +0100 add /pages link to /user/dashboard.html template. commit 6b09c3e81ccf6a0174607c8c001fbefdd45b59f1 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:51:51 2022 +0100 update .gitignore to ignore the /storage directory. This is so the data/pages/files/content used for testing the website don't get mingled with the code-base. commit 3937b626e87b33e08df50c0b6fc39d533434334c Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:50:43 2022 +0100 finish implementing the /create/page defroute (HTTP POST). commit a477470a903616f8e6d2355a2090c7c3095f298e Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:48:16 2022 +0100 remove 'meta-data' from create-page.html template's HTML form. This is prep. for getting a working version of the /create/page defroute. My thinking at the minute is the logged in user can create a 'page' which is a page specific to the website and a 'post' of some sort for an actual archive entry. I don't know how desirable or feasible this design/approach is but I'm trying it to find out. commit 3dbb6038311b5af7b28d7a9ec0ad5916ebf14531 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:46:14 2022 +0100 add slugify function to utils package. This replaces white spaces in a string with a hyphen ('-'). I prefer file names to be stored with no white space, which is where I intend to use this function the most. commit 6fce318c8703a3021aad8139cab0c091d869b18b Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 17 11:44:36 2022 +0100 add storage package, copied from other proj. so already implemented. commit 9e308ab92ec651027c4cd9b8de66ff29f7ed4b9e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:16:00 2022 +0100 add /user/create-page.html template and integrate Tinymce editor. The code in this commit is very rough but it works. I just got the basics up and running. The template posts the content but the back isn't implemented yet. At this moment in time, I need Nic to sign-off on what she wants from this page. There is a chance this template might not exist in the future. commit 9222d347fda4fee902eaf6e2b694a6753ce3d988 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:14:27 2022 +0100 add /user/site-settings.html template. The code at the moment is very rough. I've only got the 'Enable Sign-Up' section set-up (front-end). The back-end part is not done yet . commit 6c80f146f3486bd9c86f23d924faac0687513188 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:12:23 2022 +0100 add Tinymce (rich text editor) files to /static/js directory. Tiny: https://www.tiny.cloud/ Doc's: https://www.tiny.cloud/docs/tinymce/6/ commit 875bd288411b5c6115594acd26a703631545f5ea Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:11:19 2022 +0100 add logout, delete account and create page links to dashboard.html. commit bdd86d4ad77f765227bfb5b8dc45e66e70fbec34 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:10:54 2022 +0100 add Sign-up link to index.html template. commit 11e5e6a08e130f33ca799062805c96faeea450c8 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:08:32 2022 +0100 create (and initial content) for /user/index.html template. The code in here is for the site's administrator to see a list of all the users with an account with edit and delete options. There is, also, a section to create new users (non-admin. accounts). commit 19bbba0f3ea02f3dd8f977cdafcd74b099383032 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:06:14 2022 +0100 add username check to /sign-up defroute. Just an extra check in amongst what's already there. If the username the new sign-up attempt has entered matched one already in the database, a message is relayed stating as much and redirects back to the sign-up page. commit 9724eda5fded4a92c011ef49d36b5edb6217282e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:04:46 2022 +0100 add more functionality for user management (admin. and normal). I forgot to add this to the previous commit. commit 793c5d544b2d07a8fdcb55c6aa63f9ebd2d83083 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:02:05 2022 +0100 add admin. functions for 'users' section and create /site-settings. The site's admin. can now create and delete accounts of all other users. The admin. can, also, change the other passwords of the other users. commit 7349c4b9f5e27ef37f82d55748d01c2de088d73b Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 19:01:14 2022 +0100 remove unused code and reformat some comments in web.lisp file. commit 1e26f1ea8d483e47627da064ac262a85c759cd6b Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 18:59:45 2022 +0100 add get-all-users function and change arg's to &key for update-user. commit 68792eac19257e8cc0273ec127784ee83ec74680 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 16 18:58:32 2022 +0100 add alert message data to "/" defroute. commit d025b5d0a0b8eacf14e745e423141b91fca4c571 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:23:37 2022 +0100 start to add functionality for signing new users up. commit 428a0a6ba73fc1b2907fcb4c0cb764173837c808 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:20:44 2022 +0100 add functionality for dealing with site-settings (table in DB). I've added some helper functions to help with creating a database, making sure its tables exist, too. commit 3596a696db0396333f92b09ed86a268808718a14 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:18:28 2022 +0100 create initial-setup.html template. commit 177521aa341b7e5480564266403f6096445446b1 Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:16:24 2022 +0100 add bool to checkbox convertion funcitons to utils pacakge. The functions are helper functions for when dealing with SQLite3. Because SQLite3 doesn't have a Boolean data-type, I have to store the 'true' and 'false' values as integetes. 0 == false 1 == true. commit 9a665c5c4e40cbc265265374359c877990531c1d Author: Craig Oates <craig@craigoates.net> Date: Thu Sep 15 15:15:38 2022 +0100 create and wire-up site-settings model and package (for DB). This model is used by mito to create a table in the database. commit 7e84b862912304a36f18dabfa76c85d515efc9dc Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 18:29:10 2022 +0100 refactor functions moved from auth to nera and update init-db setup. The update part refers to the redirect when a database is found whilst making a HTTP POST request, as part of the init-db process (A.K.A. website's first run procedure). The auth to nera change is because I didn't catch all of the moves in a previous commit. The image I was running at the time still had the auth version so it wasn't showing any errors. I spotted this one when trying to run a new image. commit a4d3f35306f6e9ac7aa96010985dd1d9eab04173 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:11:49 2022 +0100 add alert section to default.html template. commit 249f86b88e76321ee0fad16076b08519a0ab28c3 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:11:34 2022 +0100 add link to /dashboard in index.html template. commit 777458ee37116f3816f85090bbc4cd79db73fcee Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:11:07 2022 +0100 code clean-up in some HTML templates. commit 25142d5049158578f5a4587327bf06debfcba92b Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:04:51 2022 +0100 refactor web package to use auth, util and status-code packages. The web package was already using code from some of these packages. This commit moves some of the code in the web package into one of the various referenced packages and also has 'web' utilise the new features in those pacakges also. The biggest shift is in how the alert-messages are handled (store in ningle:*session* across HTTP requests) and how auth. is handled -- mostly the redirects functionality. commit e6162306efddc68e6a229005a5b2767589bae53d Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:03:29 2022 +0100 add alert-message functions in utils package. These functions just make it easier to set, get and reset the alert-message in the ningle:*session* variable. commit 89ad7fb2695116787e4216f05a752ad17cbb7505 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:03:10 2022 +0100 code formatting in db package. commit b469063f74582578f5b7a8b4c69c1cb36c47d03e Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:02:30 2022 +0100 remove code I moved to the nera package from auth package. commit bf8b79021e30b211a6e0467252e29cde983ba440 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 05:00:44 2022 +0100 export define-constant macro in app-constants. The main reason is so the constants defined in the status-codes packages can use it. I've put the (HTTP) status codes in their own package because they are a self-contained thing. I find it easier to work with them this way. commit 0941922f57193f2283fd85463770468a20585072 Author: Craig Oates <craig@craigoates.net> Date: Tue Sep 13 04:58:58 2022 +0100 add nera and status-codes packages. nera is responsible for the database stuff which is not part of Caveman2. The status-codes package is a list of constants representing the various HTTP status codes -- with an explanation of what they are for. commit 490a79a356b9f69d720232dd6fe85c027fc19529 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:49:41 2022 +0100 add log-in and start account setting functionality. commit 2aaefdbf5e6cadb6ae72489803e8dcda5f8e1592 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:48:25 2022 +0100 add or update HTML templates (all based around user/accounts). These are very rough templates but they serve as a way to get the logged-in user stuff functionality started. commit 3b6afd8a4acaa200aac8db747f2268f572620280 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:46:54 2022 +0100 add password slot to user class. I was having trouble trying to get hermetic and mito-auth to work together. I decided to just use normal mito and leave hermetic to the authentication/authorisation stuff. commit 7e32795392601f1684fafa3de396c1a6668a3d83 Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:46:00 2022 +0100 re-organise bits of the code (mostly packages are references). commit e6ef8bec346417eed446f9618bb987635fb7aedf Author: Craig Oates <craig@craigoates.net> Date: Mon Sep 12 07:43:38 2022 +0100 rename authentication to auth (file and package). 'Auth' doubles up as authentication and authorisation. It reads better from that perspective. commit c8074c821b94290aadcaf88c61abfae5ba14d95b Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:28:47 2022 +0100 make back-up copy of cookie cutter code, for reference. There was snippets of code in the code I liked. I'm going to keep it around for a bit to see if I can work some of it in to the new code. I'm most interested in the deployment code. commit d6dbcf7ec4088d0dbd7713683c38fb9690314db0 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:27:52 2022 +0100 create Caveman2 project (using Caveman2's project generator). commit 51d2213aae8159484b10680cd9f627259afa0212 Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:23:58 2022 +0100 delete site stubbed out with the cookie cutter app. I tried it and I find it easier to work with Caveman2. I didn't realise this templating program is built around Hunchentoot -- whereas Caveman2 builds on top of. So, I'm moving the code to back to Caveman2 -- where I originally started. It looks like a waste of time but the knowledge of having a look at the other stuff has been helpful. commit 9c251a1698cd49c6cea17da69a3b595ad4bb3d3d Author: Craig Oates <craig@craigoates.net> Date: Sun Sep 11 07:23:10 2022 +0100 update licence. commit 6257e7ec94ae9010906882b01654a72fb5d6f5e6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 22:18:51 2022 +0100 add create-user.sh script. This script adds a user to the database based on it's inputs (prompted for the person running the script). The intention is to add a user to the database easier (especially on a live production server with just the CLI). commit f5403b6cc29707189e7380a9efdd5139f7ce9e6f Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 22:17:43 2022 +0100 populate user class. This should have been in the previous commit. I forgot to add it. commit ff0c121e63aca6ef7458d22d8a17c656d793ad73 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 22:16:55 2022 +0100 create user class and add to database table. commit c5ba5b1e4b87f452b7b9ea387efffe7c4dbcea35 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 19:18:16 2022 +0100 switch Fiveam to parachute (testing framework). There is no immediate or obvious reason for the change. I just prefer to work with parachute. commit 8d52eaf0a6baff125e0c278913a34f4027042bd0 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 19:14:15 2022 +0100 update .gitignore (databases and /bin directory). commit 7d3d3e57d5621a462d3992a98a8490eb3977f9f6 Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 19:09:43 2022 +0100 create Caveman2 project using vindarel's cl-cookieweb program. https://github.com/vindarel/cl-cookieweb (for GitHub Repo. and instructions). The reason for using this is because it makes it easier to run the website as a standalone thing. You don't need to link it up to Quicklisp's /local-project directory. It has scripts to help you build the binaries and to run the website (as a standalone) thing. I, also, hadn't use this 'cookie cutter' program before so it's a good time to get my feet wet. commit 3177d956f17f36f46065b5f7429f21e7a2b4e11e Author: Craig Oates <craig@craigoates.net> Date: Sat Sep 10 18:37:18 2022 +0100 go back to using Common Lisp and Caveman2. The admin. backend for Django isn't as easy to get to where I want it, compared to Caveman2. The trade-off is Common Lisp isn't a mainstream language so it does reduce the level of ease other might have when/if they join the project. commit ee1bf2f9278820202207fb198317d9bcb6bf31c8 Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 9 02:40:08 2022 +0100 create Django project. The files included here are just the ones created with the django-admin CLI. commit 851980f784dbeece19bfe7938f58bf86b165c00e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 9 02:39:24 2022 +0100 copy a Python-base template into .gitignore. commit 24b396d47b936e31e2b54f1dd3e2262063662d9e Author: Craig Oates <craig@craigoates.net> Date: Fri Sep 9 02:34:39 2022 +0100 delete caveman2 (initial install) code. I'm going to try this with Python and Django first. Because it's not my personal project, it might be better to use a language which is more mainstream. It should reduce the 'Bus Factor'.
1 year ago
path
nil))
:root *static-directory*)
(if (productionp)
nil
:accesslog)
(if (getf (config) :error-log)
`(:backtrace
:output ,(getf (config) :error-log))
nil)
:session
(if (productionp)
nil
(lambda (app)
(lambda (env)
(let ((datafly:*trace-sql* t))
(funcall app env)))))
*web*)
:debug (if (ritherdon-archive.config:productionp)
nil
t)) ; Added as part of clack-error-middleware.