* Proposal: Include css for docs in emacs repo @ 2024-12-03 3:32 Daniel Radetsky 2024-12-03 13:02 ` Eli Zaretskii 0 siblings, 1 reply; 4+ messages in thread From: Daniel Radetsky @ 2024-12-03 3:32 UTC (permalink / raw) To: emacs-devel I would like to build the emacs manuals for local use. This means the one-page-per-node manuals. Ideally, I'd like to build them with one command, and generate a self-contained directory I could chuck somewhere (e.g. under my designated serve-docs-from-local dir) and be able to browse them just like I can on the gnu site. Even if the docs build itself didn't currently leave something to be desired, the built docs will contain the following <style type="text/css"> @import url('/software/emacs/manual.css'); </style> Which refers to css not included in the repo itself. I'm not sure if it's included in any repo. Personally, I just downloaded the file (and the style.css file it referenced) off of gnu.org. It would be nice if instead, these 2 files were placed in a manual-assets/ dir alongside emacs/ elisp/ and friends, and if the manuals were to reference the manual.css file contained in this dir with a relative path, rather than the one at /software/emacs/manual.css. There's no reason why gnu.org couldn't override this file somehow, such that e.g. all manuals served from gnu.org would continue to use /software/emacs/style.css instead of the relative one, although I can't see why you'd want to. But you could. Anyway, I could concievably hack on the manual-generating scripts myself (especially if the release-process docs were a little clearer), but it won't actually accomplish my purpose if we haven't moved the css to the emacs repo. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Proposal: Include css for docs in emacs repo 2024-12-03 3:32 Proposal: Include css for docs in emacs repo Daniel Radetsky @ 2024-12-03 13:02 ` Eli Zaretskii 2024-12-04 0:25 ` Daniel Radetsky 0 siblings, 1 reply; 4+ messages in thread From: Eli Zaretskii @ 2024-12-03 13:02 UTC (permalink / raw) To: Daniel Radetsky; +Cc: emacs-devel > Date: Mon, 2 Dec 2024 19:32:39 -0800 > From: Daniel Radetsky <dradetsky@gmail.com> > > I would like to build the emacs manuals for local use. This > means the one-page-per-node manuals. Ideally, I'd like to > build them with one command, and generate a self-contained > directory I could chuck somewhere (e.g. under my designated > serve-docs-from-local dir) and be able to browse them just > like I can on the gnu site. > > Even if the docs build itself didn't currently leave > something to be desired, the built docs will contain the > following > > <style type="text/css"> > @import url('/software/emacs/manual.css'); > </style> How do you get this? Is that by running the scripts in the admin/ directory, like make-manuals? Those scripts are for generating manuals we upload to the GNU Software Documentation site, they are not for users to generate HTML docs. For the latter purpose, you are supposed to say $ cd doc/emacs && make emacs.html HTML_OPTS='--html --split=node' > Which refers to css not included in the repo itself. I'm not > sure if it's included in any repo. It is part of the Emacs "webpages" repository, which you can browse here: http://web.cvs.savannah.gnu.org/viewvc/emacs/emacs/ > Personally, I just > downloaded the file (and the style.css file it referenced) > off of gnu.org. It would be nice if instead, these 2 files > were placed in a manual-assets/ dir alongside emacs/ elisp/ > and friends, and if the manuals were to reference the > manual.css file contained in this dir with a relative path, > rather than the one at /software/emacs/manual.css. I don't see a need to include this in the Emacs Git repository. The stuff related to the Web documentation is maintained in a separate repository for a reason. > Anyway, I could concievably hack on the manual-generating > scripts myself (especially if the release-process docs were > a little clearer), but it won't actually accomplish my > purpose if we haven't moved the css to the emacs repo. The way these scripts are used is described in admin/make-tarball.txt. You will see there that the produced HTML manuals are moved to the separate webpages repository and sent upstream from there; the file manual.css is part of that repository. So there's no need to mix this with the Emacs sources, because Emacs users are not supposed to produce manuals in the format used for the GNU Documentation web site. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Proposal: Include css for docs in emacs repo 2024-12-03 13:02 ` Eli Zaretskii @ 2024-12-04 0:25 ` Daniel Radetsky 2024-12-04 12:51 ` Eli Zaretskii 0 siblings, 1 reply; 4+ messages in thread From: Daniel Radetsky @ 2024-12-04 0:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On Tue, Dec 03, 2024 at 03:02:30PM +0200, Eli Zaretskii wrote: > How do you get this? Is that by running the scripts in the admin/ > directory, like make-manuals? Yes, that's what I did. > For the latter purpose, you are supposed to say > > $ cd doc/emacs && make emacs.html HTML_OPTS='--html --split=node' Thanks, although I didn't realize that. I spent some time looking around for how to do it, but didn't figure it out. Does that mean I'm not very smart, or that the process is not very intuitive, or some combination of both? Hard to say. > I don't see a need to include this in the Emacs Git repository. The > stuff related to the Web documentation is maintained in a separate > repository for a reason. I'm not sure I'd call it a "need" but the reason is that so that as a user, I can build the html docs for personal use without having to do weird stuff like manually downloading the css from gnu.org. Also, as somebody who is working on the docs, it's desirable to be able to build the docs exactly as they would appear to a user on gnu.org. Otherwise, I'll end up doing some kind of works-on-my-machine hack to get the css into my local build, and then the docs go up for regular users and look incorrect. > The way these scripts are used is described in admin/make-tarball.txt. > You will see there that the produced HTML manuals are moved to the > separate webpages repository and sent upstream from there; the file > manual.css is part of that repository. So there's no need to mix this > with the Emacs sources, because Emacs users are not supposed to > produce manuals in the format used for the GNU Documentation web site. Sure, but some emacs users don't play by your rules, maaaaan [takes a hit of joint]. I suppose it would work to just download style.css from the repo when I wanted to make a user-type (as opposed to admin-type) html docs build. We could also include a custom version of manual.css (but not style.css) for this use intended to just point to a relative path. rather than an absolute path. Would some version of this be acceptable? --dmr ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Proposal: Include css for docs in emacs repo 2024-12-04 0:25 ` Daniel Radetsky @ 2024-12-04 12:51 ` Eli Zaretskii 0 siblings, 0 replies; 4+ messages in thread From: Eli Zaretskii @ 2024-12-04 12:51 UTC (permalink / raw) To: Daniel Radetsky; +Cc: emacs-devel > Date: Tue, 3 Dec 2024 16:25:28 -0800 > From: Daniel Radetsky <dradetsky@gmail.com> > Cc: emacs-devel@gnu.org > > On Tue, Dec 03, 2024 at 03:02:30PM +0200, Eli Zaretskii wrote: > > How do you get this? Is that by running the scripts in the admin/ > > directory, like make-manuals? > > Yes, that's what I did. > > > For the latter purpose, you are supposed to say > > > > $ cd doc/emacs && make emacs.html HTML_OPTS='--html --split=node' > > Thanks, although I didn't realize that. I spent some time > looking around for how to do it, but didn't figure it out. > Does that mean I'm not very smart, or that the process is > not very intuitive, or some combination of both? Hard to > say. Which part(s) are missing? The makeinfo option to produce HTML split by node is documented in the Texinfo manual (where makeinfo is documented), and the rest you can find by looking at doc/emacs/Makefile in the source tree, like any other Make target that isn't run as part of the standard build. > > I don't see a need to include this in the Emacs Git repository. The > > stuff related to the Web documentation is maintained in a separate > > repository for a reason. > > I'm not sure I'd call it a "need" but the reason is that so > that as a user, I can build the html docs for personal use > without having to do weird stuff like manually downloading > the css from gnu.org. See above: users are not supposed to build the HTML versions of the manuals this way, and thus don't need to run these scripts or use that file. That's why the scripts are in the admin directory and not in the doc directory. You don't need that file unless you run the scripts in admin to produce the manuals in the form we upload them to the GNU Documentation site. > Also, as somebody who is working on > the docs, it's desirable to be able to build the docs > exactly as they would appear to a user on gnu.org. No, because the manuals produced for the GNU Documentation site have specific requirements which are not relevant to users who want to produce the HTML docs locally. The main reason for using that CSS file is to make sure the produced manuals match the general look-and-feel of the other GNU manuals on the GNU site, and fit well into the menu structure of that site. These requirements are not relevant to users, and IMO are a big PITA, but we must comply to them when we upload manuals to the GNU site. > > The way these scripts are used is described in admin/make-tarball.txt. > > You will see there that the produced HTML manuals are moved to the > > separate webpages repository and sent upstream from there; the file > > manual.css is part of that repository. So there's no need to mix this > > with the Emacs sources, because Emacs users are not supposed to > > produce manuals in the format used for the GNU Documentation web site. > > Sure, but some emacs users don't play by your rules, maaaaan > [takes a hit of joint]. That's fine, but you cannot expect the Emacs maintainers to bear the additional burden of what you want to do locally for your personal needs that are not supported by the project for users in general. I've told you where this file is stored, so you can in the future download it from that repository, and do whatever you want. > I suppose it would work to just download style.css from the > repo when I wanted to make a user-type (as opposed to > admin-type) html docs build. We could also include a custom > version of manual.css (but not style.css) for this use > intended to just point to a relative path. rather than an > absolute path. Would some version of this be acceptable? Sorry, no. Producing the manuals in the format for that site is an annoying job, it takes quite some time, produces several versions of the manuals, is prone to errors (in particular, the code in admin.el edits the resulting HTML, and might fail spectacularly if one happens to use a version of Texinfo not close enough to the one for which the scripts were prepared), and is quite tedious. I object to asking us to keep this stuff in good enough order for general user audience just because you want for some reason to use them for your local HTML manuals, something that is not what we recommend doing in those cases. The CSS file itself is not the problem, but it is the tip of a very large iceberg, in particular because the files are kept in a separate repository under a different VCS, and cross-linking these two repositories is not really a good idea, and neither is duplicating the file. Sorry. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-12-04 12:51 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-12-03 3:32 Proposal: Include css for docs in emacs repo Daniel Radetsky 2024-12-03 13:02 ` Eli Zaretskii 2024-12-04 0:25 ` Daniel Radetsky 2024-12-04 12:51 ` Eli Zaretskii
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.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).