From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id gMkPC9T/nV89VQAA0tVLHw (envelope-from ) for ; Sun, 01 Nov 2020 00:22:44 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id gALgBtT/nV8feQAA1q6Kng (envelope-from ) for ; Sun, 01 Nov 2020 00:22:44 +0000 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 7727E940539 for ; Sun, 1 Nov 2020 00:22:43 +0000 (UTC) Received: from localhost ([::1]:49336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZ18s-0001XE-78 for larch@yhetil.org; Sat, 31 Oct 2020 20:22:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43714) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZ18U-0001X1-4Y for emacs-orgmode@gnu.org; Sat, 31 Oct 2020 20:22:18 -0400 Received: from mail-io1-xd30.google.com ([2607:f8b0:4864:20::d30]:35561) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kZ18S-00029l-5a for emacs-orgmode@gnu.org; Sat, 31 Oct 2020 20:22:17 -0400 Received: by mail-io1-xd30.google.com with SMTP id k6so11397753ior.2 for ; Sat, 31 Oct 2020 17:22:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=bXNVryM8fc8bGyWp348V2TKo16cnyu+0PJr4DIkG4tw=; b=C9gu88qpQysbMScmKqI8Uv58JuNzzGA1lz5F6z/d6L9ADFHCStAKrZDbJ0ecgKJq2K AcalRScuy86YTz0vDhX0UXFZ9QMVHjT+rvyeP2+BP1xhFpa/qYYe7pZumsgwWkGfqrzc Wl56bkLwYijwUcDH9HsWK9PFx8Oimci22uqPppLAheAYLaRxgMQLRXMXpg3nLpgVyLzD /QMEB8WOzJlDRaimYYEFvX4wnhikOSD4yZ1hAznRskFNzz67DTPDUo3TLHGzfPpSVy4Z o4LikUeptvvQ7Fg/auHvo5btoyoBSyuafP/tMCYpip4odN1/TWz6zpKy3yKu7FVMBdnX SYlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=bXNVryM8fc8bGyWp348V2TKo16cnyu+0PJr4DIkG4tw=; b=sh5a/dItJpz7ziOxRgSv7oFdW3cx0zvIf314nTDtiBYeTTZ7lxBTT6L82svmcjVSul EFWB+/ZiMfJZRK5bnH8uelSJykhjgFvpaVMwCLEgD4SQOtKfb2/Cy9AE609YAcLKgW86 dyr8G0yIOl7By2uf1fcPzXSds72uI5JM85HqLkpIvGWMx336oCiXxm1tmWXfV+R2mUB/ P4GGA5Z3fsdHuilcxDq+EZ+lOqmuowXym7jIO/X9Qr8VtCO7CC4BV1SluE6gvLEqwmEu dwBF4t5mJO1y+6CywSSIDzJzjABdBa9s+v/Zhnmuhro9Mn80B8ndjIhP3CtggcSY81cF VuXA== X-Gm-Message-State: AOAM532k891UfLVRsepMrwIZa4YeMz+Jm06pqfXFYnKrcBOH1hn60SWh 2cNovUGDOhrIlsQvl1610OvccNIpjb5XtvuX/ffzjMsTWW7l+A== X-Google-Smtp-Source: ABdhPJwWxAmgBpVCaWsFO4hSpdyG0+9tFspB2TfW/+3fMohb8ECfzbZNZCfUjUYhyBaFFtgXAR1yo2Gq2gJepjTYZ6o= X-Received: by 2002:a5e:c608:: with SMTP id f8mr6338117iok.45.1604190134134; Sat, 31 Oct 2020 17:22:14 -0700 (PDT) MIME-Version: 1.0 From: Asa Zeren Date: Sat, 31 Oct 2020 20:22:01 -0400 Message-ID: Subject: Thoughts on the standardization of Org To: emacs-orgmode@gnu.org Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2607:f8b0:4864:20::d30; envelope-from=asaizeren@gmail.com; helo=mail-io1-xd30.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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.23 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" X-Scanner: ns3122888.ip-94-23-21.eu Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=C9gu88qp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: -1.71 X-TUID: D3IAv4U9/163 Hi, Even though I am new to the org-mode community, I would like to share some thoughts on the specification of org-mode, especially since I have seen some recent discussion of it in relation to registering org as a MIME type. First, I would like to repeat the importance of developing standards for org-mode. If we want to expand the influence of org, tooling must expand beyond Emacs. While Emacs is an amazing tool, (a) we cannot convince the entire world to use Emacs and (b) org-mode should be integrated into tooling unrelated to text editing, and is outside of the Emacs-Lisp environment. Without additional org implementations, this is impossible. If org catches on before it is standardized, we end up in the situation of Markdown, with many competing standards and non-standards. Hence, standardization is essential. Standardizing org is much harder than standardizing something like Markdown, but I think by breaking it down as follows will maximize the portability of org while not compromising on development of org. I see three areas of standardization, which I think should be standardized separately: - Org DOM - Org Syntax - Org Standard Environments Before we get to that, a brief note on /how/ I think that org should be specified. I think that org should be specified in terms of an /environment/ that defines the properties, etc. that can be used in a document. For instance, the org standard would say something to the effect of "An environment may specify block bounding keywords that may be used like #+\n...#+. and the environment would specify "begin_src and end_src are a pair of block bounding keyword that indicates a source code block." This is for two reasons. First, this allows for development of org tool features independent of the standard. Second, this separates the individual features of org mode from the overall structure. Org DOM: The first thing to specify is the org DOM. (Maybe a different name should be used to avoid confusion with the HTML DOM) This is the structure of an org-mode document, without the textual representation. Many org-related tools operate on org documents without needing to use the textual representation. Specifying the DOM separately would (a) create a separation of concerns and (b) allow for better libraries built around org mode. Org Syntax: This would be specifying the mapping between the DOM and the textual representation, specified in terms of an environment. Org Standard Environments: This is how I would specify elements such as #+begin_src..#+end_src would be specified, as standardized elements of the environment. This would be structured as a number of individual standard environments, such as "Source Blocks" or "Standard Header Properties" (specifying #+title, #+author, etc.) I would appreciate thoughts on these ideas about how to develop and org specification. Thanks for reading, Asa Zeren