►
From YouTube: Hacksgiving: Intro to the new static site
Description
In this session, rtyler walks through contributing to the new statically-generated jenkins-ci.org website.
A
All
right
so
I'm
gonna
go
ahead
and
get
started.
I'm,
probably
more
recording
this
session
for
posterity,
and
if
you
have
to
anything
else,
I
don't
like
on
mute.
I
was
about
to
put
you
on
you,
so
there's
this
with.
We've
had
sort
of
the
same
looking
site
on
Jenkins
Georg
for
as
long
as
there's
been
a
in
CI
about
work,
and
what
a
lot
of
people
may
not
know
about.
A
This
is
that
this
is
a
Drupal
installation
which
has
service
fairly
well,
but
because
it's
a
Drupal
installation,
much
of
the
content
is
stored
off
in
a
database
somewhere
in
a
lot
of
the
layout,
and
everything
else
is
also
I.
No
provision
on
machine
somewhere
and
there's
a
not
a
whole
lot
of
contribution
that
we've
been
able
to
solicit
with
the
with
the
Drupal
version
of
the
site.
It's
been
somewhat
onerous
to
them
to
contribute
to
even
for
for
those
of
us
who
are
regular
contributors
like
myself.
A
So
a
couple
years
ago,
I
exported
the
Drupal
site
like
exported
the
Drupal
database
into
a
Jekyll
site
and
Jekyll
is
a
static
site
generator,
that's
very
popular
on
github.
For
github
pages
and
I
showed
Coast,
gay
and
just
sort
of
we
never
followed
through
with
porting
the
rest
of
the
site
over
to
it,
and
earlier
this
year,
I
picked
it
back
up
and
tweaked
it,
and
we
now
have
a
almost
one
hundred
percent
replica
of
the
Drupal
version
of
the
site.
A
That's
located
on
Jenkins
co.org
imported
into
this
get
tree
in
being
built
with
a
static
site
generator,
so
Jenkins,
CI,
org,
Jenkins,
seedot,
jinkin,
CI
org,
is
where
the
current
site
is,
and
if
you
go
to
jenkins,
that
was
I.
Oh,
this
is
currently
hosted
off
of
github
pages.
This
isn't
going
to
be.
You
know
the
final
final
version
of
the
site,
but
this
is
an
example
of
the
statically
generated
site
and
one
of
the
very
it's
a
important
aspects
of
this
new
statically
generated
site.
Most
of
it
looks
the
same.
A
There's
a
couple
things
missing
and
explicitly
so
probably
one
of
the
most
important
things
is
down
here
at
the
bottom.
This
improve
this
page
link.
So
every
page,
because
this
all
is
sourced
from
files
that
are
statically
generated
every
page,
has
a
link
that
goes
off
into
github,
where
you
can
edit
the
page
itself
and
submit
a
pull
request
right
there
in
line
from
from
github.
A
So
if
I
wanted
to
change
things,
you
know
if
I
do,
I
could
pray
to
create
a
branch
and
create
a
pull
request
directly
from
the
site,
which
is
pretty
powerful,
and
that
also
means
that
the
entirety
of
the
site
and
all
of
these
all
of
these
links
all
have
in
the
etherpad,
which
is
just
etherpad,
osu,
OSL
org,
slash
jenkins,
dash
x,
giving
but
all
of
the
content
for
the
site
is
inside.
Of
this
Jenkins
I,
o-positive
and
jenkins
dot.
A
Io
is
a
domain
name
that
we
have
for
the
jenkins
project
now
and
that's
more
than
likely,
where
we'll
deploy
the
brand
new
version
of
the
site,
not
the
static
version
of
the
site,
the
brand
new
version
of
the
site
when
it's
prepared,
so
what
I
wanted
to
do
is
sort
of
walk
through
contributing
to
this
site.
You
know
there
is.
There
is
the
improve
this
page
version
and,
if
I
go
into,
you
know
here's
this
hacks,
giving
blog
post
if
I
go
into
this
hacks.
A
Giving
blog
post
down
at
the
bottom
I
see
improve
this
page
here
as
well,
and
I
can
go
in
and
edit
the
page,
the
blog
post
as
well
after
the
fact
and
which
is,
is
pretty
neat,
but
the
the
way
I'll
sort
of
talk
about
contribution
is
through
a
get
check
out
of
this
repository
directly.
So
let
me
jump
to
the
other
screen
and
I've
got
the
IRC
of
the
right
in
my
tab
window
manager,
that's
just
I
can
see
any
questions
as
they
come
up.
Hey
wait!
So
I've
got
this.
A
This
check
out
of
drinkin
co
here
and
there's
there's
a
couple
of
interesting
files
in
here.
The
most
important
one
is
the
build
Gradle.
This
is
a
Gradle
project.
Let's
look
at
the
readme
before
I
get
too
far,
and
one
of
the
nice
things
about
this
being
a
grade
elect.
Is
it's
very
easy
to
build.
A
So
content
like
well
that
runs,
will
jump
back
over
content
like
the
changelog
is
is
dynamic
in
that
this
is
this
change.
Log
file
is
actually
checked
into
the
jenkins
core
repository
so
to
generate
the
site,
we
need
to
go
grab
that
the
version
that
you
see
in
the
sidebar
for
the
download.
That
is
also
dynamic
content.
A
So
there's
a
couple
files
that
we
update
when
we
release
a
new
version
of
the
jenkins
site
that
are
downloaded
in
this
Gradle
assemble
step,
see
the
LTS
this
cradle,
assemble,
step
and
included
in
the
site,
so
that
there's
nothing
dynamic,
actually
happening
when
you
visit
the
site,
but
more.
It's
being
fitch
dynamically
when
you
build
the
site.
A
And
come
back
over
and
check
chat
every
now
and
again.
So
after
we
got
the
external
resources
which
you
can
see
here
on
this
line,
we
start
copying
a
lot
of
content
and
stuff,
and
then
we
start
executing
the
actual
generation
of
the
site,
and
all
of
this
execution
is
using
a
tool
called
on
struct
and
on
struct
is
a
is
a
static
site
tool.
It
works
very
similarly
to
tools
like
Jekyll
and
there's
so
many
different
static
site
generators
out
there.
A
One
of
the
reasons
that
I
chose
this
one
is
it's
used
by
a
skier,
org
and
ask
a
doctor
is
one
of
the
most
useful
ascii
doc
tools
that
I've
that
I've
worked
with
and
so
I've
become
very,
very
familiar
with
ask
a
doc
for
reading
documentation,
but
also
instruct
is
very
versatile.
So
a
lot
of
the
content
that
we
have
from
the
old
version
of
the
site
is
either
marked
down
or
HTML,
and
not
everything
that
we're
going
to
be
building
is
going
to
be
marked
down
or
HTML
there.
A
A
Hey
Louise
network,
you
lost
something
well
now
it's
back
a
little
bit.
Oh,
this
network
is
awful
yeah.
So
where
is
the
last
thing
that
you
heard
me
say?
Andrew.
A
A
But
the
really
important
thing
to
take
away
from
obstruct
is
that
we
have
a
lot
of
flexibility
with
the
kinds
of
templates
that
we
pull
into
the
into
the
site
and
that's
really
important,
because
we
have
a
lot
of
different
kinds
of
content
that
we
want
to
pull
into
one
site.
So
this
the
assemble
Task
in
in
in
Gradle
has
completed.
It
took
a
little
while
you
see
it
took
one
minutes
and
42
seconds
which
is
kind
of
a
bummer,
but
it's
generated
a
full
version
of
the
site
in
this
build
directory
underscore
site.
A
Right
thousand
now,
I've
got
my
own
version
of
the
site
up
and
running,
which
is
very
nice
and
handy
means
when
your
authoring
contents,
and
when
were
you,
know,
having
content,
developed
and
deployed
that
we
can
apply
some
of
the
same
practices
that
we
would
use
with
plugins
or
with
a
with
any
other
piece
of
code
running
around
in
the
Jenkins
project.
In
terms
of
like
building
and
testing
pull
requests
and
then
merging,
and
then
packaging
that
I've
been
deploying
it
out
to
the
site,
and
all
of
this
can
be
automated.
A
It's
not
all
fully
automated
right
now
that
it
can
be
automated,
and
that's
that
I'm
going
to
I'm
going
to
start
this
web
server
in
another
window.
Real
quick.
A
And
let's
create
a
blog
post,
I
wanted
to
walk
through
the
blog
post
thing
in
particular,
because
this
is
where
I
think
most
most
people
in
the
Jenkins
community
can
really
contribute
and
share
best
practices
that
they've
discovered
working
with
Jenkins.
For
you
know,
there
are
different
domains
and
blog
content
is
probably
the
most
it's
a
common
type
of
content
that
we're
adding
to
the
site
right
now.
So
we'll
focus
on
that.
A
A
That's
just
to
keep
a
nice
clean,
URL
structure,
that's
not
tied
to
a
specific
document
type
and
but
yes,
we
were
going
to
write
a
blog
post.
So
everything
look
at
the
blog
structure,
blog
directory
structure.
First,
all
the
blog
posts
are
under
content,
/
blog,
but
forget
about
this.
Take
2
2015
Jenkins
surveyed.
That's
an
import
artifact
that
I
can't
remove.
Unfortunately,
but
we've
got
these
directories
based
on
year,
so
we've
been
around
for
a
while,
so
we've
got
2010
all
the
way
up
to
2015.
A
A
Is
it's
a
blog
post?
It's
got
a
title
of
celebrate
hex,
giving
node
ID
as
an
import
artifact
created
as
an
import
artifact.
But
then
it's
also
got
tags
and
author.
So
I'm
going
to
keep
that
on
the
right
of
the
screen
and
I'm
going
to
create
a
new
blog
post
will
say
today.
The
24th
oh
I
was
giving
I'm
going
to
create
this
with
a
ski
talk.
A
A
A
Well
note
that
the
file
name
is
something
very
specific.
So
in
the
front
matter
we
never
said
when
this
post
was
written
or
when
it
was
published
and
there's
two
sort
of
dates
that
we
keep
track
of.
When
we
generate
the
static
site,
one
is
the
sort
of
publication
date
which
is
in
the
file
name
itself,
and
this
is
a
pattern
that's
borrowed
from
Jekyll
as
well,
and
then
there's
the
modified
time
of
file
and
the
modified
time
file
is
not
something
that
we
can
really
reliably
use
for.
Determining
the
publication
date
is.
A
If
I
go
through
and
I
touch
every
file,
then
everything
will
have
the
modification
time
of
today
or
something
like
that
right.
So
you've
got
to
have
you've,
got
to
put
your
blog
post
in
the
appropriate
year
directory
and
then
give
it
year-month-day
title
and
I'll.
Show
you
how
this
this
actually
anna
fested.
So
after
we
run
Gradle.
A
A
A
So,
while
that's
generating
I'll
go
ahead
and
show
you
some
of
the
other
interesting
stuff
that
we're
working
on
and
inside
of
the
same
repository,
there's
newer
templates
and
so
we're
working
on
a
new
design
for
the
site
right
now,
this
this
design
is
very
basic.
You
know,
we've
got
a
fixed
width
here
that
we
can
put
content
in
and
most
of
the
content
and
the
content
structure
is
oriented
around
blog
posts
and
we
want
to
incorporate
a
lot
more
documentation,
a
lot
more
useful
information
on
the
Jenkins
site.
A
So
if
we
go
to
new-
and
let's
do
this
on
the
the
demo
site-
so
it's
not
from
low
blobs
and
go
to
/
new,
which
is
where
the
new
version
structure
of
the
site
is
starting
to
come
together.
You
can
see
a
lot
of
you
know.
This
is
obviously
a
very,
very
different
look,
as
you
can
tell
with
the
slide
label
number
two
that
it's
not
fully
done
by
a
long
shot,
but
one
of
the
things
that
were
were
moving
away
from
is
being
so
centered
around
blog
posts.
A
Blog
posts
are
very,
very
useful
and
it's
a
good
way
to
get
news,
but
it's
not
a
good
way.
You
know
it's
now
been
five
years
of
the
Bujinkan
ci
or
excite.
So
it's
you
know.
We've
got
years
of
content
in
blog
posts
and
some
of
its
outdated.
Some
of
it's
still
very
important
and
it's
difficult
to
find,
and
so
we've
started
to
play
with
this
concept.
A
We've
been
calling
solution
pages,
which
are
you
know,
here's
a
demo
of
a
doctor
solution,
page
just
under
/
docker
to
where,
if
you
had
a
something
like
doctor
or
if
you
had
something
like
Android
and
you
wanted
to
find
out,
here's
all
of
the
things
going
on
or
here's
all
the
things
you
need
to
know
about
docker
and
Jenkins.
This
is
where
you
would.
A
You
would
find
that
or
all
the
things
around
Jenkins
and
Android,
or
building
iOS
applications
or
deploying
ruby
applications
and
so
on
and
so
forth,
and
this
site,
or
this
page
sorry
and
can
still
aggregate
sum
of
those
recent
blog
posts
that
are
relevant,
but
it
can
also
aggregate
important
articles
from
elsewhere
on
the
Internet.
We
can
start
to
call
out
different
plugins
that
are,
you
know.
A
A
You
know
come
back
to
my
test
site
which
I've
got
running
on
local
host.
8,000,
see
my
hell
acts.
Giving
post
is
here,
it's
now
the
latest
post
and
if
you
look
down
at
the
bottom
in
the
status
bar,
it
gets
filed
under
blog
2015,
/,
11,
/,
24,
/,
hello,
max
giving
and
if
you've
ever
used
Jekyll
on
github
pages.
This
is
very
much.
A
You
know
you
clone
the
repo
or
you
you
can
fork
it
on
on
github
com.
You
actually
don't
ever
have
to
leave
github
com
in
your
web
browser
to
contribute
a
blog
post,
but
you
just
create
a
file
and
then
you
submit
a
pull
request
and
then
one
of
the
editors
for
the
site
or
review
that
pull
request
in
once
it
gets
merged
that
can
be
built,
published,
built
and
published
to
the
Jenkins
CI
org
I
think
is,
is
going
to
be
a
pretty
pretty
easy
way
to
start
contributing
to
the
Jenkins
project.
A
So
I'm
going
to
go
in
I
mentioned
this,
but
I'm
going
to
go
in
and
I'm
going
to
create
this
same
file,
the
same
hello,
hex,
giving
blog
post
but
I'm
never
going
to
leave
this
town,
which
I
think
is
also
a
really
interesting
feature
for
a
static
site
generation.
Tool
on
github
in
particular,
so
I
need
to
go
into
the
blog
directory
under
2015
and
here's
all
of
my
all
of
my
blog
posts.
A
A
So
sorry
about
that,
I
don't
have
a
lot
of
control
over
the
internet
connection
here,
unfortunately,
so
thanks
Daniel,
let
me
go
back
over
to
where
I
was
so
I
wanted
to
create
a
blog
post
inside
of
github
com
without
ever
leaving
right
and
we've
got
the
content
directory
blog
directory
2015.
Just
the
same
as
I
was
editing
on
my
local
machine,
but
I
can
click
this
new
file
button
and,
let's
say
2015
11
24,.
A
A
A
A
You
can
just
come
into
this
view
and
rate
your
blog
post
say
this
is
my
awesome
test,
blog
post
and
maybe
use
a
slightly
better
commit
message
than
this,
and
you
can
propose
the
new
file
and
that'll
open
up
a
pull
request
view
and
you
can
send
the
pull
requests.
Make
sure
that
everything
looks
good.
Yeah
looks
good
and
then
someone
you
know
someone
on
the
website.
A
Editor
group
can
review
your
file
and
come
here
and
they
can
preview
it
and
things
like
that
and
and
then
once
it's
merged
it
gets
published
out
to
the
Jenkins
website.
Now
this
is
test.
One
close
this
out
just
believe
my
branch
to
you.
So
you
can
contribute
to
the
static
site
version
without
needing
anything
more
than
a
github
account,
which
I
think
is
is
pretty
cool
and
so
sure
what
else
I
can
really
show
it
should
be.
You
look
at
my
notes:
the
new
site
design.
A
A
And
there
is,
if
there's
not
a
whole
bunch
of
questions
either
in
IRC
or
in
the
sidebar
on
on
the
Hangout,
then
all
I'll
stop
showing
my
screen
I'll,
be
in
the
the
Jenkins
IRC
channel,
the
rest
of
the
day,
I'm
going
to
go
ahead
and
stop
this
because
it's
annoying
but
I'll
be
in
the
Jenkins
IRC
channel
I'm
are
Tyler.
I'm
also
are
Tyler
on
github
and
if
you're
interested
in
contributing
to
the
site,
just
let
me
know
and
I
can
help
get
you
set
up
otherwise
I'll
be
around.