Dave Cooper (@dcooper) on GitLab, 2022-12-13.
@ehuelsmann @evanwaning @mevenson
This isn't ready for merging yet but I just put the MR here to make it easy to review the changes.
I'm trying to update this (and hopefully soon the CLF pages) to spell out officer roles & responsibilities and open positions for nominations.
I also fixed up some bootstrapping stuff for the site generator and local webserver
5 commits, 11 files changed
Cannot be merged automatically: the branches conflict. Merge the target into the source locally and push.
Commits
| Commit | Author | When |
|---|---|---|
change members to stakeholders 75c4bd6e | Dave Cooper | |
Adding more news about looking for nominations. c495924d | Dave Cooper | |
added roles page for news 67c77ed2 | Dave Cooper | |
still broken cause of new quri 19474832 | Dave Cooper | |
started updating the News section cfa0a077 | Dave Cooper |
Changes
- .gitignore modified
- Makefile modified
- README.md modified
- build.lisp modified
- content/news.md modified
- content/roles.md added
- servers/README.md modified
- servers/zaserve/cl-site-zaserve.asd modified
- servers/zaserve/publish.lisp modified
- servers/zaserve/serve.lisp modified
- test-serve.lisp modified
@@ -10,3 +10,4 @@ system-index.txt *.dx64fsl *.fasl +quicklisp.lisp
@@ -3,6 +3,9 @@ static: mkdir -p output/static +interactive: static + sbcl --load build.lisp + build: static sbcl --load build.lisp --non-interactive
@@ -5,7 +5,7 @@ ### Content The site content is divided over the directories `content/` -and `layout`. +and `layout/`. The `layout/` directory holds all content that applies to more than one page (e.g. templates) and @@ -23,11 +23,13 @@ content. Referred content, such as stylesheets, scripts and images are located in `content/static/*` -The `content/` directory can contain both `html` files and `lisp` -files. `html` files are processed with the template stuff directly -into the `output/` directory. `lisp` files are expected to have a call -to `cl-site:add-content` as their toplevel form, which takes arguments -of `:headers-plist` and `html-string`. See `content/about.lisp` for a +The `content/` directory can contain `html`, `md`, and `lisp` +files. *`html` files* are processed with the template stuff directly +into the `output/` directory. *`md` files* are processed as Markdown +(using cl-markdown) into HTML and injected into the `output/` +directory. *`lisp` files* are expected to have a call to +`cl-site:add-content` as their toplevel form, which takes arguments of +`:headers-plist` and `html-string`. See `content/about.lisp` for a reference example. If a file by the same name is stored in both @@ -51,14 +53,9 @@ ## Dependencies -* CL-MUSTACHE for HTML templating -* CL-YAML for YAML "header" parsing -* CLOSER-MOP (because...?) -* CL-WHO for LHTML processing -* MARKDOWN.CL for Markdown processing +These are all called out in the cl-site.asd file and will be fetched +automatically by Quicklisp. -(these are all called out in the cl-site.asd file and will be fetched - automatically by Quicklisp) ## Execution @@ -69,10 +66,13 @@ Among them: -* `make` - to generate the site. -* `make serve` - to generate the site and start up a default test server. +* `make` - to generate the site into output/ directory. +* `make serve` - to generate the site and spin up a default test server on port 8080. * `make clean` - to remove the generated files from output directory +Note some of the above commands may leave you with an SBCL `*` +prompt. You can exit from there back to the command with C-d +(Control-d). ### From Lisp @@ -91,13 +91,6 @@ This will start serving the site. The toplevel URL should be printed to the console. -### Known Problems - At least one of the test servers crashes on load with `invalid number - of arguments` on certain 1.3.1 releases of SBCL (apparently a problem - with the `ironclad` library from quicklisp with this sbcl - version). If you get this error, feel free to [report the - issue](https://gitlab.common-lisp.net/clo/cl-site/issues), but you - might also try upgrading your SBCL or try [another - implementation](https://common-lisp.net/implementations). +
@@ -1,5 +1,32 @@ (in-package :cl-user) +#-sbcl (error "Need a posix-getenv and run-program equivalent to run on ~a~%." (lisp-implementation-type)) + +(defun setup-quicklisp () + (let ((ql-setup (or (sb-ext:posix-getenv "QL_HOME") + (probe-file "./quicklisp/setup.lisp") + (probe-file + (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))))) + (flet ((install-quicklisp () + (sb-ext:run-program "/usr/bin/curl" (list "-O" "https://beta.quicklisp.org/quicklisp.lisp")) + (load "quicklisp.lisp") + (funcall (read-from-string "quicklisp-quickstart:install")) + (probe-file "./quicklisp/setup.lisp"))) + (do () ((find-package :quicklisp)) + (restart-case (assert (and ql-setup (load ql-setup))) + (try-again ()) + (choose-other () + :report "Enter new Quicklisp Home" + (format t "Enter new Quicklisp Home:~%") + (setq ql-setup (merge-pathnames + "setup.lisp" (concatenate 'string (read-line) "/")))) + (auto-install () + :report "Download and install Quicklisp" + (setq ql-setup (install-quicklisp)))))))) + +(setup-quicklisp) + + (pushnew (make-pathname :defaults *load-truename* :name nil :type nil) quicklisp:*local-project-directories* :test #'equalp)
@@ -4,6 +4,17 @@ # Latest Common-Lisp.net news +### 2023-03-01 + +The [Common Lisp Foundation](https://cl-foundation.org), the legal +entity which runs this website, is looking for new board members, +including Officer positions. Our current President since 2009, Ernst +van Waning, is entering a well deserved retirement from that +role. Please review our Role descriptions [here](/roles.html), and +reach out to [nominations@cl-foundation.org](mailto:nominations@cl-foundation.org) if you'd like to nominate +someone (including yourself). + + ### 2022-02-08 All project sites have moved from
@@ -1,0 +1,112 @@ + +# President + +- Prepares agenda for monthly board meetings and for annual + stakeholders meeting. + +- Conducts monthly board meetings and annual meeting. + +- Works with Working Committees to resolve issues that arise between + meetings. + +- Reviews and negotiates all contracts. + +- Reviews and approves all non-routine correspondences and + common-lisp.net website updates. + +- Represents Foundation in any legal matters and engages with Attorney if needed. + +- Reviews financial information on a monthly basis. + +- Works with Treasurer on budget and other financial issues. + +- Approves invoices and other payments per the CLF Payment procedure. + +- Delegates responsibilities to Working Committees and board members. + +- Suggests and implements policies and procedures to be approved by the Board. + +- Conducts periodic inspections of Foundation properties (e.g. websites) and recommends + maintenance and improvements. + +- Mediates disputes involving Working Committees, board members, and + other stakeholders. + +- Assists Working Committees with inspection of work products (their own and each other's). + +- Casts one yes/no vote on Motions. + + +# Vice President / Treasurer + +- Handles President responsibilities in President's absence. + +- Takes minutes at meetings in Secretary's absence. + +- Reviews financial information on a monthly basis. + +- Reports to the board regarding financial status on a quarterly basis. + +- Approves invoices and other payments per the CFL Payment procedure. + +- Prepares draft of annual budget for presentation to the board in + October, which includes comparing actual spending to current budget, + contacting Working Committees to determine possible increases, and + recommending any increases in subscription dues or other service fees. + +- Investigates and recommends cost saving measures. + +- Conducts periodic inspections of Foundation properties + (e.g. websites) and recommends maintenance and improvements. + +- Mediates any disputes involving President. + +- Casts one yes/no vote on Motions. + + +# Secretary + +- Prepares minutes of each meeting. + +- Schedule and announce monthly meetings. + +- Obtain and distribute Agenda as part of meeting scheduling. + +- Drafts all non-routine correspondence for review by President and issuance by email or + through website properties. + +- Conducts periodic inspections of Foundation properties + (e.g. websites) and recommends maintenance and improvements. + +- Casts one yes/no vote on Motions. + + +# Board Member A + +- Responsible for Winter (January-February) and Fall (September-October) + website updates. + +- Suggests website topics/articles for December and August. + +- Writes articles and/or works with board members, Working Committees, + and stakeholders to write articles. + +- Manages contact information for Officers, Board members, and + stakeholders. + +- Conducts periodic inspections of Foundation properties + (e.g. websites) and recommends maintenance and improvements. + +- Casts one yes/no vote on Motions. + +# Board Member B + +- Responsible for working with relevant Working Committee to verify + periodic data backups. + +- Conducts periodic inspections of Foundation properties + (e.g. websites) and recommends maintenance and improvements. + +- Casts one yes/no vote on Motions. + +
@@ -55,7 +55,7 @@ make htoot # Hunchentoot (the "800lb Gorilla" of CL webservers). make paserve # Legacy Portable AllegroServe (reverts to native aserve on Allegro CL). make woo # The Fastest Webserver in the World. - make zaserve # the new "ZACL compatible" AllegroServe fork (reverts to native aserve on Allegro CL). + make zaserve # the now default "ZACL compatible" AllegroServe fork (reverts to native aserve on Allegro CL). ### From Lisp
@@ -8,7 +8,7 @@ :author "Dave Cooper & Common-Lisp.Net maintainers" :licence "TBD" :description "Test server for common-lisp.net for :zaserve AllegroServe port" - :depends-on (:cl-site :aserve #+allegro :bordeaux-threads) ;; FLAG -- change to :zaserve when available in QL. + :depends-on (:cl-site #-allegro :zaserve #+allegro :aserve #+allegro :bordeaux-threads) ;; FLAG -- change to :zaserve when available in QL. :serial t :components ((:file "package") (:file "publish")))
@@ -1,3 +1,19 @@ +(in-package :quri.uri) +;; +;; Patch until we figure out how to deal with new immutabiilty of +;; uri-scheme in quri: +;; +#+nil +(defstruct (uri (:constructor %make-uri)) + ;;(scheme nil :read-only t) + scheme + userinfo + host + port + path + query + fragment) + (in-package :cl-site-zaserve) (defparameter *listeners* 5)
@@ -1,7 +1,6 @@ (in-package :cl-user) -(uiop:with-current-directory (*load-truename*) - (load "../../build")) +(load (merge-pathnames "../../build" *load-truename*)) (ql:quickload :cl-site-zaserve) @@ -14,6 +13,6 @@ (let ((wserver net.aserve:*wserver*)) (when wserver - (let ((port (cl-site-paserve:aserve-socket-port (net.aserve:wserver-socket wserver)))) + (let ((port (cl-site-zaserve:aserve-socket-port (net.aserve:wserver-socket wserver)))) (format t "You may now visit http://localhost:~a to test the site with zaserve.~%" port))))
@@ -1,8 +1,9 @@ (in-package :cl-user) -(uiop:with-current-directory (*load-truename*) - ;; - ;; May be swapped with others in servers/ from time to time. - ;; - (load "servers/paserve/serve")) +(defparameter *cl-site-path* (make-pathname :defaults *load-truename* :name nil :type nil)) + +;; +;; May be swapped with others in servers/ from time to time. +;; +(load (merge-pathnames "servers/zaserve/serve.lisp" *cl-site-path*))
Dave Cooper (@dcooper) on GitLab, 2022-12-23.
Testing the make serve command surfaced a breaking change for zaserve in quri library, working on a workaround (something we need to do anyway)...
Erik Huelsmann (@ehuelsmann) on GitLab, 2023-01-04.
Except for this link, I think it's definitely looking good.
Sign in to comment.