:CUSTOM_ID: projects
:END:
+** =sweep=: SWI-Prolog Embedded in Emacs
+:PROPERTIES:
+:CUSTOM_ID: sweep
+:END:
+
+[[https://git.sr.ht/~eshel/sweep][sweep]] is an Emacs module which uses the C interfaces of both
+SWI-Prolog and Emacs to bring the two together into one address space.
+
+#+begin_src prolog
+ ?- sourcehut_git_repository("eshel", "sourcehut.pl", Repo, []),
+ get_dict(id, Repo, RepoId),
+ sourcehut_git_upload_artifact(RepoId, "v0.1.2", "/tmp/foo/baz.txt", Artifact, []).
+#+end_src
+
** Sourcehut GraphQL client for SWI-Prolog
:PROPERTIES:
:CUSTOM_ID: sourcehut-pl
"esy.org")
"Template for the index page of my website.")
+(defconst esy/publish-project-sweep-template
+ (esy/publish-project-make-org-template
+ (expand-file-name "sweep" esy/website-source-root)
+ "README.org")
+ "Template for the `sweep' manual page of my website.")
+
(defconst esy/publish-project-static-template
`( :base-directory ,esy/website-source-org
:base-extension "ico\\|css\\|jpg\\|gif\\|png\\|txt\\|pdf"
:publishing-directory ,esy/website-target-html
.
,esy/publish-project-config-template)
+ ("sweep"
+ :publishing-directory ,esy/website-target-html
+ .
+ ,esy/publish-project-sweep-template)
("eshelyaron.com" :components ("index"
"pub"
+ "sweep"
"static"
"config"))
("index.local"
esy/website-source-root)
.
,esy/publish-project-config-template)
+ ("sweep.local"
+ :publishing-directory ,esy/website-target-html
+ .
+ ,esy/publish-project-sweep-template)
("static.local"
:publishing-directory ,(expand-file-name "html"
esy/website-source-root)
,esy/publish-project-static-template)
("eshelyaron.local" :components ("index.local"
"pub.local"
+ "sweep.local"
"static.local"
"config.local")))))
(setq org-confirm-babel-evaluate nil)