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.