mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-15 03:20:43 +02:00
gnu: Add markdeep.
* gnu packages/documentation.scm (markdeep): New variable. Change-Id: I34303377f50740ba357c1bb299c9434079a6e23d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
cba4c9f161
commit
8b65da6ac8
1 changed files with 68 additions and 0 deletions
|
@ -37,6 +37,7 @@
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
|
#:use-module (guix build-system copy)
|
||||||
#:use-module (guix build-system perl)
|
#:use-module (guix build-system perl)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system qt)
|
#:use-module (guix build-system qt)
|
||||||
|
@ -57,11 +58,13 @@
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
#:use-module (gnu packages javascript)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages qt)
|
#:use-module (gnu packages qt)
|
||||||
#:use-module (gnu packages sqlite)
|
#:use-module (gnu packages sqlite)
|
||||||
#:use-module (gnu packages sphinx)
|
#:use-module (gnu packages sphinx)
|
||||||
|
#:use-module (gnu packages uglifyjs)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (gnu packages xorg))
|
#:use-module (gnu packages xorg))
|
||||||
|
|
||||||
|
@ -453,3 +456,68 @@ the Net to search for documents which are not on the local system.")
|
||||||
(description "Zeal is a simple offline documentation browser
|
(description "Zeal is a simple offline documentation browser
|
||||||
inspired by Dash.")
|
inspired by Dash.")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public markdeep
|
||||||
|
(package
|
||||||
|
(name "markdeep")
|
||||||
|
(version "1.16")
|
||||||
|
(home-page "https://casual-effects.com/markdeep/")
|
||||||
|
(source
|
||||||
|
(origin (method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/morgan3d/markdeep")
|
||||||
|
(commit (string-append "v0" version))))
|
||||||
|
(sha256
|
||||||
|
(base32 "05bvw3993xh1260ckclwk4jw38hvgiff0b2940ryhbhz0p1k41l8"))))
|
||||||
|
(build-system copy-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:modules '((guix build utils)
|
||||||
|
(guix build copy-build-system)
|
||||||
|
(ice-9 popen))
|
||||||
|
#:install-plan ''(("." "/share/markdeep/"))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-urls
|
||||||
|
(lambda _
|
||||||
|
(for-each (lambda (filename)
|
||||||
|
|
||||||
|
(substitute* filename
|
||||||
|
;; Don't include a reference to the remote version.
|
||||||
|
(("<script src=\"https://casual-effects\\.com/\
|
||||||
|
markdeep/latest/markdeep\\.min\\.js\\?\"></script>")
|
||||||
|
"")
|
||||||
|
(("MATHJAX_URL = .*$")
|
||||||
|
;; Use our local copy of mathjax
|
||||||
|
(string-append "MATHJAX_URL = 'file://" #$js-mathjax
|
||||||
|
"/share/javascript/es5/tex-mml-chtml.js'"))))
|
||||||
|
(find-files "." (lambda (file stat)
|
||||||
|
(string-suffix? ".js" file))))))
|
||||||
|
(add-before 'install 'minify
|
||||||
|
(lambda _
|
||||||
|
(for-each (lambda (filename)
|
||||||
|
(let ((minified-filename
|
||||||
|
(string-append
|
||||||
|
(string-drop-right filename 3)
|
||||||
|
".min.js")))
|
||||||
|
(format #t "~a -> ~a~%" filename minified-filename)
|
||||||
|
(let ((minified (open-pipe* OPEN_READ
|
||||||
|
"uglifyjs" filename)))
|
||||||
|
(call-with-output-file minified-filename
|
||||||
|
(lambda (port)
|
||||||
|
(dump-port minified port)))
|
||||||
|
|
||||||
|
(let ((exit (close-pipe minified)))
|
||||||
|
(unless (zero? exit)
|
||||||
|
(error "uglifyjs failed" exit))))))
|
||||||
|
(find-files "latest"
|
||||||
|
(lambda (path stat)
|
||||||
|
(and (string-suffix? ".js" path)
|
||||||
|
(not (string-suffix? ".min.js"
|
||||||
|
path)))))))))))
|
||||||
|
(inputs (list js-mathjax))
|
||||||
|
(native-inputs (list uglifyjs))
|
||||||
|
(synopsis "Tool for displaying markdown documents in a web-browser")
|
||||||
|
(description "Markdeep is a technology for writing plain text documents that can
|
||||||
|
be displayed in any web browser, whether local or remote. It supports diagrams,
|
||||||
|
calendars, equations, and other features as extensions of Markdown syntax.")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue