summaryrefslogtreecommitdiff
path: root/elenq
diff options
context:
space:
mode:
Diffstat (limited to 'elenq')
-rw-r--r--elenq/documentation.scm119
-rw-r--r--elenq/graphics.scm109
-rw-r--r--elenq/tools.scm60
3 files changed, 274 insertions, 14 deletions
diff --git a/elenq/documentation.scm b/elenq/documentation.scm
index 3ce728f..f255fe9 100644
--- a/elenq/documentation.scm
+++ b/elenq/documentation.scm
@@ -1,31 +1,122 @@
(define-module (elenq documentation)
+ #:use-module (elenq graphics)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system copy)
#:use-module (guix gexp)
#:use-module (guix git-download)
- #:use-module (guix packages))
+ #:use-module (guix packages)
+ #:use-module (gnu packages haskell-xyz))
-(define-public pandoc-templates
- (let ((revision "1")
- (commit "39ad0e6cf9ed895b88041f8babe59506178a6fcb"))
+(define-public elenq-pandoc-templates
+ (let ((revision "4")
+ (commit "4d65ed1bf92e46d04565b9cc1188db5e57f20f37"))
(package
- (name "pandoc-templates")
+ (name "elenq-pandoc-templates")
(version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "git://git.elenq.tech/pandoc-templates")
- (commit commit)))
- (sha256
- (base32 "1z2p1dxlgivdgw79f74n2ax84xr8g0q62fsxpwag4dfdmik7131b"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.elenq.tech/pandoc-templates")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12260xxs293g527vnpy7vs634vmd59irsy005f15320rxjbrblq7"))))
(build-system copy-build-system)
- (arguments (list #:install-plan ''(("pandoc" "/share/pandoc"))))
+ (inputs (list elenq-logos))
+ (arguments
+ (list
+ #:install-plan ''(("pandoc" "/share/pandoc"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'set-url
+ (lambda _
+ (for-each
+ (lambda (f)
+ (substitute* f
+ (("\\$elenq-directory\\$")
+ (string-append #$elenq-logos "/share/elenq/"))))
+ (list "pandoc/templates/elenq-article.latex"
+ "pandoc/templates/elenq-book.latex")))))))
(native-search-paths
(list (search-path-specification
- (variable "XDG_DATA_HOME")
+ (variable "XDG_DATA_DIRS") ;; Not supported by pandoc _yet_
(files '("share")))))
(home-page "http://git.elenq.tech/pandoc-templates")
(synopsis "Pandoc templates for ElenQ Technology")
(description "A set of well configured Pandoc templates for ElenQ
Technology's documents.")
(license license:asl2.0))))
+
+
+(define-public elenqdoc
+ (let ((revision "1")
+ (commit "1cb21742a69f681e6452a7ddd0adc9543aefd72a"))
+ (package
+ (name "elenqdoc")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.elenq.tech/elenqdoc")
+ (commit commit)))
+ (sha256
+ (base32 "0fdxskf3h14vdr9w5pi18svrz40p9qkbwcn4c4rp1b1azpbfsa6s"))))
+ (build-system copy-build-system)
+ (inputs (list elenq-pandoc-templates))
+ (propagated-inputs (list pandoc))
+ (arguments
+ (list
+ #:install-plan ''(("elenqdoc" "/bin/elenqdoc"))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'install 'wrap
+ (lambda _
+ (wrap-program (string-append #$output "/bin/elenqdoc")
+ `("ELENQDOC_DATADIR" =
+ (,(string-append #$elenq-pandoc-templates
+ "/share/pandoc/")))))))))
+ (home-page "http://git.elenq.tech/")
+ (synopsis "Simplified pandoc wrapper for ElenQ documents")
+ (description "Provides `elenqdoc` command.")
+ (license license:asl2.0))))
+
+(define-public tiddlywiki5-bob
+ (package
+ (name "tiddlywiki5-bob")
+ (version "1.7.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OokTech/TW5-Bob")
+ (commit version)))
+ (sha256
+ (base32 "0s8ssmxfc5ydn52xh8l1s8qyczy0vk6nrnwspc4in8f336vm8y4c"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan ''(("./" "tiddlywiki/plugins/OokTech/Bob"))))
+ (home-page "https://github.com/OokTech/TW5-Bob")
+ (synopsis "A plugin that makes tiddlywiki a multi-user wiki on node")
+ (description "What does it do?
+@itemize
+@item Multi-User support for using/editing the same wiki(s) simultaneously
+@item Multi-Wiki support - run it once and serve multiple wikis
+@item Create and configure new wikis from inside the root wiki
+@item Export single file wikis in a variety of ways
+@item Two-way real-time syncing between the browser and file system
+@item All configuration can be done from inside the wiki
+@item Serve external files (like images) so you can include them in your wikis
+@item Allows you to run shell scripts and commands from inside the wiki
+@item Can be used as a plugin library to make plugins available to other wikis
+ (requires the TWederBob plugin on the other wikis to connect)
+@item Inter-server federation. Different Bob servers can communicate to share
+ tiddlers and as chat servers/relays
+@item HTTP API for interacting with the server
+@end itemize")
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TIDDLYWIKI_PLUGIN_PATH")
+ (files '("tiddlywiki/plugins")))))
+ (license license:bsd-3)))
diff --git a/elenq/graphics.scm b/elenq/graphics.scm
new file mode 100644
index 0000000..172aa93
--- /dev/null
+++ b/elenq/graphics.scm
@@ -0,0 +1,109 @@
+(define-module (elenq graphics)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system font)
+ #:use-module (guix build-system copy)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages gnome))
+
+(define-public font-armata
+ (package
+ (name "font-armata")
+ (version "0.9.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekaitz-zarraga/font-armata/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pdlydanpay93pgkbpawii11j62m643pqkv6i6crvia198i9fnrd"))))
+ (build-system font-build-system)
+ (home-page "https://fontlibrary.org/en/font/armata")
+ (synopsis "Armata Font")
+ (description
+ "Armata is a new Sans Serif font by Jasper @ Cannot Into Space
+Fonts. It is named after the new Russian T-14 Armata Main Battle Tank.")
+ (license license:silofl1.1)))
+
+(define-public font-b612-better
+ (let ((revision "1")
+ (commit "ab287a9876083f29d9bf83e4b71a60e79d8b657e"))
+ (package
+ (name "font-b612-better")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekaitz-zarraga/font-b612-better/")
+ (commit commit)))
+ (sha256
+ (base32 "11r2blm2v82rsrl0jypi8x9r8im14q1gx57jhzdby4dia6jslsjv"))))
+ (build-system font-build-system)
+ (home-page "https://github.com/ekaitz-zarraga/font-b612-better")
+ (synopsis "B612 Font (improved)")
+ (description
+ "Fork of the B612 font developed by AIRBUS with a few
+improvements:
+@itemize
+@item Proper Monospace support
+@item Slashed Zero by default
+@item Cleaned source blob files that required proprietary software.
+@end itemize")
+ (license license:silofl1.1))))
+
+(define-public elenq-logos
+ (let ((revision "1")
+ (commit "3612f4a88e6a06a9c0fa7cfdb81cbbf6f081a1a9"))
+ (package
+ (name "elenq-logos")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.elenq.tech/elenq-logos/")
+ (commit commit)))
+ (sha256
+ (base32 "0q0a5p84vxwcj3516snnwq09i3g36idfmvpp46vsl9hcq9z53ha3"))))
+ (native-inputs (list librsvg font-armata guile-3.0-latest))
+ (arguments
+ (list
+ #:install-plan ''(("out/" "share/elenq"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'build
+ (lambda _
+ (define out "out")
+
+ (define (redirected-to-file filename . command)
+ (with-output-to-file filename
+ (lambda () (apply invoke command))))
+
+ (define (make-all-logo-formats subname)
+ (let ((base (string-append out "/elenq-" subname ".svg")))
+ (redirected-to-file base "guile" "logo/elenq.scm" subname)
+ (invoke
+ "rsvg-convert" base "--format=svg" "--output"
+ (string-append out "/elenq-" subname ".optimized.svg"))
+ (for-each
+ (lambda (size)
+ (invoke
+ "rsvg-convert" base "--format=png" "--output"
+ (string-append out "/elenq-" subname "-" size ".png")
+ "-w" size "--keep-aspect-ratio"))
+ (map (lambda (x) (number->string (integer-expt 2 x)))
+ (iota 6 5 1)))))
+
+ (mkdir "out")
+ (for-each make-all-logo-formats
+ (list "technology" "publishing")))))))
+ (build-system copy-build-system)
+ (home-page "https://elenq.tech")
+ (synopsis "ElenQ logos")
+ (description "ElenQ Technology logos in different sizes and formats.")
+ (license license:cc-by-sa4.0))))
diff --git a/elenq/tools.scm b/elenq/tools.scm
new file mode 100644
index 0000000..17b2a40
--- /dev/null
+++ b/elenq/tools.scm
@@ -0,0 +1,60 @@
+(define-module (elenq tools)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system guile)
+ #:use-module ((guix build utils) #:select (with-directory-excursion))
+ #:use-module (gnu packages)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz))
+
+(define-public guile-simple-site-builder
+ (package
+ (name "guile-simple-site-builder")
+ (version "0.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.elenq.tech/guile-simple-site-builder")
+ (commit version)))
+ (sha256
+ (base32 "1gfbckg34ws2nf6ng85ip82ixvdscz1dfw1wd0yn43gd336n268v"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'remove-guix.scm
+ (lambda _ (delete-file "guix.scm"))))))
+ (propagated-inputs (list guile-3.0))
+ (build-system guile-build-system)
+ (home-page "https://git.elenq.tech/guile-simple-site-builder/")
+ (synopsis "Atom and an HTML index generator")
+ (description "A simple tool to generate an Atom and an HTML index from a
+very simple scheme file.")
+ (license license:gpl3+)))
+
+(define-public reminder
+ (let ((revision "1")
+ (commit "cd2cbbb6511f6be57de2dcdcca20c76ca73e8f06"))
+ (package
+ (name "reminder")
+ (version "0.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekaitz-zarraga/reminder.git")
+ (commit commit)))
+ (sha256
+ (base32 "0giykd6x040xd2d75sra6ziyhfic8dgr3fpyzv5v4bwzv6wafh35"))))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'build 'delete-guix.scm
+ (lambda _ (delete-file "guix.scm"))))))
+ (build-system guile-build-system)
+ (native-inputs (list guile-3.0))
+ (propagated-inputs (list guile-libnotify))
+ (synopsis "Remind you things periodically")
+ (description "Reminder triggers desktop notifications periodically according
+to a configuration file you provided.")
+ (home-page "none")
+ (license license:asl2.0))))