Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Documentation update: Fixes issue #1557#1662

Merged
sugar700 merged 85 commits into
fish-shell:masterfish-shell/fish-shell:masterfrom
MarkGriffiths:documentation-updateCopy head branch name to clipboard
Sep 12, 2014
Merged

Documentation update: Fixes issue #1557#1662
sugar700 merged 85 commits into
fish-shell:masterfish-shell/fish-shell:masterfrom
MarkGriffiths:documentation-updateCopy head branch name to clipboard

Conversation

@MarkGriffiths

Copy link
Copy Markdown
Contributor
  • Moves entire documentation to Markdown format. Much simpler.
  • Fully supports Doxygen 1.8.7+
  • All documentation targets updated: user_doc, share/man, doc and doc/refman.pdf.
  • Tested across Ubuntu, CentOS and Mac OS.

Output preview:

Rework for Doxygen >1.8. Moved large parts of the documentation to a
simplified format, making use of Markdown enhancements and fixing bad
long options.
Subllime and a few temporary files.
Conflicts:
	doc_src/history.txt
	doc_src/test.txt
Addresses issue #1557 as well as fixing many typos, HTML errors and
inconsistencies. Also introduces automatic syntax colouring and enables
new documentation to be written in Markdown. TODO fix Tutorial.
 Fixed manpage 'NAME'. Under Doxygen 1.8, the output format has
changed, so the old sed script was leaving man pages with two titles.
Conflicts:
	doc_src/index.hdr.in -- UPDATED
	doc_src/license.hdr -- UPDATED
This reverts accidentally included files in commit
60b9f8d.
This rolls back to commit 60b9f8d.
If the lexicon input filter isn't specified (as is the case in the
current Xcode project, the script quietly continues without it.
Completely fixes #1557 and the underlying Doxygen changes that caused
it. Should make fish docs simpler and more robust, more consistent and
generally prettier.

todo:
- trap unmarked text as arguments in context
- test & fix sed portability - see in particular. (so far tested on BSD
(Mac) and GNU sed).
- test Makefile changes
- last round of aesthetic changes and getting that ascii fish in there…
Conflicts (FIXED):
	.gitignore
	doc_src/complete.txt
	doc_src/function.txt
Conflicts (FIXED):
	doc_src/command.txt
	doc_src/index.hdr.in
	doc_src/read.txt
	doc_src/type.txt
@MarkGriffiths

Copy link
Copy Markdown
Contributor Author

Done, and preview links above updated.

