From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id gF8tAuA8AGb9hQEAqHPOHw:P1 (envelope-from ) for ; Sun, 24 Mar 2024 15:46:56 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id gF8tAuA8AGb9hQEAqHPOHw (envelope-from ) for ; Sun, 24 Mar 2024 15:46:56 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=honkeIOi; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1711291615; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=eBeVxNS2j9kSb9F7GW7BiIRAS6Y6PFZvmLFUl0O68ss=; b=nxEtIfsBfH5ET8uUi07ZAvGL26rvppNzFxMqXW/xDxtgkvStPBrJDJ+tvoIAFPgb2YOKzY YrR9JZKWzfShVv69fOzx/iRkPLLFah3FYrMvVisvelESzBLqcD61qjucynrNRtbzchP9GV Do4hP2RUgLdblKa7dALGyLeCMnKMY01I3Uc06f1Aq8ilv64yqtnZ8lSLINFiH4MTJTrUNu zHVx3MuEvpg57Pa/dvTaZfGpiuSpqKG8S08NRJGzDPbXjvRfZU6d2Sy4CDAaK2Ng6FLd+a 0yT6afLR9VXWe//TGWQhOCAepI/lIEPjeevLXo7nN8KS2O09QNpTIQUvEYr4Ww== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=honkeIOi; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1711291615; a=rsa-sha256; cv=none; b=TWWjQTktHZMmrDDYWvPAlyShIzkKqQP9f4d3FbZsZmvYkYLMG2zMqUlkt99R7lVQqqXTxG KDq/FezOfvi0dywgM/wAqLWv9Ku2wLAhQDwn20nZAodEdt7VDaym1wc4BMH/TOiv+Dumdv x9eRxzAoSl/Z6dV1RYzTOAE1NDU32AJbKIL6bChPY0PWmDGmBS3oGwBcvq+knlda3HtbIF UCU9SDL6ExcA8Xp5L5sO2eoPG7MkGT79+bQzVy3NU/dY275bFqqkyCq4carA7G1ehaodAU nyKBgNv/PrQD6fNqbapVMX4cUEeh7Zq3mvRkerDTUW/RHfl6qMhKS9Qn14O+aQ== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 917BE16E31 for ; Sun, 24 Mar 2024 15:46:55 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1roP1u-0005Th-Kg; Sun, 24 Mar 2024 10:40:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1roP1r-0005TQ-GN for Emacs-orgmode@gnu.org; Sun, 24 Mar 2024 10:40:55 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1roP1o-00052b-Ru for Emacs-orgmode@gnu.org; Sun, 24 Mar 2024 10:40:55 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 319D5240027 for ; Sun, 24 Mar 2024 15:40:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1711291250; bh=DmbPkLa+wpUDcl0nEFgaMeG3tG6YBOYHeQNb+FG+pBM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: From; b=honkeIOibGT/jxq48LapE9MwVkpAYCN/slmbdIcZi9QUeXXaXZboqfGhkb4uJ4xdO bELOxg4XUAdh/C/50iLBg8QfL7kQCWl7+0qEB9KE3jpW81Xj9Me5b3MabA11/0uhIq X81AmCcQHMq8sqHbyRJcpg7etE+V369D+LEy6/1a0dRzWVRVpHEvCaIUxtlwLTSFi/ sN7PWw0D0iyFKIdPn1ixH2Eetj9vIhx5YLR2rYvn4JAzeTFN237uiTzz9tWOmGexGS lqyKboORDPtKBIx1nasFDKMmi4rs7K75ip35HGytKsPQ7tnk75EuZThH0TLNOk18EX iROX98pxTQ4aw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4V2dz53Zwwz9rxB; Sun, 24 Mar 2024 15:40:49 +0100 (CET) From: Ihor Radchenko To: c.buhtz@posteo.jp Cc: Emacs orgmode Subject: Re: Presenting Hyperorg version 0.1.0: The Org to HTML Converter In-Reply-To: <9e466e7e9d9de12103df770ace706d21@posteo.de> References: <87sf0lrqw2.fsf@localhost> <4V20vC3RwXz6twc@submission01.posteo.de> <875xxd6oeo.fsf@localhost> <4V28mv5Q3rz6tyS@submission01.posteo.de> <87h6gvbvt8.fsf@localhost> <9e466e7e9d9de12103df770ace706d21@posteo.de> Date: Sun, 24 Mar 2024 14:40:56 +0000 Message-ID: <878r27bslj.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: -9.52 X-Migadu-Queue-Id: 917BE16E31 X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: -9.52 X-TUID: NMNzdhcJxri1 c.buhtz@posteo.jp writes: > Am 24.03.2024 14:31 schrieb Ihor Radchenko: >> Hmm. I thought that you implemented Org parser in python from scratch. >> Now, I see that you are using orgparse. > > The orgparse package do not parse much of on org file. IT does parse the > meta infos (property drawers, etc) but not the content of an orgfile. In > the long run I might replay orgparse to reduce dependencies. > > Beside orgparse yes I implement an org parser. Thanks for the clarification. If it is an option, it would be nice if you upstreamed your additions to orgparse. This way, we can get a better Python-based Org parser for everyone's benefit. >> Wondering what you are referring to when mentioning "resilient when >> dealing with parser issues". > > Orgparse do throw exceptions e.g. UnicodeDecodeError or when timestamps > are invalid. Hyperorg catch that exceptions and go on with the next node > without interrupting the whole process. I see. FYI, it is a bug to throw an error when parsing Org document. Any kind of text file is a valid Org document. There is no notion of invalid syntax in Org markup. > Other things are "invalid" links, e.g. unknown orgids, unknown roam > links, unsupported "link kinds" ("protocols" in org syntax?; e.g. > "inkscape:"). In Org terminology, we call these "broken" links. "link kinds" are link "types". > Additionally there are multiple fancy but not supported org features > (e.g. tables) currently not supported. Hyperorg shouldn't stop or crash > at this point. Do you mean that orgparse throws an error when encountering tables? If so, it is slightly odd to see this implementation detail listed in "Benefits". Generally, part of the "Benefits" section is a bit hand-wavy. I recommend using more clear statements. Otherwise, it is not clear what exactly the benefits are. I'd suggest the following: 1. Drop "Fairly resilient when dealing with parser issues." 2. Reword "Fairly resilient managing dead and problematic links which are a common phenomenon when working with a constantly evolving Zettelkasten or personal wiki." And instead clearly explain how broken links are exported. 3. Supply "Generates a comprehensive index of all nodes." with a screenshot 4. Drop "Adhers to World Wide Web Consortium (W3C) standards for HTML5 and CSS ()." Most other blog exporters for Org mode adhere to standards. And those that are not are probably out of interest for the purposes of comparison. 5. Maybe mention the "tag cloud" visible in the example screenshot (btw, the screenshot is not very sexy; compare it with something like https://one.tonyaldon.com/). >> index can be produced with minimal configuration via ox-publish. > > "minimal" is a subjective term here. Again I don't blame the tools or > the Emacs universe. > But for me it is not even minimal to get ox-publish run in the first > place. Not speaking about further modifications, e.g. an index. Clear. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at