any idea how to fix this URL:
http://thrift.staging.apache.org/test/ThriftTest.thrift
we need to keep the filename for working links within the
test/README.md file.

What about a footer for docs genertated from source tree?
[snippet:path=test/README.md, footer=1]

I added the following snippet to content/test/index.md:
---SNIP---
This page was generated from Apache Thrift's **source tree docs**:
[test/README.md](https://git-wip-us.apache.org/repos/asf/thrift/repo?p=thrift.git;a=blob;f=test/ThriftTest.thrift;hb=HEAD)
---SNIP---

would be great to get this generated into the page via snippet.

-roger


On 23.03.2014 19:04, Joe Schaefer wrote:
The CMS codebase as well as the thrift build system
already supports it Roger, someone just needs to create
the files in the content tree that point at the source
files in the git repo.  If you want to script this process
in scripting language du jour, go for it, but I cannot
justify spending contractor time doing this work for the
community's behalf as it is unlikely to be needed elsewhere.
I would think you only need the script to run when some
path to a README.md file changes in the thrift.git tree,
so it doesn't need to be incorporated into each site build.



On Sunday, March 23, 2014 9:15 AM, Roger Meier <ro...@bufferoverflow.ch> wrote:
Hi

On 23.03.2014 03:19, Jake Farrell wrote:
  Hey Joe
  Reviewing the staging site it looks like its almost 99% there other than
  some styling within the code snippets. I'm good if we want to cut over
to
  using this and then work on the additional features that had been mentioned
  afterwords. Any objections to cutting over?
I would really like to see this automatic README.md includes from source
tree, to have a real additional feature beside of what we already have
today.

I'm absolutely with you.
Apache projects shall use other Apache projects whenever possible.

  On Sat, Mar 22, 2014 at 4:36 PM, Joe Schaefer
<joe_schae...@yahoo.com>wrote:

  May I suggest a script that creates files in content/
  containing a single line

  [snippet:path=...]
this sounds like a plan


  (with no 'lang' argument) that lets the CMS pull raw content
from
  thrift.git
  and add it directly to the built pages.  That way you only need to run
the
  script that generates these files when a path changes in your
thrift.git
  repo.
What I had in mind is a automatic search of README.md files across the
source tree and generate the site with these automatically.
Kind of a central controller that maps all the URL's.
no additional work when a new README.md file is added.
however, a script can do this as interim soultion.

  You can commit directly to the cms svn tree or via the webgui which
does
  the same thing.
Great!

What about local preview when doing perl modifications?

-roger




  On Saturday, March 22, 2014 4:20 PM, Roger Meier <
  ro...@bufferoverflow.ch> wrote:
  I still see some issues and still miss to feature mentioned.
  Now we have nonoc.ws and I'm able to hack this a bit.

  We had no real big issue, the thing I missed was the code snippet
thing
  and this is in on nanoc.ws and now also on Apache CMS.

  The thing we really need is the documentation located within source
code
  integrated on the web site.

  most hosting platforms do render README.md and that's why lot
of doc
  will stay within the code and we should benefit as well by
rendering
  that to the web site and enhance the documentation very easily.

  I would like to render the 41 README.md files to with the following
  pattern, that's a must have before switching to another CMS.

  test/README.md => thrift.apache.org/test
  test/STATUS.md => thrift.apache.org/test/status
  test/keys/README.md => thrift.apache.org/test/keys
  lib/<lang>/README.md => thrift.apache.org/lib/<lang>
  lib/<lang>/test/README.md =>
thrift.apache.org/lib/<lang>/test
  lib/<lang>/examples/README.md =>
  thrift.apache.org/lib/<lang>/examples
  compiler/cpp/README.md => thrift.apache.org/compiler
  debian/README.md => thrift.apache.org/debian
  contrib/<topic>/README.md =>
thrift.apache.org/<topic>

  CPP tutorial seems to be broken on staging.

  Do you commit to
https://svn.apache.org/repos/asf/thrift/cms-site/trunk
  or is it web gui only?

  How do you generate the site on your local machine?


  Should I reactivate my perl or do we stay with ruby?
  Committers and contributors, what do you think?


  all the best
  -roger


  On 22.03.2014 18:07, Joe Schaefer wrote:


    Ok I've now done the basic necessities involved in
porting
    the site over.  Links have been adjusted, templates ported,
files
  created,
    snippet feature activated.  At this point I'm happy to
declare
    victory and migrate the thrift live site over, as anything
broken that
    still remains can be dealt with on a per-page basis with the
  bookmarklet.



    On Thursday, March 20, 2014 11:19 AM, Joe Schaefer
  <joe_schae...@yahoo.com> wrote:
    Modulo some bizarre content truncation out of
git-wip-us.apache.org
    the snippet support is now active. At this point I think
all the build
    support you need in this project to support every type of
  brainstorming
    activity we've discussed is now there, so it's
just up to you
  guys to
    now familiarize yourselves with the build technology and
how to apply
    it to your needs.  The site builds with snippet support
are running
  around
    10 seconds, which is to be expected with the network
interactions
  involved.

    I'm always willing to answer any questions that come
up in the
  interim,
    but I wish you guys the best of luck in the remaining
porting work to
  be done.
    All I see really are some links that need to have the
trailing slashes
  removed
    and whatever <%= %> template constructs that remain
need to be
  ported to
    django.  So it should be smooth sailing, but as I said if
you hit any
  snags
    holler.  I'd really like to see the live site tech
switched over to
  the cms
    stuff before Apachecon ends in early April, hint hint.





      On Wednesday, March 19, 2014 10:41 PM, Joe Schaefer
    <joe_schae...@yahoo.com> wrote:
      > While I don't yet know the url magic to
support branches
  and tags
    in git,
      I can say that the snippet support is ready to play
with.  I
  suggest just
      focusing on the /index.md page first to see how it
works in
  practice
    because
      once it's fully enabled the build will break
until all the
  snippet
    sources
      have been altered to conform with the new style.

      To turn it on for index.md testing, there are a
couple of things
  that need
    to
      happen. First the [snippet:...] marker should be
edited to be
    [XXXsnippet:...]
      to enable testing without breaking the build.
Second each marker
  contains
    a
      "token" argument instead of line numbers
for more
  stability under

      edits to the source code.  The token argument is an
arbitrary
  string that
    is
      used to denote the boundaries of the snippet within
the source
  code.
       ASF::Value::Snippet will pull out the lines from
the source file
  between
    the
      lines that contain the token argument and format
them as a code
  snippet
    embedded
      into markdown. To get started I'll copy over
the code
  highlighting css
    from
      www.apache.org but note that this is all based on
python pygments
  and there
    are
      a variety of online css files to choose from if
this one is not
  to the
      group's liking.



       On Wednesday, March 19, 2014 4:16 PM, Joe
Schaefer
      <joe_schae...@yahoo.com> wrote:
       > Sorry I need to clarify with an example:
look at
       http://thrift.staging.apache.org/tutorial/
versus

http://thrift.staging.apache.org/tutorial.html.  The
       former is generated from
content/tutorial/index.html
       and the latter from content/tutorial.md.  The
latter file
       needs to be removed from the tree now that
it's content
       has been ported to
content/tutorial/index.html.  This
       uses django template inheritance to maintain
simplicity.

       Other directories that follow a similar
pattern should
       also be ported in the same fashion.



        On Wednesday, March 19, 2014 9:46 AM, Joe
Schaefer
       <joe_schae...@yahoo.com> wrote:
        > If someone's looking for a way
to help with
  the porting
        effort, consider tackling the creation of
an index.html
        page in each subdir of the content/ tree
(other than
  the
        base which has an /index.md).  The
contents of the file
        should be just

        {% include 'default' %}

        (see the docs dir for an example page
that can be
  copied)
        and the build system will take care of
generating the
  page
        in a consistent fashion with the rest of
the site.
  Once
        that is done there are a lot of pages
that function
  like
        index pages but are written in markdown
that can be
  deleted,
        like docs.md and its ilk.  Nanoc
transforms that file
  into
        /docs/index.html but that's kinda
crufty and not
  supported
        by the CMS, which only lets you alter
file extensions
  not paths.




         On Wednesday, March 19, 2014 8:54
AM, Joe Schaefer
        <joe_schae...@yahoo.com> wrote:
         > I just pencilled in snippet
preprocessing
  support into
         the thrift builds.  Once Jake and I
have settled
  on the
         feature set of ASF::Value::Snippet,
and we have
  ported
         the snippet calling text within the
markdown pages
         to the new format, things will just
work (knock on
  wood).




          On Wednesday, March 19, 2014
6:48 AM, Joseph
  Schaefer
         <joe_schae...@yahoo.com>
wrote:
          > Sure I understand that
need.  If
  there's a way
    of
       pulling the

         document
          sources directly from the web I
can parse the
  content
    to
      look for

        snippet
          markers and make those
available to the
  template
    system.
       That's
        pretty
         much
          how www.apache.org is
generated.

          Sent from my iPhone


           On Mar 19, 2014, at 5:28
AM, Henrique
  Mendonça
         <henri...@apache.org>
          wrote:

           Hi Joe,

           Thanks for your effort. I
just wanted to
  add that
    the
      code
        snippets
         are a
           crucial feature for this
project, which
  has way
    more
      target
        languages
         than
           active contributors. In
our case,
  reducing manual
       maintenance
        costs is
         much
           more important than the
total site build
  time.
    Perhaps
      we
       can
        also
         solve
           this in the CMS, though.

           - Henrique


           On 19 March 2014
03:17, Joe Schaefer
         <joe_schae...@yahoo.com>
          wrote:

           A couple more thoughts
regarding the
    background on
      the
       CMS...
           the bulk of the focus
of the CMS up
  until now
    has
      been
       to
           support really big
sites like maven
  and
    openoffice,
      both
       of
           which have websites
well over 5GB
  worth of
    text
      files.
       The
           build system was
hollowed out and
  revamped to
      support
        external
           builds in other
programming
  languages, as well
    as
       scaling up
           the perl builds to
provide about 8
  child
    processes
      that
       build
           the site in parallel
by default.
  Full site
    build
      times
       for
           openoffice went from
over 30 minutes
  to
    between 5
      to 10
        minutes
           depending on disk
activity, which
  made
      experimentation
       with
         site-wide
           changes feasible on a
reasonable
  timeframe.
    At
      first
       the
        project
         was
          in
           the habit of running
the builds
  locally before

      checking
       in
        their
          changes
           because the delay in
feedback
  post-commit was
       unreasonable,
        but
         with
          smart
           use of SSI the were
able to cut down
  on the
    number
      of
       changes
        that

          required
           full site builds and
hence no longer
  bother
    with
      the
       whole
         pre-build
          mumbo
           jumbo before checking
in changes.
  The CMS is
      designed
       to
        only
         build
          pages
           that were altered, and
if you just
  edit a page
    or
      two
       only
        those
         pages
          and
           the pages that depend
on them will
  be built.

           Now that I've
turned my
  attention to
    thrift,
      there
       are
        several

          aspects
           that are better off
being retuned
  based on the

      modest
       size of
        the
         site.
           First of all you have
a sitemap url
  that lists
    all
      of
       your
          markdown-based
           pages, which would be
a nonstarter
  for a site
    like
        openoffice.
         The
           implications of the
sitemap url are
  that every
    page

       needs to
        be
         built
          in
           memory just to
generate that page,
  which leads
    to a
      lot
       of
         redundancy
          in a
           build system designed
to run as
  forked child
      processes.
       We
        can do

          better...

           I've done two
things to make
  this work
    well-
      first I
       made
        the
          number of
           child processes
"aka
  runners"
    tunable on
      a
        per-project
         basis,
          and since the
           sitemap is going to
build every page
  anyway as
    the
       slowest
        page to

          build, I
           memoized the main view
that builds
  the
    markdown
      pages
       for
        thrift.
         The
          best
           results are when
there's only
  one runner
    so we
      get
       the
        full
         benefit
          of
           memoization: typical
site build
  times are
      consistently
       under
        2
         seconds
          now.

           You'll appreciate
why I am such
  a
    performance
       stickler
        for the
         CMS
          when
           you start using the
bookmarklet,
  since builds
    are
      the
       only
         asynchronous
           part of the process
from making a
  change to a
    page
      and
        publishing
         the
           results.  Ideally when
the system is
  working
    well
      the
       builds
         happen
          before
           you have time to go
looking for
  them, but you
    do
      need to
       be
         mindful of
          not
           publishing before the
built pages
  have been
      committed
       back to
        svn
         by
           buildbot.



           On Monday, March
17, 2014 11:59
  PM, Joe
      Schaefer
          <joe_schae...@yahoo.com>
           wrote:
           Ok there's
enough of an
  idea about
    how
      to
       port
        the
         rest of
          the site's
           pages over based
on the porting
  work
    I've
       already
        done
         that
          it's time
           for me to step
back and let you
  guys catch
    up.

       Basically
        the
         idea
          is
           that while
           there is
templating support in
  the
    markdown
      sources,

        it's
          fairly limited
           compared to what
nanoc offers,
  but instead
    of
       writing a
        lot of

          complex
           template
           code into your
sources, with the
  cms you
    just
      add
       code to

          lib/view.pmand/or
           lib/path.pm to
keep the document
  sources
    simple
      and
       just
        add
         more
           template
           variables.  What I
just finished
  in
    lib/view.pm
      and
         lib/path.pm is
           directory
           listing support
for /docs.html
  but it can
    be
      carried
       over
        to
          similar
           pages.




           On Monday,
March 17, 2014
  9:16 PM, Joe

      Schaefer

<joe_schae...@yahoo.com>
  wrote:

Interesting ideas,
  thanks.  FWIW I

      think
       that
        sort
           of thing might
be best
  supported as a
      periodic
       cron
           if we can
write something
  stable
    enough,
      because

        pulling
           stuff out of
the git repo is
  something
    the
      CMS
        isn't
         going
           to do all that
well being an
  svn
      application.

           The CMS build
results are
  available at

http://thrift.staging.apache.org/
           feel free to
play with the
  sources in

repos/asf/thrift/cms-site/trunk.
           It's very
fast, probably
  an order
    of
       magnitude
        faster
         than
          your current

           tech.
           Whole site
builds in two
  seconds;
    fractions
      of a

        second
         for
          typical
           mods to

           content/
markdown pages.

           The CMS
bookmarklet is
  compatible with
    the
       staging
        site
         FWIW.




            On
Monday, March 17,
  2014 7:40
    PM,
      Roger
       Meier

  <ro...@bufferoverflow.ch> wrote:
           Hi Joe
& Co

            thanks
for this test
  run with
    Apache
      CMS!

            What I
would love to
  see is this:

            Source
file: => Web
  Site URL:

test/README.md =>
      thrift.apache.org/test

test/STATUS.md =>
        thrift.apache.org/test/status

test/keys/README.md
  =>
        thrift.apache.org/test/keys

  lib/<lang>/README.md =>

thrift.apache.org/lib/<lang>

  lib/<lang>/test/README.md
    =>

    thrift.apache.org/lib/<lang>/test

    lib/<lang>/examples/README.md
      =>

      thrift.apache.org/lib/<lang>/examples

compiler/cpp/README.md
  =>
         thrift.apache.org/compiler

debian/README.md =>
       thrift.apache.org/debian

  contrib/<topic>/README.md
    =>
          thrift.apache.org/<topic>

            just made
the following
  patch to
      rename all
       file
        to
         .md
          within our
           source
            tree:

https://issues.apache.org/jira/browse/THRIFT-2407
            ... we
have *41*
  md's within
    the
      source
       tree
        and
          that's the
           place
           where
            people
look for
  documentation
    first.
      =>
        simple to
          manage
            Would be
user friendly
  to have
    all of
      this
        online
         with
          each release
            with the
URL layout
  mentioned
    above.

            just
received the
  buildboot...
            Do you
have kind of a
  preview of
    your
       prototype?

            all the
best!
            -roger
            ;-r


            Quoting
Jake Farrell
        <jfarr...@apache.org>:

             No
objections from
  me


-Jake


             On
Mon, Mar 17,
  2014 at
    12:04 PM,
      Joe
        Schaefer

    <joe_schae...@yahoo.com>wrote:


Any objections
  to me
    making a
      copy
       of
        the
         site

tree alongside
  it called

       cms-site?
        I'd
         like
          to

get cracking
  on knocking
    up
      the
        supporting
         perl

for this so we
  can
    continue
      to
        brainstorm...





   On Sunday,
  March 16,
    2014
      1:53
       PM,
        Joe
         Schaefer

  <joe_schae...@yahoo.com>

wrote:

       On
  Sunday, March
    16,
      2014
       1:40
        PM,
         Jake
          Farrell

  <jfarr...@apache.org>

   wrote:


   Hey Joe

       Thanks
  for
    reaching
      out, we
       chose
        to
         go
          with a site
           generator
            over the

       Apache
  CMS due to
    it
       initially
        not
         meeting
          all of
           our
           needs.
            Our
current

       needs
  for the site
    are


       -
  Markdown to html

       conversion



   That
  one's easy-
    its
      the
       default
        for
         the
          cms.



       - Global
      variables/config
       usable
         throughout
          in a
           template

            based
layout



   Easy too-
  just create
    a
      perl
       hash
         somewhere and
          make it
           available
            to

your views.

   Code your
  views to
    pass
      that
       hash
        along to
         your
           templates
           and you
            are

all set.

   Note if your
  hash
    contains
       objects
        you can
         make
          method
           calls
           on
            them in

your

   templates.
  Note:
    while I
        wouldn't
          recommend this in

           general,
            for
smaller

   projects
  like thrift
    that
      prefer

         convenience
          over
           separation
           of
            concerns

you can

   have the
  django
    template
      engine
       do a
        pass
         over
          your
           markdown
            before

passing it

   along to
  your actual
      template
       page,
        just
         as is
          seemingly

           common to
            other

popular

   site
  generation
    software.



       - Syntax
    highlighting



   Comes with
    python's
      markdown

        support,
         but
          some
           people
           prefer
            the look
of

   javascript
    highlighters.


       - Easily
  include
    code
       snippets
        from
         our
          source code
           base



   Statically I
  hope.  No
    idea
      how
       to
        pull
          snippets out of
           your
           git
            repo

via the

   cms.


       -
  Ability to
    locally
      test
       before
         committing



   Belt and
  suspenders
    with
      the
       cms- you
        can
         build
          your
           changes
            before

committing

   with the
  build
    scripts,
      browse
       your
         changes
          before
           committing
           via
            the cms

   webgui, or
  simply
    commit
      your
       changes
        and
         view
          the
           staging
           site
            prior to

live

   publication
  (which is
    a
      separate

        step).





       -Jake






       On Sun,
  Mar 16,
    2014 at

       12:44 PM,
        Joe
          Schaefer

       <joe_schae...@yahoo.com>wrote:


         As
  it so
    happens I
      am
        interested
         in
          working on
           supporting

  thrift's
    use
      case as
       a
         potential
          user of
           the
           Apache
            CMS.

  While the CMS
    works
      well
       for
         massive
          projects
           there
           are

  things it
    could do
       better at
         supporting
          for
           more
           moderate

  sized sites
    like
        thrift's.


  I'd
    therefore
      like
       to
        engage
         you
          folks in a


brainstorming session

  about what
    sorts of

       features
        you
         want
          for your
           site
           and
            to find

  simple ways of

       supporting
        those
          features for
           you.


  Thanks.














Reply via email to