;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2025 Giacomo Leidi ;;; ;;; 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 . (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)))