public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kinney, Michael D" <michael.d.kinney@intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: TianoCore-docs GitBook Documentation Process
Date: Tue, 11 Jul 2017 15:21:32 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5A7D5951F@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <E92EE9817A31E24EB0585FDF735412F5A7D5902E@ORSMSX113.amr.corp.intel.com>

Laszlo,

I found a GitBook plugin that can provide the branch name and
the SHA hash in either short or long form.

https://plugins.gitbook.com/plugin/gitversion

Here is an example patch to the EDK II Template Specification
That add this plugin to book.json and add the branch name and
SHA hash below the build time/date stamp of the document.

diff --git a/README.md b/README.md
index 30edb2a..4ad8a96 100644
--- a/README.md
+++ b/README.md
@@ -41,6 +41,10 @@

 ** {{ gitbook.time|date('MM/DD/YYYY hh:mm:ss') }} **

+** {{ "GIT branch: " | gitBranch }} **
+
+** {{ "GIT hash: " | gitLong }} **
+
 {% if book.udkrelease %}
 ** {{ book.udkrelease }} **
 {% endif %}
diff --git a/book.json b/book.json
index 8c58ffe..d94cbcc 100644
--- a/book.json
+++ b/book.json
@@ -5,6 +5,6 @@
     "version" : "Revision 0.20"
   },

-  "plugins": ["puml"],
+  "plugins": ["puml", "gitversion"],
   "pluginsConfig": {}
 }

Best regards,

Mike

