diff options
author | Yuchen Pei <id@ypei.org> | 2023-10-03 01:14:51 +1100 |
---|---|---|
committer | Yuchen Pei <id@ypei.org> | 2023-10-03 01:14:51 +1100 |
commit | 4bfd3e011fabf486882174aaf86f462533877b22 (patch) | |
tree | 29049bb0585c4e4c9df141e244f0e19dc88a5580 | |
parent | 79f45b51f74b2c8828bdc0d025b7253293054c76 (diff) |
Add ways to deploy
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | bom.el | 10 | ||||
-rw-r--r-- | init.el | 38 |
3 files changed, 47 insertions, 4 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6ecd705 --- /dev/null +++ b/Makefile @@ -0,0 +1,3 @@ +serve: + @echo "Serving weather forecasts..." + emacs --fg-daemon=wea -Q --load init.el --load bom.el --funcall bom-start @@ -29,6 +29,7 @@ (require 'hierarchy) (require 'web-server) +(require 'ox-publish) (defvar bom-state-files '((act . "IDN11060") @@ -44,10 +45,11 @@ (defun bom-api (state) "Get weather forecast data of STATE from the BOM FTP." (if-let ((filename (alist-get (intern (downcase state)) bom-state-files))) - (with-current-buffer - (find-file-noselect - (format "/ftp:anonymous@ftp.bom.gov.au:/anon/gen/fwo/%s.xml" filename)) - (libxml-parse-xml-region (point-min) (point-max))) + (progn + (with-current-buffer + (find-file-noselect + (format "/ftp:anonymous@ftp.bom.gov.au:/anon/gen/fwo/%s.xml" filename)) + (libxml-parse-xml-region (point-min) (point-max)))) (user-error "State %s not found" state))) (defun bom-get-areas (resp) @@ -0,0 +1,38 @@ +;;; init.el -- Emacs init file for deploying the server -*- lexical-binding: t -*- + +;; Copyright (C) 2023 Free Software Foundation, Inc. + +;; Author: Yuchen Pei <id@ypei.org> +;; Package-Requires: ((emacs "28.2")) + +;; This file is part of bom.el. + +;; bom.el is free software: you can redistribute it and/or modify it under +;; the terms of the GNU Affero General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; bom.el is distributed in the hope that it will be useful, but WITHOUT +;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General +;; Public License for more details. + +;; You should have received a copy of the GNU Affero General Public +;; License along with bom.el. If not, see <https://www.gnu.org/licenses/>. + +;;; Commentary: + +;; Emacs init file for deploying the server. + +;;; Code: + +(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/"))) + +(package-initialize) + +(unless (package-installed-p 'web-server) + (unless package-archive-contents + (package-refresh-contents)) + (package-install 'web-server)) + +(setq ange-ftp-try-passive-mode t) |