Full rationale/style guide in user_doc/FORMATTING.md (also posted in issue #1557)

@sugar700 sugar700 added this to the next-minor milestone Sep 7, 2014
@sugar700

sugar700 commented Sep 7, 2014

Copy link
Copy Markdown
Contributor

Approved 👍.

Normally, I would merge a commit after approving it. However, this is a big change (24,380 new lines is huge, even if there is a good reason for that), so I would prefer to wait with merging for other fish shell contributors to approve this particular pull request.

@MarkGriffiths

Copy link
Copy Markdown
Contributor Author

Totally understandable. It took that amount of editing to catch everything in doc_src - mind you, just the three updated Doxyfiles account for ~6000 lines of changes!

@lilyball

lilyball commented Sep 7, 2014

Copy link
Copy Markdown
Contributor

14425 of the added lines are a brand new Portuguese translation file, which apparently comes from the merge of master into this branch.

@lilyball

lilyball commented Sep 8, 2014

Copy link
Copy Markdown
Contributor

More generally, git diff --stat says that, compared to current master, this is 9951 insertions, 5732 deletions.

Comment thread Makefile.in Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be cd user_doc/html && rm -f ..., no? That way if the user_doc folder fails to be created in the first place, this won't attempt to delete files in the current directory.

@lilyball

lilyball commented Sep 8, 2014

Copy link
Copy Markdown
Contributor

Aside from the couple of Makefile.in changes that need to be done, :shipit:.

@lilyball

lilyball commented Sep 9, 2014

Copy link
Copy Markdown
Contributor

At this point I'm inclined to merge it, the only thing stopping me from hitting the switch right now is the fact that Doxygen 1.8.7 is not available by default on Ubuntu 14.04 and earlier, and likely other Linux distros as well. I'm not sure what process is used to build the nightlies or full releases, and whatever that process is, it needs to be able to build the docs.

@ridiculousfish or someone else who knows, is the Doxygen 1.8.7 requirement an issue or is this good to merge?

@zanchey

zanchey commented Sep 9, 2014

Copy link
Copy Markdown
Member

I wouldn't mind the chance to test it because I suspect the nightly builds will stop generating documentation.

@zanchey

zanchey commented Sep 12, 2014

Copy link
Copy Markdown
Member

OK, this definitely doesn't support 1.8.1.2 (which is in Debian Stable) - $extrastylesheet doesn't get expanded so there's no styling. I don't mind backporting on the machine which builds the nightlies, but I wonder whether someone could try 1.8.6 which the latest release of Ubuntu has, as does Fedora 20.

@MarkGriffiths

Copy link
Copy Markdown
Contributor Author

I tried 1.8.6 under Ubuntu and found that Doxygen is missing the new \htmlonly[block] directive which came in under 1.8.7 (the version that homebrew installed when I began working on this). The result of this was the word 'block' appearing at the top of each semantic block, i.e. the top of each page and above \fish blocks.

\htmlonly[block] is important for the docs as it keeps the block elements in the HTML output in the structural order expressed in the source (similar to using \parblock, but smarter) and it fixed many HTML structural issues that were present in the old documentation. Personally, I've been waiting for this feature for a long time!

In my own testing on Ubuntu and CentOS I had to build Doxygen (1.8.8) from GitHub source. I was hoping that as fish ships with prebuilt documentation that this wouldn't have been too much of an issue.

@zanchey

zanchey commented Sep 12, 2014

Copy link
Copy Markdown
Member

It certainly does ship with prebuilt documentation; my concern is the raising of the barrier for contributing to the documentation. However there are prebuilt binaries available on the Doxygen website so I think it would be reasonable to expect people to be able to download them. I think Markdown lowers the bar for contributing and I am very grateful for that! Let's merge.

sugar700 added a commit that referenced this pull request Sep 12, 2014
@sugar700
sugar700 merged commit 5c25be5 into fish-shell:master Sep 12, 2014
@davidxia

Copy link
Copy Markdown
Contributor

\o/ This is awesome!

@ridiculousfish

Copy link
Copy Markdown
Member

Holy cow!

@zanchey

zanchey commented Sep 17, 2014

Copy link
Copy Markdown
Member

Yikes. I just noticed the license on some of the files. Would you consider relicensing lexicon_filter either under the GPL2 like the rest of fish, or a permissive BSD-style license? "whatever terms are most compatible with Fish's GPLv2 license" is not clear. We should also add it to doc_src/license.hdr.

@MarkGriffiths

Copy link
Copy Markdown
Contributor Author

I don't consider it a serious or formal license in any way at all - it's simply intended as a tongue-in-cheek way of saying "blimey, I've spent far too much time, missed too much sleep and drunk too much coffee getting this right than would be considered sane, yet it's my gift to the fish community so I'd better say something...". My intention is that it should fall under fish's license completely and unreservedly. Apologies if that didn't come across, I simply hoped it would raise a smile, and in 20+ years of publishing software and digital media I've never had to enforce a license... British humour I guess 😉

I'm happy for that to be completely stripped out or modified in any way to make it clear.

That said, I felt it should say something as the filter's mechanism is fairly novel and self-contained and demonstrates how to create custom syntax colouring in Doxygen using an input filter - something often asked for in the Doxygen community, but rarely answered. It would be a useful template for others to start from.

@zanchey

zanchey commented Sep 18, 2014

Copy link
Copy Markdown
Member

That would be great. Would you forgive me for being the Fun Police and raise a PR with that change? It just needs to say "this code is licensed with fish under the GPL 2.0" but I would be happier if the commit had your authorship on it!

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Apr 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.