From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Blake Shaw Newsgroups: gmane.lisp.guile.user Subject: [feature request] merge sxml->html from (haunt html) into guile? Date: Mon, 27 Jun 2022 06:57:40 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14813"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Mon Jun 27 08:58:52 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o5ihu-0003gK-7q for guile-user@m.gmane-mx.org; Mon, 27 Jun 2022 08:58:50 +0200 Original-Received: from localhost ([::1]:41140 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o5ihs-00042Z-Vh for guile-user@m.gmane-mx.org; Mon, 27 Jun 2022 02:58:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o5ih2-0003FB-SK for guile-user@gnu.org; Mon, 27 Jun 2022 02:57:56 -0400 Original-Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:43803) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o5ih0-0008TW-KC for guile-user@gnu.org; Mon, 27 Jun 2022 02:57:56 -0400 Original-Received: by mail-ed1-x535.google.com with SMTP id c13so11525676eds.10 for ; Sun, 26 Jun 2022 23:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sweatshoppe-org.20210112.gappssmtp.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=8UN/AVM9OhEbATV3Y7DgbObKPEvqKWupHl6xeCmlt+s=; b=Z6nHAAdgvuoTwqGU1KM9nOvzEIKoJ0E6s4kSGJ8q+6LW+U6dMWHBA8v/a3KqBjfpW/ dsGJrNPLk7//K/+VzsmkouEK0JCqFAcN08YsXDGeOfSfiXuoh7vmjUh7jKZSYvzZfplC ss8HdCyjzocfE3u8OZOZ35/wLjFt0GowN2wiowc5/uOf7HrAYx4E1SpUKBdao/WtPql4 JUygWk4L/mfktFanxoP/dDHQTccN5SJHk+lnQQkrVBTTjXpzXiKgTJLdYp26WYQHgvLX 42L5C+Zst4Qhed+qWrMR5U8RHsEB0wojWhfkDBj7RdVxIQQavmG9C5/ks1WG2vHCWmY8 JmhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8UN/AVM9OhEbATV3Y7DgbObKPEvqKWupHl6xeCmlt+s=; b=VPNYzt4O5p5FXraDt9BpwfSRw5YCMdFVJoZDoIREhybSJsueloDV9tV0B0lGOCWao0 IlvExaIFFK+wi/8WEXTetMfoEr1pHJAJXn5MJ5Dm6993XDanKOAQfM7X3gtHFIfUR7SJ DS5QiqnxS4OwEWD4vptlGII29JchPsx94sStPCFbJhmiF/JJju0wp+/It7Ym8MG1FsH6 n2kUQPTCd/GR9WK5sdfZGeWNQ92Hlp8ZvwHe7zbyREg58LeEUy4yUjlRAkvrsPfJvfUs u+Gtv4UwkNkrrkxsQvfhLTx3gAaicni51j1Eb4HgajjSZNPqgfqJGipWlqc9mdgbKi5M 4pTw== X-Gm-Message-State: AJIora9zHTeEL+qH9Q6k8zYqr6xy/2QYsWVg7LUMQEV3QPaelF6KcY6q Myv+PF5Xv4VPIAdcNlQWQOdNeAnTcuA7tMjVRy0RnNEow6ultw== X-Google-Smtp-Source: AGRyM1u8pdpxSt4KeqZAA4dY40X3WozOR2M9TP8gJD8SQBdQPyhbFooYjg0cKI/HC6EIJ1Tcws7WnBezGRItynR1YBg= X-Received: by 2002:a05:6402:1e8b:b0:41c:59f6:2c26 with SMTP id f11-20020a0564021e8b00b0041c59f62c26mr14595685edf.156.1656313072279; Sun, 26 Jun 2022 23:57:52 -0700 (PDT) Received-SPF: none client-ip=2a00:1450:4864:20::535; envelope-from=blake@sweatshoppe.org; helo=mail-ed1-x535.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18349 Archived-At: Hiya Guilers, Having just wrapped up the Scribble Jam project I mentioned in my Guix Days talk on the Guile Docs makeover, I'm getting back to the topic of the documentation. I figured this is a good excuse to finally move my hiney and finally do something I've been putting off for the simple reason I find writing HTML a bore -- creating a blog where I can collect all these thoughts and tips to help improve the Guix/Guile knowledge ecosystem. So of course, I figured I will try to make the web process less boring by doing it in Guile, and naturally went to the SXML docs, as I've had some ideas for a Guile extension that combines ideas from structured writing to make an easy and fun documentation and tutorial system that can be queried from the Guile repl. I could kill two bird with one stone! So I thought... This lead me to spend the last two nights learning XSLT and XHTML. I read Peter Bex's dynamic web tutorial, and then started hitting the XSLT textbooks. And after two nights and several hundred loc, I had as you may imagine, a poor skeleton of a website from 1995. Jeez, I thought, how much work are they doing to write the Guix website in Guile? They're really sticking to XHTML? Usually I'm not the type that heads straight to examples. I typically want to get away from the world with something new, try to study it on my own, and then later look to what others are doing. In this case, that lead me to try to poke at figuring out an sxml->html transformation myself, digging through Oleg Kisleyovs papers, and various ancient texts on the merits of XHTML, XSLT, XPath, etc... but it became clear that XML really isn't just a simple markup format that can be learned quickly, and my total lack of web skills weren't going to ramp up quickly enough to go from a "My First Geocities" aesthetic to the beautiful read I had been scheming up in my imagination. Finally I caved and decided to look at the Bootstrappable source code, and voila! (haunt html) provides sxml->html... the piece of the puzzle I was missing. Massive, near comical, relief. I'd like to suggest that, with Dave Thompson's approval, we could incorporate this function into Guile as I can imagine others going through a similar process. SXML remains a powerful tool, but without a modern way to get your results on screen it can appear archaic. But also, as someone who doesn't work in web *at all*, I don't really know how often HTML changes and how much of a burden the maintenance could be for the maintainers. So if its likely to become a fussy hairball, I understand. But I do think it could be an extremely helpful addition to (sxml simple), which also is in need of documentation, so if folks would agree this would be useful I'd be happy to, in turn, provide documentation for the currently missing SXML page, covering all the functions in (sxml simple). WDYT? ez, b -- Blake Shaw Director, SWEATSHOPPE sweatshoppe.org ---