emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@gmail.com>
To: Yuchen Pei <id@ypei.org>
Cc: emacs-orgmode mailing list <emacs-orgmode@gnu.org>,
	 haskell-cafe <haskell-cafe@haskell.org>
Subject: Re: An org backend to Haddock
Date: Wed, 20 Jul 2022 11:55:40 +0800	[thread overview]
Message-ID: <87cze04ev7.fsf@localhost> (raw)
In-Reply-To: <87pmi1w4ft.fsf@ypei.me>

Yuchen Pei <id@ypei.org> 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



      reply	other threads:[~2022-07-20  3:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-18 12:02 An org backend to Haddock Yuchen Pei
2022-07-19 13:58 ` Ihor Radchenko
2022-07-19 14:41   ` Yuchen Pei
2022-07-20  3:55     ` Ihor Radchenko [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87cze04ev7.fsf@localhost \
    --to=yantar92@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=haskell-cafe@haskell.org \
    --cc=id@ypei.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).