From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 8Di+Ma5812IZWQEAbAwnHQ (envelope-from ) for ; Wed, 20 Jul 2022 05:55:26 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 8KLWMa5812KIVgEA9RJhRA (envelope-from ) for ; Wed, 20 Jul 2022 05:55:26 +0200 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 7AEAA212E0 for ; Wed, 20 Jul 2022 05:55:26 +0200 (CEST) Received: from localhost ([::1]:51784 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oE0o0-0000HT-O9 for larch@yhetil.org; Tue, 19 Jul 2022 23:55:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32894) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oE0nG-0000HD-OO for emacs-orgmode@gnu.org; Tue, 19 Jul 2022 23:54:38 -0400 Received: from mail-pj1-x1035.google.com ([2607:f8b0:4864:20::1035]:40578) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oE0nF-0003fY-6h for emacs-orgmode@gnu.org; Tue, 19 Jul 2022 23:54:38 -0400 Received: by mail-pj1-x1035.google.com with SMTP id q13-20020a17090a304d00b001f1af9a18a2so826339pjl.5 for ; Tue, 19 Jul 2022 20:54:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=BlQgbi4ZiqshWPP+XF8cyXN8ITembUB6JIZgyq618PY=; b=VW85SkmtTbkp/IOXn60jALcX3qH2qbagoKtutqrHhMv8F1XWIukzwK47J2lpB6v2OK afTwwL5zNAHFS5Bh1lwsPfL5wOkZBL1eArGm+607VyTQb3rO4xwH83ZgrH53wLlz8typ Y8Tb3zTjHuLSYumhmVnkbBOElYJUnjrnUqLD/7lqXVJnmRtypDN9uXviM4TDNa9ttpxF oB4oIwXTL706QgyOJchGKLDMo4q0oLOFz/FfamF7TjTl+whC/uuZYOcraRs7havKUSwF SA2kXLI/d0DYMR1ObEjQIfTkd1KmEG5p7tu4YLW2NrGDIKzJ0R2gRDIi3lfln0+yb9xN zP7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=BlQgbi4ZiqshWPP+XF8cyXN8ITembUB6JIZgyq618PY=; b=v5tIDpk+nz3dcx5hDcitNEEqx4xcBb40etXBzv3uWAe/JE1bPyQkLgYDWs3UNdx7uM ZnkUQ6xqy9dCkhZMgfPSMwSOOQnYVTj8ftuQa6UgiHli/QeKkndj4g4PsIKQcFuxtwhZ LN8FxAoytLt18YTWyo/l6dTuAPH10lwsHrEc9CR4Xv53XZoOoVE3DAQr54y9lDHeApuU k89oNdcxg/GzNXzcBamzTVEBs4V825ef+jWk7293HmEmMWl5SdDl6hVU7FLDDbWR0RkG zDqNezSNvBNfYXDquO7xt35366pMWWOtcouUIl0vOauTmlBxx0qinN0bNwvk2OnQ22Ko 50JQ== X-Gm-Message-State: AJIora/rtxtb55qI1p2aBDbXj+S59PdptuGgtIDjlnUwd17EVF+37Kqx LvDAWswDkIBJ5B7KF83Zq0Q= X-Google-Smtp-Source: AGRyM1t3dsgX9x3RD9QVFM4h522TD0KlX5G6PacYvXJ/AV2oOcJPn/QyUS1z2COhe2SQqZkkjEzNeA== X-Received: by 2002:a17:90b:394c:b0:1f1:fd26:19e6 with SMTP id oe12-20020a17090b394c00b001f1fd2619e6mr3051223pjb.98.1658289275652; Tue, 19 Jul 2022 20:54:35 -0700 (PDT) Received: from localhost ([115.154.175.57]) by smtp.gmail.com with ESMTPSA id in2-20020a17090b438200b001ec85441515sm398316pjb.24.2022.07.19.20.54.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Jul 2022 20:54:35 -0700 (PDT) From: Ihor Radchenko To: Yuchen Pei Cc: emacs-orgmode mailing list , haskell-cafe Subject: Re: An org backend to Haddock In-Reply-To: <87pmi1w4ft.fsf@ypei.me> References: <87k08azl1d.fsf@ypei.me> <87sfmx4325.fsf@localhost> <87pmi1w4ft.fsf@ypei.me> Date: Wed, 20 Jul 2022 11:55:40 +0800 Message-ID: <87cze04ev7.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::1035; envelope-from=yantar92@gmail.com; helo=mail-pj1-x1035.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, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1658289326; 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=BlQgbi4ZiqshWPP+XF8cyXN8ITembUB6JIZgyq618PY=; b=djjd6AC9zg60pNGPFHRu25tDmWEX3AA6AhKSKb9yeGDLsVK86YxbEJc+KkYjTzcLtXxnZk M4yCSEuE6T40emrJFfpNWboV7dpNJXQ4PKNxOqcXQNQOdHARMJlmSORsJTJfFpAPFw9jUh AOLYaBQjdyeLqsFajOfmx7qUVxyqy1d4sC7y6KvVnpKFsWEen/OHfdhMjCrNDaDA45It/l BQDeHxtmZC6YCdVE9HABkgvjbEtwBMgZh0wiccALUW7N56RCj2dfDY8vgjhVmqbLmLTkXN 1oS88cIw6crQNTCMZkLwSOv1ixPzw0yWY3U6ywru/PKZ3Z4D6fZ0FYdOXbmoIg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1658289326; a=rsa-sha256; cv=none; b=WY5zSZikF812Nl4AJnX+r1/cThfihhtwtkLoIZeilsIbGysd7PcqHjH379PQNl2hRXIqHd N84xo9ThOqYEOcM4Tmyra3nlPUkO0KpRkkVFo31ghh2tKLy62gVT3vdnDfoIfvaFjELauJ LExSry9/NYV8eVfz4M68uj3FOhiHMjAjvpXF40cMqvqzQD01/3gAQI+vIz6lWqmuN6fjSc AWeGMRX6s+dlSUNSeVlNo1UT0s3TmLpGbQAp/UtGdNilxitckbByBlAP4oSubQSn50XSh/ xKcDWTOOn5IBi0+P0l7ETgAGq7HT+DYQrct6E2uVW0hyH5zpr/dZVLcewh2H/g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=VW85Skmt; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Spam-Score: -8.74 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=VW85Skmt; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Queue-Id: 7AEAA212E0 X-Spam-Score: -8.74 X-Migadu-Scanner: scn0.migadu.com X-TUID: WA9rORJZ822d Yuchen Pei writes: > I do wonder what is the best way to handle cross-package links. > Currently I'm using CUSTOM_ID in the format of > package-name-x.y.z.Module.Name.IdentifierName, as well as > Module.Name.IdentifierName. But this is a "one big org file" approach, > and can make navigation slow when say the org file reaches 15+MB in > size. > Ideally one should be able to navigate the a hackage worth of > documentations easily, with working cross-package links and low latency > org-goto to jump to any identifier or module, but I don't see how to > achieve that. To be further investigated. If you know the file path, you can always explicitly link to a headline in that file: (4.8 Search Options in File Links) [[file:~/code/main.c::255]] [[file:~/xx.org::My Target]] [[file:~/xx.org::*My Target]] [[file:~/xx.org::#my-custom-id]] [[file:~/xx.org::/regexp/]] [[attachment:main.c::255]] Also, you can make use of org-id and set org-id-extra-files as a directory-local/file-local variable, possibly providing an Elisp sexp to perform auto-calculation. Finally, 15+Mb files should no longer be a problem in future releases of Org. I am using a 20Mb notes files with no major problems daily (on latest development version of Org). Best, Ihor