⚒Anvil
Sign in

clo / cl-site public

opened

started updating the News section (not ready for merge yet) 108

opened by common-lisp.net

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
CommitAuthorWhen
change members to stakeholders 75c4bd6eDave Cooper
Adding more news about looking for nominations. c495924dDave Cooper
added roles page for news 67c77ed2Dave Cooper
still broken cause of new quri 19474832Dave Cooper
started updating the News section cfa0a077Dave Cooper
Changes
.gitignoremodifiedview

@@ -10,3 +10,4 @@
 system-index.txt

 *.dx64fsl

 *.fasl

+quicklisp.lisp
Makefilemodifiedview

@@ -3,6 +3,9 @@
 static:
 	mkdir -p output/static
 
+interactive: static
+	sbcl --load build.lisp
+
 build: static
 	sbcl --load build.lisp --non-interactive
 
README.mdmodifiedview

@@ -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).
+
 
build.lispmodifiedview

@@ -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)
 
content/news.mdmodifiedview

@@ -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
content/roles.mdaddedview

@@ -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.
+
+
servers/README.mdmodifiedview

@@ -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
servers/zaserve/cl-site-zaserve.asdmodifiedview

@@ -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")))
servers/zaserve/publish.lispmodifiedview

@@ -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) 
servers/zaserve/serve.lispmodifiedview

@@ -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))))
 
test-serve.lispmodifiedview

@@ -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*))
 
common-lisp.net requested review from @ehuelsmann
common-lisp.net added 1 commit <ul><li>19474832 - still broken cause of new quri</li></ul> [Compare with previous version](/clo/cl-site/-/merge_requests/108/diffs?diff_id=3358&start_sha=cfa0a0774f80e2fbbb54cf4bef552be54ab75c75)
Ccommon-lisp.net

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)...

Ccommon-lisp.net

Erik Huelsmann (@ehuelsmann) on GitLab, 2023-01-04.

Except for this link, I think it's definitely looking good.

common-lisp.net changed this line in [version 3 of the diff](/clo/cl-site/-/merge_requests/108/diffs?diff_id=3490&start_sha=194748325894ef66dcfe90f85f37ec125e3002ae#aba289b66ab5cdb020c76873259d058b7c141749_14_13)
common-lisp.net added 1 commit <ul><li>67c77ed2 - added roles page for news</li></ul> [Compare with previous version](/clo/cl-site/-/merge_requests/108/diffs?diff_id=3490&start_sha=194748325894ef66dcfe90f85f37ec125e3002ae)
common-lisp.net added 1 commit <ul><li>c495924d - Adding more news about looking for nominations.</li></ul> [Compare with previous version](/clo/cl-site/-/merge_requests/108/diffs?diff_id=3492&start_sha=67c77ed296f22985f22259120fd9393c9a959574)
common-lisp.net added 1 commit <ul><li>75c4bd6e - change members to stakeholders</li></ul> [Compare with previous version](/clo/cl-site/-/merge_requests/108/diffs?diff_id=3494&start_sha=c495924d8d7809104fc2be019d8e6a734618886a)

Sign in to comment.