Skip to content

Net::IMAP Client docs - #74

Merged
nevans merged 17 commits into
masterfrom
client-docs
Dec 22, 2022
Merged

Net::IMAP Client docs#74
nevans merged 17 commits into
masterfrom
client-docs

Conversation

@nevans

@nevansnevans commented Nov 21, 2022

Copy link
Copy Markdown
Collaborator

This is a draft of my rdoc changes to the Net::IMAP class. It cherry-picks from several other PRs:

I also made several PRs to ruby/rdoc for the 6.5.0 release, and I think they make a big difference to how this renders!

The output of rake rdoc can be viewed here: https://nevans.github.io/net-imap/Net/IMAP.html


Some of my documentation changes were removed from this branch, because they will be obsoleted soon (I hope!).

@nevans

Copy link
Copy Markdown
CollaboratorAuthor

@shugo: the reference to nevans/rdoc has been removed from this PR.

@shugoshugo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It looks fine!

@nevans
nevansforce-pushed the client-docs branch 2 times, most recently from 70d9af7 to d5d4271CompareNovember 23, 2022 15:35
* Escape some text that shouldn't be linked, e.g. IMAP.
* Link some text that should be linked:
* removing "+" to let classes link
* Remove `Net::IMAP::` prefix from response data class names. The
redundant prefix breaks up the reading flow of the text. Examples
will still use fully-qualified names, and readers should generally be
able to see that the classes/modules are in Net::IMAP, from context.
* Add headings and convert text to headings.
* Reduce headings inside method docs to h5 (call-seq renders like h4).
* Add <tt> or "+" to code or verbatim text.
* To match the tweaks to rdoc's darkfish template, convert definition
lists to "note" vs "label" style lists for table vs lists.
* Add ">>>" with <em> to highlight important "aside" notices.
* Add :nodoc: to ResponseErrors.
* Document capabilities at the class-level, linking to #capability for
details.
* Add "Basic IMAP4rev1 capabilities" and "Using IMAP4rev1 extensions"
sections to the #capability rdoc.
* Add relevant capabilities to the rdoc for every command extension.
* Update existing capability docs to the same consistent format.
* Add TODO comment for unsupported LIST-EXTENDED
Every IMAP command method now links to the RFC section that defines it.
There are a lot of IMAP commands! This makes it easier to navigate
between them. Hopefully this makes it easier to learn the IMAP4rev1
protocol and its extensions, as well.
* Link to UIDPlusData for commands that can return it:
`#append`, `#copy`, and `#move`
* Update `#uid_expunge` to avoid "UID set", which has slightly different
semantics from "sequence set of UIDs".
* Add paragraph to class-level docs, about expunge messages.
* Add explanation to #noop docs, explaining EXPUNGE responses
* Update #uid_expunge docs with method link instead of command name.
@nevans
nevansforce-pushed the client-docs branch 4 times, most recently from e2fddbc to 07b1e8bCompareDecember 20, 2022 19:57
@nevans
nevans marked this pull request as ready for review December 20, 2022 19:59
The documentation on these methods is meant to complement a new
SASL::Authenticator base class and new documentation on each of the
individual authenticator classes. See #78 and #82.
That base class is added in another PR (#78), but the documentation for
these methods can be updated without it.
Also, somehow I misremembered `LOGINDISABLED`: it only applies to
`LOGIN`, not `AUTHENTICATE`! This fixes that error.
Add a note about the implicit UID message data item.
Makes it just a little bit simpler.
This "What's here?" section is based on the new documentation style for
many core ruby classes. It isn't purely a list of methods; paragraphs
of explanatory text are interspersed.
*Many* "TODO" comments are added too, hidden from rdoc by `--` and `++`.
Without resetting to the default section, code that's loaded later may
be documented in the wrong place
@nevans

Copy link
Copy Markdown
CollaboratorAuthor

@shugo I've updated this since the last time you looked at it... sorry if the rebasing makes it hard to see the differences! I tried to make each individual commit reviewable on its own. Let me know if you have any concerns with merging it.

@nevans

nevans commented Dec 22, 2022

Copy link
Copy Markdown
CollaboratorAuthor

@BurdetteLamar Since you've been doing so much documentation for core and stdlib, I'm curious if you have any thoughts on this (the latest version is rendered here: https://nevans.github.io/net-imap). This is a big PR, so I understand if you don't have time for it any time soon!

@shugoshugo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It looks fine 👍

@nevans
nevans merged commit 4d4866e into masterDec 22, 2022
@nevans
nevans deleted the client-docs branch December 22, 2022 15:05
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nevans@shugo