brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrea Turli <and...@cloudsoft.io>
Subject Re: [PROPOSAL] Split Brooklyn website and documentation
Date Fri, 06 Oct 2017 13:53:11 GMT
+1 Thomas, didn't know Gitbook at all (that's why I suggested readthedocs)
but looks pretty good!

Il 06/ott/2017 15:37, "Richard Downer" <richard@apache.org> ha scritto:

Hi Thomas,

I withdraw my previous comments - I looked at ReadTheDocs last year and was
pessimistic, but it seems that GitBook this year is a different story :-)

This is worth pursuing IMO. What did you need to do to get this working?
Did you have to do any work on the brooklyn-docs source - if so could you
share a link to your repo?

Thanks
Richard.


On 6 October 2017 at 13:18, Thomas Bouron <thomas.bouron@cloudsoftcorp.com>
wrote:

> Hi All.
>
> A demo is worth a thousand words so here is a gitbook adaptation of our
> current documentation[1] (and only documentation)
> This took me only a couple of hours. There are still things to
> fix/update/remove like unsupported liquid tags but for the most part, it
> works like a charm.
> Search is available from the search field on the top left and PDF[2],
> epub[3] amd mobi[4] versions are also available.
> The build took only 10 sec + 10 more per offline version.
>
> The table of content mirrors exactly what we currently have, except that I
> have limited it to only 2 sub-levels. It means that some pages are missing
> but I think it demonstrates that our current menu organisation could be
> vastly improved.
>
> Couple of thoughts on Alex's points:
>
> > * for the examples, import source code that is actually used in tests
> (!!!)
>
> Indeed, an overhaul does not solve it, nor our current framework. But both
> can implement it.
>
> > * check links
>
> Gitbook checks internal links at compile time and refuses to build if
> something is wrong. AFAIK, there is nothing in the Gitbook world to check
> the validity of external links like the Jekyll plugin does. There are
> probably external tools that we can integrate in our build pipeline to
> cover this. However, it seems that even if we have this tool, we don't use
> it when pushing the website (as I get a lot of errors locally)
> Realistically, we will always have broken links, things move around all
the
> time. Checking external links is a nice-to-have but far from being a
> perfect solution. In any case, I don't see this point as important as you
> do.
>
> > * think through user flow
>
> The clear Gitbook menu exposes this pretty well IMO and better compared to
> the current version so that's a win.
>
> Best.
>
> [1] https://tbouron.github.io/brooklyn-docs/
> [2] https://tbouron.github.io/brooklyn-docs/brooklyn.pdf
> [3] https://tbouron.github.io/brooklyn-docs/brooklyn.epub
> [4] https://tbouron.github.io/brooklyn-docs/brooklyn.mobi
>
>
> On Thu, 5 Oct 2017 at 12:47 Richard Downer <richard@apache.org> wrote:
>
> > Thank you for the research you have done Thomas. I've had similar
> thoughts
> > myself. The original goal of our web+docs was to integrate them in such
a
> > way that we had a versioned user guide that integrated perfectly with
the
> > main website. At the time, Markdown tools were relatively immature, with
> > Jekyll leading the pack (and being the fashionable choice), and very
> little
> > in the way of viable apps for generating books with structure and tables
> of
> > contents. We did the best we could with the tools we had, but they
needed
> > significant extensions (via Jekyll plugins and build scripting). Those
> > plugins and scripts have turned into something fairly hairy - IMO we
> > shouldn't need to have to write this much code[1] to generate a static
> site
> > and manual. With hindsight, I would not have argued in favour of this
> > model. If I do write my book[2] I will most likely be writing it in
> > ReStructuredText and processing it with Sphinx (and no additional
> > scripting/tooling!).
> >
> > That said, when I have looked at changing Brooklyn's documentation
> system,
> > it has not looked easy. With our home-grown TOC generating code, we're
> not
> > off-the-shelf compatible with other systems. Moving to another system,
> even
> > if it is Markdown-based, would still involve a lot of manual work
> changing
> > our document metadata to the new system, and adapting to replace the
> Jekyll
> > plugins and the content that uses them (e.g. syntax highlighting, file
> > inclusion). Unless you have discovered something I didn't, Thomas, then
I
> > fear this will be a lot of work, mostly manual.
> >
> > In short, yes I like the idea of replacing our home-grown and
> > home-maintained code with an existing and supported app, but no I don't
> > think the effort of a big-bang migration justifies the results *at this
> > time*.
> >
> > Some things I would support:
> >
> > - Continued incremental improvements to both the website and the user
> > guide. IMO we have more problems with the content than with the tooling,
> > and we can still make a lot of improvements to the usability of our docs
> > and website without tooling changes.
> >
> > - Breaking the tight integration between website and user guide. "Fork"
> the
> > existing infrastructure but then have two build systems tailored for
> their
> > purpose rather than one that tried to meet two different needs. Would
> allow
> > the existing stuff to continue to work while opening the door to
> replacing
> > the guide tooling and redeveloping the website, independently of each
> > other, at a future date.
> >
> > - Evaluating how other systems use metadata to describe the book
> structure,
> > and gradually adding support for this to our own tools and migrating
> > content. Then at a later date, when the content is nearly-compatible
with
> > GitBook or some other system, it'll be easier to do the migration.
> >
> > What do you think? Will following an incremental approach like this
allow
> > us to make improvements gradually rather than a "big bang" replacement
of
> > tooling?
> >
> > Richard.
> >
> > [1] https://gist.github.com/rdowner/a09a268b37904a03c452797e7afe56ca but
> > consider the COCOMO figures with appropriate cynicism
> > [2]
> >
> > https://lists.apache.org/thread.html/6f19475bbc0570a3b9e3d1ae1b75b2
> b8ee4b2485b3b41d085c342dff@%3Cdev.brooklyn.apache.org%3E
> >
> > On 5 October 2017 at 11:23, Thomas Bouron <thomas.bouron@cloudsoftcorp.
> com
> > >
> > wrote:
> >
> > > Hi all.
> > >
> > > It's been a couple of weeks that I started to look at how to improve
> and
> > > simplify the Brookyln website[1]. As I said on the Brooklyn 1.0
> > thread[2],
> > > I think we need to sort this out before releasing 1.0.
> > >
> > > I have looked for a framework / library to handle both the website and
> > > documentation the same way we do it right now. To determine what was
> the
> > > best fit, I based my analysis on the following criteria:
> > > - Able to take markdown files and generate HTML from them.
> > > - Keep the folder structure intact (currently, pages that seems in the
> > same
> > > logical group - take pages in the download section[3] menu - jump into
> a
> > > different folder/category/section which is very confusing)
> > > - Be skinnable
> > > - Able to handle versions for documentation.
> > > - Able to generate PDF version of documentation.
> > > - Be as "stock" as possible to limit maintenance and pain during
> upgrade
> > > (our current website still uses Jekyll 2.x).
> > >
> > > 2 contenders clearly jumped out from this:
> > > - Jekyll[4]
> > > - Gitbook[5]
> > >
> > > ----
> > > Jekyll
> > >
> > > With the version 3, Jekyll now has a concept of collections[6] which
> can
> > > generate pages from markdown files and keep the folder structure.
> > > The menu can be generated based on this folder structure (with depth
> > > limitation for example) in combination of some clever liquid tags and
> > > `include`. However, it will be hard to control the order of items
> > appearing
> > > on the menu. Another easy solution would be maintain list of links for
> > the
> > > menu to be generated.
> > > There are plugins to generate PDF[7], which happens during compile
> time.
> > > Finally, Jekyll is highly skinnable with built-in or custom themes.
> > >
> > > ----
> > > Gitbook
> > >
> > > Gitbook, in its open source version, handles out of the box doc
> > versioning,
> > > PDF generation at runtime (so it seems) HTML pages generation from
> > > markdown. The menu is built-in feature, based on a simple markdown
list
> > of
> > > links[8]. This means we need to maintain it but there is a good chance
> we
> > > will have to do this with Jekyll as well. Finally, Gitbook is also
> easily
> > > skinnable[9].
> > >
> > > ----
> > > Both frameworks offer mostly the same features. However, Jekyll is
> easier
> > > to build a website that looks like a "corporate" one whereas with
> > Gitbook,
> > > you are "stuck" with the design principals it was created, i.e. serve
> > > documentation only. But for this very purpose, it is extremely good
and
> > > easy.
> > >
> > > Our website is the combination of both a "corporate website" (i.e.
> about,
> > > getting started, community, etc - few pages that describe the project)
> > and
> > > a documentation.
> > >
> > > Which leads me to my proposal: separate the website from the
> > documentation,
> > > at least in terms of how we build it. What I mean by this is:
> > > - Use Jekyll (or even nothing) for the website, except the
> documentation
> > > part. This will let us build a nice theme (based on Bootstrap 4 for
> > > example) without to worry about complicated plugins and custom code
for
> > the
> > > documentation.
> > > - Use Gitbook for the documentation alone, applying/adapting the theme
> we
> > > will create from the point above.
> > >
> > > Best.
> > >
> > > [1] https://brooklyn.apache.org/
> > > [2]
> > > https://lists.apache.org/thread.html/dae4468aa7ef77af9dc8aca24b8434
> > > e9782efbd50fa876618cccf980@%3Cdev.brooklyn.apache.org%3E
> > > [3] https://brooklyn.apache.org/download/index.html
> > > [4] https://jekyllrb.com/
> > > [5] https://github.com/GitbookIO/gitbook
> > > [6] https://jekyllrb.com/docs/collections/
> > > [7] http://abemedia.co.uk/jekyll-pdf/
> > > [8] https://toolchain.gitbook.com/pages.html
> > > [9] https://toolchain.gitbook.com/themes/
> > > --
> > >
> > > Thomas Bouron • Senior Software Engineer @ Cloudsoft Corporation •
> > > https://cloudsoft.io/
> > > Github: https://github.com/tbouron
> > > Twitter: https://twitter.com/eltibouron
> > >
> >
> --
>
> Thomas Bouron • Senior Software Engineer @ Cloudsoft Corporation •
> https://cloudsoft.io/
> Github: https://github.com/tbouron
> Twitter: https://twitter.com/eltibouron
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message