diff options
Diffstat (limited to 'gnu/packages/elixir-markup.scm')
-rw-r--r-- | gnu/packages/elixir-markup.scm | 270 |
1 files changed, 270 insertions, 0 deletions
diff --git a/gnu/packages/elixir-markup.scm b/gnu/packages/elixir-markup.scm new file mode 100644 index 0000000000..55650d7663 --- /dev/null +++ b/gnu/packages/elixir-markup.scm @@ -0,0 +1,270 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2025 Giacomo Leidi <goodoldpaul@autistici.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix 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 General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages elixir-markup) + #:use-module (gnu packages elixir-xyz) + #:use-module (gnu packages erlang-xyz) + #:use-module (guix build-system mix) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (guix packages)) + +(define-public elixir-earmark-ast-dsl + (package + (name "elixir-earmark-ast-dsl") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "earmark_ast_dsl" version)) + (sha256 + (base32 "1c90204jcz1pbxxdxmvwr32y663jwvpn05izqp7zmqlp8yknzlhj")))) + (build-system mix-build-system) + (synopsis + "Toolset to generate EarmarkParser AST Nodes") + (description + "@code{EarmarkAstDsl} is a toolset to generate @code{EarmarkParser} +conformant AST Nodes. Its main purpose is to remove boilerplate code from +Earmark and @code{EarmarkParser} tests.") + (home-page "https://hexdocs.pm/earmark_ast_dsl/") + (license license:asl2.0))) + +(define-public elixir-earmark-parser + (package + (name "elixir-earmark-parser") + (version "1.4.44") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "earmark_parser" version)) + (sha256 + (base32 "0l1758nwqf39yg2mgx3d9zfgz2f9i44h7xqmj9csa0a75dssqy27")))) + (build-system mix-build-system) + (native-inputs + (list elixir-earmark-ast-dsl elixir-excoveralls elixir-floki)) + (synopsis "AST parser and generator for Markdown") + (description "This package providesAST parser and generator for Markdown.") + (home-page "https://hexdocs.pm/earmark_parser/") + (license license:asl2.0))) + +(define-public elixir-earmark + (package + (name "elixir-earmark") + (version "1.4.47") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "earmark" version)) + (sha256 + (base32 "1y4qqq3bxim9b9jrpbdxpagsjs5whlig4zva6hxmznf2lazbx5iy")))) + (build-system mix-build-system) + (native-inputs + (list elixir-earmark-ast-dsl + elixir-excoveralls + elixir-floki + elixir-traverse)) + (synopsis + "Elixir Markdown converter") + (description + "Earmark is a pure-Elixir Markdown converter. It is intended to be used as a +library (just call Earmark.as_html), but can also be used as a command-line tool +(run mix escript.build first). Output generation is pluggable.") + (home-page "https://hexdocs.pm/earmark/") + (license license:asl2.0))) + +(define-public elixir-easyhtml + (package + (name "elixir-easyhtml") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "easyhtml" version)) + (sha256 + (base32 "01jxhj3hpivf5c0x7d11c8xrx3d0ln6wsa78lc58g90j2vwkdadn")))) + (build-system mix-build-system) + (propagated-inputs (list elixir-floki)) + (synopsis "Tiny wrapper around Floki") + (description "@code{EasyHTML} makes working with HTML easy. It is a tiny +wrapper around Floki that adds conveniences: + +@itemize +@item An @code{Inspect} implementation to pretty-print HTML snippets +@item An @code{Access} implementation to search them +@item An @code{Enumerable} implementation to traverse them +item A @code{String.Chars} implementation to convert them to text +@end itemize +") + (home-page "https://hexdocs.pm/easyhtml/") + (license license:asl2.0))) + +(define-public elixir-ex-doc + (package + (name "elixir-ex-doc") + (version "0.38.4") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "ex_doc" version)) + (sha256 + (base32 "1ck5y70zkppyswpagvla4zh19cryc4slw5c04lf930wa81327dpp")))) + (build-system mix-build-system) + (arguments + ;; FIXME: tests depend on lazy_html which is not yet packaged. + (list #:tests? #f)) + (native-inputs + (list elixir-easyhtml + elixir-jason + elixir-floki)) + (propagated-inputs + (list elixir-earmark-parser elixir-makeup-c elixir-makeup-elixir + elixir-makeup-erlang elixir-makeup-html)) + (synopsis "Documentation generation tool for Elixir") + (description "@code{ExDoc} is a documentation generation tool for Elixir.") + (home-page "https://hexdocs.pm/ex_doc/") + (license license:asl2.0))) + +(define-public elixir-html-entities + (package + (name "elixir-html-entities") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "html_entities" version)) + (sha256 + (base32 "1k7xyj0q38ms3n5hbn782pa6w1vgd6biwlxr4db6319l828a6fy5")))) + (build-system mix-build-system) + (synopsis "Decode and encode HTML entities in a string") + (description "This library provides an Elixir module to decode and encode +HTML entities in a string.") + (home-page "https://hexdocs.pm/html_entities/") + (license license:expat))) + +(define-public elixir-html-sanitize-ex + (package + (name "elixir-html-sanitize-ex") + (version "1.4.3") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "html_sanitize_ex" version)) + (sha256 + (base32 "1dyc9fvkdrihmy32d85jqlzs9jrbijahq5dpdry9r57y98y8sx47")))) + (build-system mix-build-system) + (propagated-inputs (list erlang-mochiweb)) + (synopsis "HTML sanitizer for Elixir") + (description "HTML sanitizer for Elixir.") + (home-page "https://hexdocs.pm/html_sanitize_ex/") + (license license:expat))) + +(define-public elixir-floki + (package + (name "elixir-floki") + (version "0.38.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "floki" version)) + (sha256 + (base32 "1ndbs7q8dncxxxiq94l4ira3fvg311asyb31bdijvywk3vlkx555")))) + (build-system mix-build-system) + (native-inputs + (list elixir-credo elixir-jason)) + (synopsis + "Simple HTML parser") + (description + "Floki is a simple HTML parser that enables search for nodes using CSS selectors.") + (home-page "https://hexdocs.pm/floki/") + (license license:expat))) + +(define-public elixir-makeup-c + (package + (name "elixir-makeup-c") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "makeup_c" version)) + (sha256 + (base32 "0s98gwsvi88mxf3wjsi05l7dgkw4gzbihzlsq5ad68i86x2wzsc9")))) + (build-system mix-build-system) + (propagated-inputs (list elixir-makeup)) + (synopsis "C lexer for the Makeup syntax highlighter") + (description "This package provides @code{elixir-makeup-c}, a library +implementing a C lexer for the Makeup syntax highlighter.") + (home-page "https://hexdocs.pm/makeup_c/") + (license license:bsd-2))) + +(define-public elixir-makeup-elixir + (package + (name "elixir-makeup-elixir") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "makeup_elixir" version)) + (sha256 + (base32 "01wmpzzf445xnc7gr7ml9hmqz6rqxpsx9bpxjzymqgia846r113j")))) + (build-system mix-build-system) + (propagated-inputs (list elixir-makeup elixir-nimble-parsec)) + (synopsis "Elixir lexer for the Makeup syntax highlighter") + (description "This package provides @code{elixir-makeup-elixir}, a library +implementing an Elixir lexer for the Makeup syntax highlighter.") + (home-page "https://hexdocs.pm/makeup_elixir/") + (license license:bsd-2))) + +(define-public elixir-makeup-erlang + (package + (name "elixir-makeup-erlang") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "makeup_erlang" version)) + (sha256 + (base32 "09rpmb9iw49syp62s7pny4ycwijffkkk6y9698z8kmb8ydzgycxg")))) + (build-system mix-build-system) + (propagated-inputs (list elixir-makeup)) + (synopsis "Erlang lexer for the Makeup syntax highlighter") + (description "This package provides @code{elixir-makeup-erlang}, a library +implementing an Erlang lexer for the Makeup syntax highlighter.") + (home-page "https://hexdocs.pm/makeup_erlang/") + (license license:bsd-2))) + +(define-public elixir-makeup-html + (package + (name "elixir-makeup-html") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (hexpm-uri "makeup_html" version)) + (sha256 + (base32 "1ciildxh4bmacbkbil4hhsjhp7z31ycnvq072fml59m6p6zgfmh8")))) + (build-system mix-build-system) + (native-inputs + (list elixir-stream-data)) + (propagated-inputs (list elixir-makeup)) + (synopsis "HTML lexer for the Makeup syntax highlighter") + (description "This package provides @code{elixir-makeup-html}, a library +implementing an HTML lexer for the Makeup syntax highlighter.") + (home-page "https://hexdocs.pm/makeup_html/") + (license license:expat))) |