summaryrefslogtreecommitdiff
path: root/desk/mar
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-08-28 12:59:01 +0700
committerpolwex <polwex@sortug.com>2025-08-28 12:59:01 +0700
commit7c0681a06e0358887d2f64001dc43125554766c9 (patch)
treecd19f060a5f4147d6ee6928eecfe1abf03bdbb8e /desk/mar
init
Diffstat (limited to 'desk/mar')
-rw-r--r--desk/mar/bill.hoon34
-rw-r--r--desk/mar/css.hoon25
-rw-r--r--desk/mar/hoon.hoon36
-rw-r--r--desk/mar/ico.hoon12
-rw-r--r--desk/mar/js.hoon25
-rw-r--r--desk/mar/kelvin.hoon28
-rw-r--r--desk/mar/mime.hoon32
-rw-r--r--desk/mar/noun.hoon22
-rw-r--r--desk/mar/png.hoon12
-rw-r--r--desk/mar/ship.hoon20
-rw-r--r--desk/mar/svg.hoon12
-rw-r--r--desk/mar/webmanifest.hoon12
12 files changed, 270 insertions, 0 deletions
diff --git a/desk/mar/bill.hoon b/desk/mar/bill.hoon
new file mode 100644
index 0000000..76cef34
--- /dev/null
+++ b/desk/mar/bill.hoon
@@ -0,0 +1,34 @@
+|_ bil=(list dude:gall)
+++ grow
+ |%
+ ++ mime `^mime`[/text/x-bill (as-octs:mimes:html hoon)]
+ ++ noun bil
+ ++ hoon
+ ^- @t
+ |^ (crip (of-wall:format (wrap-lines (spit-duz bil))))
+ ::
+ ++ wrap-lines
+ |= taz=wall
+ ^- wall
+ ?~ taz ["~"]~
+ :- (weld ":~ " i.taz)
+ %- snoc :_ "=="
+ (turn t.taz |=(t=tape (weld " " t)))
+ ::
+ ++ spit-duz
+ |= duz=(list dude:gall)
+ ^- wall
+ (turn duz |=(=dude:gall ['%' (trip dude)]))
+ --
+ ++ txt (to-wain:format hoon)
+ --
+++ grab
+ |%
+ ++ noun (list dude:gall)
+ ++ mime
+ |= [=mite len=@ud tex=@]
+ ~_ tex
+ !<((list dude:gall) (slap !>(~) (ream tex)))
+ --
+++ grad %noun
+--
diff --git a/desk/mar/css.hoon b/desk/mar/css.hoon
new file mode 100644
index 0000000..1a87081
--- /dev/null
+++ b/desk/mar/css.hoon
@@ -0,0 +1,25 @@
+::
+:::: /hoon/css/mar
+ ::
+/? 310
+=, eyre
+=, mimes:html
+|_ mud=@t
+++ grow :: convert to
+ |%
+ ++ mime [/text/css (as-octs mud)] :: convert to %mime
+ ++ hymn :: convert to %hymn
+ |^ html
+ ++ style ;style
+ ;- (trip mud)
+ ==
+ ++ html ;html:(head:"{style}" body)
+ --
+ --
+++ grab
+ |% :: convert from
+ ++ mime |=([p=mite q=octs] (@t q.q))
+ ++ noun @t :: clam from %noun
+ --
+++ grad %mime
+--
diff --git a/desk/mar/hoon.hoon b/desk/mar/hoon.hoon
new file mode 100644
index 0000000..428e105
--- /dev/null
+++ b/desk/mar/hoon.hoon
@@ -0,0 +1,36 @@
+:::: /hoon/hoon/mar
+ ::
+/? 310
+::
+=, eyre
+|_ own=@t
+::
+++ grow :: convert to
+ |%
+ ++ mime `^mime`[/text/x-hoon (as-octs:mimes:html own)] :: convert to %mime
+ ++ hymn
+ ;html
+ ;head
+ ;title:"Source"
+ ;script@"//cdnjs.cloudflare.com/ajax/libs/codemirror/4.3.0/codemirror.js";
+ ;script@"/lib/syntax/hoon.js";
+ ;link(rel "stylesheet", href "//cdnjs.cloudflare.com/ajax/libs/".
+ "codemirror/4.3.0/codemirror.min.css");
+ ;link/"/lib/syntax/codemirror.css"(rel "stylesheet");
+ ==
+ ;body
+ ;textarea#src:"{(trip own)}"
+ ;script:'CodeMirror.fromTextArea(src, {lineNumbers:true, readOnly:true})'
+ ==
+ ==
+ ++ txt
+ (to-wain:format own)
+ --
+++ grab
+ |% :: convert from
+ ++ mime |=([p=mite q=octs] q.q)
+ ++ noun @t :: clam from %noun
+ ++ txt of-wain:format
+ --
+++ grad %txt
+--
diff --git a/desk/mar/ico.hoon b/desk/mar/ico.hoon
new file mode 100644
index 0000000..e862b9b
--- /dev/null
+++ b/desk/mar/ico.hoon
@@ -0,0 +1,12 @@
+|_ dat=@
+++ grow
+ |%
+ ++ mime [/image/x-icon (as-octs:mimes:html dat)]
+ --
+++ grab
+ |%
+ ++ mime |=([p=mite q=octs] q.q)
+ ++ noun @
+ --
+++ grad %mime
+--
diff --git a/desk/mar/js.hoon b/desk/mar/js.hoon
new file mode 100644
index 0000000..fe010d9
--- /dev/null
+++ b/desk/mar/js.hoon
@@ -0,0 +1,25 @@
+::
+:::: /hoon/js/mar
+ ::
+/? 310
+::
+=, eyre
+|_ mud=@
+++ grow
+ |%
+ ++ mime [/application/javascript (as-octs:mimes:html (@t mud))]
+ ++ hymn :: convert to %hymn
+ |^ html
+ ++ script ;script
+ ;- (trip (@t mud))
+ ==
+ ++ html ;html:(head:"{script}" body)
+ --
+ --
+++ grab
+ |% :: convert from
+ ++ mime |=([p=mite q=octs] (@t q.q))
+ ++ noun cord :: clam from %noun
+ --
+++ grad %mime
+--
diff --git a/desk/mar/kelvin.hoon b/desk/mar/kelvin.hoon
new file mode 100644
index 0000000..7f1b409
--- /dev/null
+++ b/desk/mar/kelvin.hoon
@@ -0,0 +1,28 @@
+|_ kal=waft:clay
+++ grow
+ |%
+ ++ mime `^mime`[/text/x-kelvin (as-octs:mimes:html hoon)]
+ ++ noun kal
+ ++ hoon
+ %+ rap 3
+ %+ turn
+ %+ sort
+ ~(tap in (waft-to-wefts:clay kal))
+ |= [a=weft b=weft]
+ ?: =(lal.a lal.b)
+ (gte num.a num.b)
+ (gte lal.a lal.b)
+ |= =weft
+ (rap 3 '[%' (scot %tas lal.weft) ' ' (scot %ud num.weft) ']\0a' ~)
+ ::
+ ++ txt (to-wain:format hoon)
+ --
+++ grab
+ |%
+ ++ noun waft:clay
+ ++ mime
+ |= [=mite len=@ud tex=@]
+ (cord-to-waft:clay tex)
+ --
+++ grad %noun
+--
diff --git a/desk/mar/mime.hoon b/desk/mar/mime.hoon
new file mode 100644
index 0000000..83b4dae
--- /dev/null
+++ b/desk/mar/mime.hoon
@@ -0,0 +1,32 @@
+::
+:::: /hoon/mime/mar
+ ::
+/? 310
+::
+|_ own=mime
+++ grow
+ ^?
+ |%
+ ++ jam `@`q.q.own
+ --
+::
+++ grab :: convert from
+ ^?
+ |%
+ ++ noun mime :: clam from %noun
+ ++ tape
+ |=(a=_"" [/application/x-urb-unknown (as-octt:mimes:html a)])
+ --
+++ grad
+ ^?
+ |%
+ ++ form %mime
+ ++ diff |=(mime +<)
+ ++ pact |=(mime +<)
+ ++ join |=([mime mime] `(unit mime)`~)
+ ++ mash
+ |= [[ship desk mime] [ship desk mime]]
+ ^- mime
+ ~|(%mime-mash !!)
+ --
+--
diff --git a/desk/mar/noun.hoon b/desk/mar/noun.hoon
new file mode 100644
index 0000000..ff5443e
--- /dev/null
+++ b/desk/mar/noun.hoon
@@ -0,0 +1,22 @@
+::
+:::: /hoon/noun/mar
+ ::
+/? 310
+!:
+:::: A minimal noun mark
+|_ non=*
+++ grab |%
+ ++ noun *
+ --
+++ grow |%
+ ++ mime [/application/x-urb-jam (as-octs:mimes:html (jam non))]
+ --
+++ grad
+ |%
+ ++ form %noun
+ ++ diff |=(* +<)
+ ++ pact |=(* +<)
+ ++ join |=([* *] *(unit *))
+ ++ mash |=([[ship desk *] [ship desk *]] `*`~|(%noun-mash !!))
+ --
+--
diff --git a/desk/mar/png.hoon b/desk/mar/png.hoon
new file mode 100644
index 0000000..6a60a6a
--- /dev/null
+++ b/desk/mar/png.hoon
@@ -0,0 +1,12 @@
+|_ dat=@
+++ grow
+ |%
+ ++ mime [/image/png (as-octs:mimes:html dat)]
+ --
+++ grab
+ |%
+ ++ mime |=([p=mite q=octs] q.q)
+ ++ noun @
+ --
+++ grad %mime
+--
diff --git a/desk/mar/ship.hoon b/desk/mar/ship.hoon
new file mode 100644
index 0000000..176bcad
--- /dev/null
+++ b/desk/mar/ship.hoon
@@ -0,0 +1,20 @@
+|_ s=ship
+++ grad %noun
+++ grow
+ |%
+ ++ noun s
+ ++ json s+(scot %p s)
+ ++ mime
+ ^- ^mime
+ [/text/x-ship (as-octt:mimes:html (scow %p s))]
+
+ --
+++ grab
+ |%
+ ++ noun ship
+ ++ json (su:dejs:format ;~(pfix sig fed:ag))
+ ++ mime
+ |= [=mite len=@ tex=@]
+ (slav %p (snag 0 (to-wain:format tex)))
+ --
+--
diff --git a/desk/mar/svg.hoon b/desk/mar/svg.hoon
new file mode 100644
index 0000000..2911e49
--- /dev/null
+++ b/desk/mar/svg.hoon
@@ -0,0 +1,12 @@
+|_ dat=@
+++ grow
+ |%
+ ++ mime [/image/'svg+xml' (as-octs:mimes:html dat)]
+ --
+++ grab
+ |%
+ ++ mime |=([p=mite q=octs] q.q)
+ ++ noun @
+ --
+++ grad %mime
+--
diff --git a/desk/mar/webmanifest.hoon b/desk/mar/webmanifest.hoon
new file mode 100644
index 0000000..6a60a6a
--- /dev/null
+++ b/desk/mar/webmanifest.hoon
@@ -0,0 +1,12 @@
+|_ dat=@
+++ grow
+ |%
+ ++ mime [/image/png (as-octs:mimes:html dat)]
+ --
+++ grab
+ |%
+ ++ mime |=([p=mite q=octs] q.q)
+ ++ noun @
+ --
+++ grad %mime
+--