> -----Original Message-----
> From: Kinney, Michael D
> Sent: Monday, July 10, 2017 9:44 AM
> To: Laszlo Ersek <lersek@redhat.com>; Kinney, Michael D
> <michael.d.kinney@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: RE: [edk2] TianoCore-docs GitBook Documentation Process
> 
> Hi Laszlo,
> 
> Thanks for the quick feedback on this content.
> 
> Reponses included below, and I have already made some
> updates to the wiki based on your feedback.
> 
> Mike
> 
> > -----Original Message-----
> > From: Laszlo Ersek [mailto:lersek@redhat.com]
> > Sent: Saturday, July 8, 2017 2:36 PM
> > To: Kinney, Michael D <michael.d.kinney@intel.com>
> > Cc: edk2-devel@lists.01.org
> > Subject: Re: [edk2] TianoCore-docs GitBook Documentation
> Process
> >
> > Hi Mike,
> >
> > On 07/08/17 02:37, Kinney, Michael D wrote:
> > > Hello,
> > >
> > > I have added wiki pages that provide an overview of the
> > GitBook documentation
> > > process for TianoCore related documents.  These wiki pages
> are
> > attached to the
> > > EDK II Template Specification repository.  The link to the
> > approved RFC on this
> > > topic is also provided.
> > >
> > > https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki
> > >
> > > https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki/TianoCore-Documents-GitBook-
> > Overview#introduction
> > >
> > > I have also added a link to this content from the EDK II
> > Specification wiki page:
> > >
> > > https://github.com/tianocore/tianocore.github.io/wiki/EDK-
> II-
> > Specifications
> > >
> > > Please review and provide feedback if there are steps that
> are
> > missing or need clarification.
> >
> > This is a large set of articles, it must have been a lot of
> > work!
> >
> > I have four questions/ideas:
> >
> >
> > (1) The article at
> > <https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki/TianoCore-Documents-Services>
> > says,
> >
> >   3. Join the TianoCore-Docs organization on GitHub
> >
> > Can you send an invite? :) On the org page
> > <https://github.com/tianocore-docs/>, I looked for a button
> > saying
> > "request an invite" or some such, but came up empty.
> >
> > So what is the github way for joining an organization? I guess
> > the org
> > can send out invites at will, but "solicitation" in the other
> > direction
> > has to occur off-site? (Such as on this mailing list?)
> 
> I do not see a way for a developer to do the request either, so
> sending
> an invite looks to be the way to go here.  I would like the EDK
> II
> Maintainers that have write access to code to have same write
> access to
> Docs.  I will send those invites.
> 
> If anyone else wants write access that is not an EDK II
> Maintainer,
> then they would have to send an email request to edk2-devel.
> 
> I have updated the following page with the email request
> instructions
> 
>   https://github.com/tianocore-docs/edk2-
> TemplateSpecification/wiki/TianoCore-Documents-Services
> 
> >
> >
> > (2) The article at
> > <https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki/TianoCore-Documents-GitBook-
> Overview>
> > explains that there is some kind of (automated) syncing from
> the
> > tianocore-docs repos to GitBook.com.
> >
> > In case I'm looking at one of the official document git repos
> on
> > GitHub,
> > such as <https://github.com/tianocore-docs/SecurityAdvisory>,
> > what is
> > the fastest way to see an HTML rendered "DRAFT" (matching the
> > master
> > branch) on GitBook.com? Is there some URL pattern that one can
> > compose
> > manually, or is there a way to search for the book quickly on
> > GitBook.com?
> 
> A couple ways:
> 
> 1) Goto the GitBook homepage for tianocore-docs
> 
> 		https://www.gitbook.com/@edk2-docs
> 
>    All the books are listed and you can select any one
>    of them.  The main page for a book has a "Read" button
>    for the HTML version and a drop down box for PDF, MOBI,
>    EPUB.
> 
>    I have added this link to the intro paragraph and the
> "Resources"
>    section on the TianoCore Documents GitBook Overview wiki
> page:
> 
>    https://github.com/tianocore-docs/edk2-
> TemplateSpecification/wiki/TianoCore-Documents-GitBook-Overview
> 
> 
> 2) Goto GitBook.com, select "Explore" tab at the top, and enter
>    keywords into searchbox in upper right.
> 
>    If you type in a keyword such as "edk2" or "tiano" or
> something
>    more specific like "fdf" you will see the search results
>    for the books.  If you select one of the books, it will take
> you to
>    the main page for that book where you can select the "Read"
> button
>    to read the HTML version, and there is a drop down for the
> PDF, MOBI,
>    and EPUB versions.
> 
> >
> > In
> > <https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki/TianoCore-Documents-Releasing>,
> > I see
> >
> >   7. Wait a few minutes and verify that the released version
> of
> > the
> >      document has been published by the GitBook server
> >
> > Verify how?
> >
> > Hmmm... OK, so I think I found the links. They are on this
> page:
> >
> > https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-
> > Draft-Specification
> >
> > The HTML link patterns are like:
> >
> > https://edk2-docs.gitbooks.io/edk-ii-build-specification/
> > https://edk2-docs.gitbooks.io/edk-ii-dec-specification/
> > https://edk2-docs.gitbooks.io/edk-ii-inf-specification/
> >
> > I think this is a bit cumbersome. What do you think of the
> > following
> > suggestion: in each document source code repository, modify
> the
> > README.md file so that at the top, it offer a set of links,
> > saying:
> >
> >     View this DRAFT specification rendered as:
> >     [HTML] -> link points to gitbook.com
> >     [PDF] -> link points directly to PDF download from
> > gitbook.com
> >
> 
> Finding the links to the latest draft of a document can be found
> by looking for the document on https://www.gitbook.com/@edk2-
> docs.
> 
> However, finding release branch versions is more challenging.
> 
> I like the idea of the links being in the README.md.  Maybe as
> hyperlinks in the Revision History section or the in the file
> header comment block at the top of the file.  I will experiment
> with a few styles and will propose some formats.
> 
> >
> > (3) (This is somewhat similar to (2).)
> >
> > Assuming I make a local docs change, and push it to my
> personal
> > fork on
> > GitHub, how can I review that change on GitBook.com, rendered
> as
> > HTML
> > (or, say, PDF)?
> >
> > The article at
> > <https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki/TianoCore-Documents-Editing>
> > says,
> >
> >   14. Push branch to developer's fork of the documents
> > repository
> >       * GitBook project linked to developer's fork of the
> > document can
> >         also be setup and used to review the changes and
> > formatting
> >         before sending patch review email to the community.
> >
> > How can I do this linking?
> 
> I did not write up the details on this yet.  Basic concept is
> that
> you create a personal GitBook account and you enable the GitHub
> integration feature.  Then you create a new document in your
> personal
> GitBook area, and you have the option to link to a GitHub repo.
> Select
> your personal GitHub repo(that is a fork of tianocore-docs repo)
> for
> the document and GitBook publishes the docs in your personal
> GitBook
> account.
> 
> I did not end up using this method, because the builds I could
> do on
> my local system were good enough for me to do edits and review
> the
> locally published docs.  I have noted some minor differences
> between
> the local builds and the official GitBook builds, but those are
> mainly
> in the header/footer content on PDF formats.
> 
> >
> > (I'm aware that a local npm / gitbook toolchain can be used
> for
> > reviewing the rendered output locally, but I'm curious about
> > this
> > "remote rendering" service too.)
> >
> > In particular, the article at
> > <https://github.com/tianocore-docs/edk2-
> > TemplateSpecification/wiki/TianoCore-Documents-Services>
> > does not say that a developer can, or should, register an
> > account
> > separately on GitBook.com, and set up periodic pulls for
> his/her
> > personal GitHub repos. Is that how it's supposed to work? (I'm
> > just
> > guessing.)
> 
> A GitBook account is not required.  With the GitHub integration
> that
> GitBook provides, we can focus the account management in the
> GitHub
> side and do all content changes in GitHub repos.  The GitBook
> integration with GitHub is actually a bidirectional sync, so I
> found
> it confusing to do edits from both sides.  Also, an edit from
> the
> GitBook side does not follow the TianoCore patch/review process.
> 
> There are no issues with using a personal GitBook account on a
> personal fork of a document and using GitBook side to do edits
> and view the published documents.  But the commits will have to
> be cleaned up before sending to edk2-devel for review.
> 
> >
> > ... Hmmm okay, according to <https://www.gitbook.com/>, at
> least
> > a
> > separate account doesn't appear necessary.
> >
> > Reiterating the above README.md idea, the DeLuxe solution
> would
> > be if we
> > could place some kind of macro near the top of the README.md
> > file that
> > would automatically point to the GitBook.com rendering of the
> > *referring* repository. So if you clicked the link while
> viewing
> > an
> > official source repo of the tianocore-docs org, GitBook.com
> > would give
> > you a rendering of that, but if you clicked the same link in a
> > personal
> > src repo, GitBook.com would provide a rendering of *that*.
> >
> > Anyway, this level of automation is not necessary, I'd just
> like
> > to
> > understand what the most direct way is to get GitBook.com
> render
> > any
> > branch from either an official docs repo, or a personal docs
> > repo.
> 
> I will do some experiments with these ideas.
> 
> >
> >
> > (4) It would be nice if the (semi-)live renderings on
> > GitBook.com
> > automatically displayed the git commit hash of the source
> that's
> > been
> > rendered.
> >
> > I see there's a timestamp, for example at
> > <https://edk2-docs.gitbooks.io/edk-ii-dec-
> > specification/content/>:
> >
> >      DRAFT FOR REVIEW
> >      04/27/2017 01:14:37
> >
> > But: there is no time zone, plus I don't know what event that
> > timestamp
> > identifies. Patch authorship date? Patch commit date? Pull
> date?
> > Rendering date? A commit hash would be better. (Not sure if we
> > can do
> > anything about this; perhaps this would be a new GitBook.com
> > feature.)
> 
> I believe the timestamp represent the time that the GitBook
> server
> performed the publication action.  Which is a few seconds to a
> few
> minutes after the last commit(depending on the size of the doc).
> 
> Adding the SHA hash is a good idea.  I will see if there is a
> way
> to do that.
> 
> >
> >
> > Sorry if (some of) these questions are already explained in
> the
> > Wiki,
> > it's quite a bit of info to absorb at once :)
> >
> > Thanks!
> > Laszlo

  parent reply	other threads:[~2017-07-11 15:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-08  0:37 TianoCore-docs GitBook Documentation Process Kinney, Michael D
2017-07-08 21:35 ` Laszlo Ersek
2017-07-10 16:43   ` Kinney, Michael D
2017-07-10 20:38     ` Laszlo Ersek
2017-07-11 15:21     ` Kinney, Michael D [this message]
2017-07-11 17:05       ` Laszlo Ersek
2017-07-11 17:15         ` Kinney, Michael D
2017-07-12 18:12     ` Kinney, Michael D
2017-08-11 16:30     ` Laszlo Ersek

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-list from there: mbox

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

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

  git send-email \
    --in-reply-to=E92EE9817A31E24EB0585FDF735412F5A7D5951F@ORSMSX113.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox