This is an automated email from the ASF dual-hosted git repository.
git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/groovy-dev-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new f0d290a 2024/11/25 06:17:32: Generated dev website from
groovy-website@7ed71e9
f0d290a is described below
commit f0d290a598261b9ceddcdf0e12a7e2cfa0e2400d
Author: jenkins <[email protected]>
AuthorDate: Mon Nov 25 06:17:32 2024 +0000
2024/11/25 06:17:32: Generated dev website from groovy-website@7ed71e9
---
blog/adventures-with-groovyfx.html | 2 +-
blog/deep-learning-and-eclipse-collections.html | 2 +-
blog/feed.atom | 6 +-
blog/fruity-eclipse-collections.html | 2 +-
blog/groovy-lucene.html | 74 ++++++++++++++-----------
blog/helloworldemoji.html | 2 +-
blog/index.html | 4 +-
blog/seasons-greetings-emoji.html | 2 +-
blog/set-operations-with-groovy.html | 2 +-
blog/zipping-collections-with-groovy.html | 2 +-
10 files changed, 54 insertions(+), 44 deletions(-)
diff --git a/blog/adventures-with-groovyfx.html
b/blog/adventures-with-groovyfx.html
index f302b18..e6d8b78 100644
--- a/blog/adventures-with-groovyfx.html
+++ b/blog/adventures-with-groovyfx.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Adventures with GroovyFX</a></li><li><a
href='#_further_information' class='anchor-link'>Further
information</a></li></ul><br/><ul class='nav-sidebar'><li style='padding:
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a
href='./helloworldemoji' [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Adventures with GroovyFX</a></li><li><a
href='#_further_information' class='anchor-link'>Further
information</a></li></ul><br/><ul class='nav-sidebar'><li style='padding:
0.35em 0.625em; background-color: #eee'><span>Related posts</span></li><li><a
href='./helloworldemoji' [...]
<div class="sectionbody">
<div class="paragraph">
<p>This blog looks at a <a href="http://groovyfx.org/">GroovyFX</a> version of
a <a
href="https://donraab.medium.com/my-weird-and-wonderful-first-adventures-with-javafx-6efe3b1923c8">ToDo
application originally written in JavaFX</a>.
diff --git a/blog/deep-learning-and-eclipse-collections.html
b/blog/deep-learning-and-eclipse-collections.html
index 2d3232c..67cca28 100644
--- a/blog/deep-learning-and-eclipse-collections.html
+++ b/blog/deep-learning-and-eclipse-collections.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Deep Learning and Eclipse Collections</a></li><li><a
href='#_setting_up_our_model_and_data' class='anchor-link'>Setting up our model
and data</a></li><li><a href='#_applying_deep_learning'
class='anchor-link'>Applying deep learning</a></li></ul><br/><ul
class='nav-sidebar' [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Deep Learning and Eclipse Collections</a></li><li><a
href='#_setting_up_our_model_and_data' class='anchor-link'>Setting up our model
and data</a></li><li><a href='#_applying_deep_learning'
class='anchor-link'>Applying deep learning</a></li></ul><br/><ul
class='nav-sidebar' [...]
<div class="sectionbody">
<div class="paragraph">
<p>In previous blogs, we’ve covered
diff --git a/blog/feed.atom b/blog/feed.atom
index b1518c4..137a6f0 100644
--- a/blog/feed.atom
+++ b/blog/feed.atom
@@ -4,7 +4,7 @@
<link href="http://groovy.apache.org/blog"/>
<link href="http://groovy.apache.org/blog/feed.atom" rel="self"/>
<id>http://groovy.apache.org/blog</id>
- <updated>2024-11-18T20:30:00Z</updated>
+ <updated>2024-11-25T15:30:00Z</updated>
<entry>
<id>http://groovy.apache.org/blog/groovy-lucene</id>
<author>
@@ -12,8 +12,8 @@
</author>
<title type="html">Searching with Lucene</title>
<link href="http://groovy.apache.org/blog/groovy-lucene"/>
- <updated>2024-11-18T20:30:00Z</updated>
- <published>2024-11-18T20:30:00Z</published>
+ <updated>2024-11-25T15:30:00Z</updated>
+ <published>2024-11-25T15:30:00Z</published>
<summary type="html">This post looks at using Lucene to find references to
other projects in Groovy's blog posts.</summary>
</entry>
<entry>
diff --git a/blog/fruity-eclipse-collections.html
b/blog/fruity-eclipse-collections.html
index 94f2844..e8d6c8c 100644
--- a/blog/fruity-eclipse-collections.html
+++ b/blog/fruity-eclipse-collections.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Fruity Eclipse Collections</a></li><li><a
href='#_eclipse_collections_fruit_salad' class='anchor-link'>Eclipse
Collections Fruit Salad</a></li><li><a href='#_exploring_emoji_colors'
class='anchor-link'>Exploring emoji colors</a></li><li><a
href='#_putting_it_all_together' [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Fruity Eclipse Collections</a></li><li><a
href='#_eclipse_collections_fruit_salad' class='anchor-link'>Eclipse
Collections Fruit Salad</a></li><li><a href='#_exploring_emoji_colors'
class='anchor-link'>Exploring emoji colors</a></li><li><a
href='#_putting_it_all_together' [...]
<div class="sectionbody">
<div class="paragraph">
<p>This blog post continues on the theme of using fruit emoji from the
diff --git a/blog/groovy-lucene.html b/blog/groovy-lucene.html
index 15e6f64..52731f3 100644
--- a/blog/groovy-lucene.html
+++ b/blog/groovy-lucene.html
@@ -3,7 +3,7 @@
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--><head>
- <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible'
content='IE=edge'/><meta name='viewport' content='width=device-width,
initial-scale=1'/><meta name='keywords' content='aggregation, search, lucene,
groovy'/><meta name='description' content='This post looks at using Lucene to
find references to other projects in Groovy's blog posts.'/><title>The
Apache Groovy programming language - Blogs - Searching with Lucene</title><link
href='../img/favicon.ico' type='image/x-ico' rel [...]
+ <meta charset='utf-8'/><meta http-equiv='X-UA-Compatible'
content='IE=edge'/><meta name='viewport' content='width=device-width,
initial-scale=1'/><meta name='keywords' content='aggregation, search, lucene,
groovy, emoji, regex'/><meta name='description' content='This post looks at
using Lucene to find references to other projects in Groovy's blog
posts.'/><title>The Apache Groovy programming language - Blogs - Searching with
Lucene</title><link href='../img/favicon.ico' type='im [...]
</head><body>
<div id='fork-me'>
<a href='https://github.com/apache/groovy'>
@@ -53,14 +53,17 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Searching with Lucene</a></li><li><a
href='#_a_regular_expression_for_project_names' class='anchor-link'>A regular
expression for project names</a></li><li><a
href='#_collecting_project_name_statistics_using_regex_matching'
class='anchor-link'>Collecting project name stati [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Searching with Lucene</a></li><li><a
href='#_a_regular_expression_for_project_names' class='anchor-link'>A regular
expression for project names</a></li><li><a
href='#_collecting_project_name_statistics_using_regex_matching'
class='anchor-link'>Collecting project name stati [...]
<div class="sectionbody">
<div class="paragraph">
<p>The Groovy <a href="https://groovy.apache.org/blog/">blog posts</a> often
reference other Apache projects.
+Perhaps we’d like to know which other projects and which blog posts are
involved.
Given that these pages are published, we could use something like <a
href="https://nutch.apache.org">Apache Nutch</a> or
<a href="https://solr.apache.org">Apache Solr</a> to crawl/index those web
pages and search using those tools.
For this post, we are going to search for the
-information we require from the original source (<a
href="https://asciidoc.org/">AsciiDoc</a>) files.
+information we require from the original source (<a
href="https://asciidoc.org/">AsciiDoc</a>) files
+which can be found in the
+<a
href="https://github.com/apache/groovy-website/tree/asf-site/site/src/site/blog">groovy-website</a>
repo.
We’ll first look at how we can find project references using regular
expressions
and then using <a href="https://lucene.apache.org/">Apache Lucene</a>.</p>
</div>
@@ -77,36 +80,37 @@ We’ll also make provision for projects with
subprojects, at least for
Apache Commons, so this will pick up names like "Apache Commons Math"
for instance. We’ll exclude Apache Groovy since that would hit possibly
every Groovy blog post. We’ll also exclude a bunch of words that appear
in
-commonly used phrases like "Apache License" and "Apache Projects".</p>
+commonly used phrases like "Apache License" and "Apache Projects" which
+could look like project names to our search queries but aren’t.</p>
</div>
<div class="paragraph">
<p>This is by no means a perfect name reference finder, for example,
we often refer to Apache Commons Math by its full name when first introduced
-but later in posts we fall back to the more friendly "Commons Math" reference
+in a blog post but later in the post we fall back to the more friendly
"Commons Math" reference
where the "Apache" is understood from the context. We could make the regex
-more elaborate to cater for such cases but there isn’t really any
benefit,
-so we won’t.</p>
+more elaborate to cater for such cases but there isn’t really any benefit
+as far as this post is concerned, so we won’t.</p>
</div>
<div class="listingblock">
<div class="content">
-<pre class="prettyprint highlight"><code data-lang="groovy">String tokenRegex
= /(?ix) # ignore case, enable whitespace & comments
- \b # word boundary
- ( # start capture of all terms
- ( # capture project name term
- (apache|eclipse)\s # foundation name
- (commons\s)? # optional subproject name
+<pre class="prettyprint highlight"><code data-lang="groovy">String tokenRegex
= /(?ix) # ignore case, enable whitespace & comments
+ \b # word boundary
+ ( # start capture of all terms
+ ( # capture project name term
+ (apache|eclipse)\s # foundation name
+ (commons\s)? # optional subproject name
(
- ?!(groovy # negative lookahead for excluded
words
+ ?!(groovy # negative lookahead for excluded words
| and | license | users
| https | projects | software
| or | prefixes | technologies)
)\w+
- ) # end capture project name term
- | # alternatively
- ( # capture non-project term
- \w+?\b # non-greedily match any other words
- ) # end capture non-project term
- ) # end capture term
+ ) # end capture project name term
+ | # alternatively
+ ( # capture non-project term
+ \w+?\b # non-greedily match any other word
chars
+ ) # end capture non-project term
+ ) # end capture term
/</code></pre>
</div>
</div>
@@ -121,7 +125,7 @@ Feel free to make a compact (long) one-liner without
comments if you prefer.</p>
<h2 id="_collecting_project_name_statistics_using_regex_matching">Collecting
project name statistics using regex matching</h2>
<div class="sectionbody">
<div class="paragraph">
-<p>With our regex sorted, let’s look at how you could use a Groovy
matcher
+<p>With our regex in hand, let’s look at how we could use a Groovy
matcher
to find all the project names. First we’ll define one other common
constant,
the base directory for our blogs, which you might need to change if you
are wanting to follow along and run these examples:</p>
@@ -169,7 +173,7 @@ histogram.sort { e -> -e.value }.each { k, v -> // <b
class="conum">(8)</b
<p>This is a map which provides a default value for non-existent keys</p>
</li>
<li>
-<p>This traverse the directory processing each AsciiDoc file</p>
+<p>This traverses the directory processing each AsciiDoc file</p>
</li>
<li>
<p>We define our matcher</p>
@@ -192,7 +196,7 @@ histogram.sort { e -> -e.value }.each { k, v -> // <b
class="conum">(8)</b
</ol>
</div>
<div class="paragraph">
-<p>The output looks like:</p>
+<p>When we run our script, the output looks like:</p>
</div>
<pre>
apache-nlpcraft-with-groovy.adoc: [apache nlpcraft:5]
@@ -266,17 +270,18 @@ Lucene to our problem.</p>
</div>
<div class="paragraph">
<p>First, we’ll define a custom analyzer. Lucene is very flexible and
comes with builtin
-analyzers. In a typical scenario, we might just search on all words.
+analyzers. In a typical scenario, we might just index on all found words.
There’s a builtin analyzer for that.
If we used one of the builtin analyzers, to query for our project names,
-we’d construct a query that spanned multiple (word) terms.
+we’d need to construct a query that spanned multiple (word) terms.
We’ll look at what that might look like later, but
for the purposes of our little example, we are going to assume project names
are indivisible terms and slice up our documents that way.</p>
</div>
<div class="paragraph">
<p>Luckily, Lucene has a pattern tokenizer
-which lets us reuse our existing regex.</p>
+which lets us reuse our existing regex.
+Basically, our index will have project name terms and other found words.</p>
</div>
<div class="listingblock">
<div class="content">
@@ -554,7 +559,7 @@ but it wasn’t needed previously.</p>
</ol>
</div>
<div class="paragraph">
-<p>Now we can run our query code:</p>
+<p>With our helper method defined, we can now write our query code:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -646,7 +651,11 @@ apache age (11) ███████████▏
eclipse deeplearning4j (8) ████████▏
apache commons collections (7) ███████▏
apache commons csv (6) ██████▏
+
</pre>
+<div class="paragraph">
+<p>We could also aggregate file counts which mention project names. It too,
would look the same as before.</p>
+</div>
</div>
</div>
<div class="sect1">
@@ -969,10 +978,10 @@ new IndexWriter(indexDir, config).withCloseable { writer
->
file.withReader { br ->
var document = new Document()
var fieldType = new FieldType(stored: true,
- indexOptions:
IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS,
- storeTermVectors: true,
- storeTermVectorPositions: true,
- storeTermVectorOffsets: true)
+ indexOptions:
IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS,
+ storeTermVectors: true,
+ storeTermVectorPositions: true,
+ storeTermVectorOffsets: true)
document.add(new Field('content', br.text, fieldType))
document.add(new StringField('name', file.name, Field.Store.YES))
writer.addDocument(document)
@@ -1076,7 +1085,8 @@ println "Total documents with hits for $query -->
$results.totalHits"</code><
</div>
</div>
<div class="paragraph">
-<p>Running the code gives the same output as previously.</p>
+<p>Running the code gives the same output as previously. If you are interested
in the DSL
+details, have a look at the <a
href="https://github.com/paulk-asert/groovy-lucene/blob/main/src/main/groovy/LuceneDSL.groovy">source
file</a>.</p>
</div>
<div class="paragraph">
<p>We can try out our DSL on other terms:</p>
diff --git a/blog/helloworldemoji.html b/blog/helloworldemoji.html
index 520c08c..8bec89c 100644
--- a/blog/helloworldemoji.html
+++ b/blog/helloworldemoji.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Hello World with Emojis</a></li></ul><br/><ul
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color:
#eee'><span>Related posts</span></li><li><a
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse
Collections</a></li><li><a href='./a [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Hello World with Emojis</a></li></ul><br/><ul
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color:
#eee'><span>Related posts</span></li><li><a
href='./deep-learning-and-eclipse-collections'>Deep Learning and Eclipse
Collections</a></li><li><a href='./a [...]
<p>In a <a
href="https://groovy.apache.org/blog/jvm-hello-world-with-groovy">previous blog
post</a>
we took an in-depth look at how to write a "hello world" class at the bytecode
level
using various libraries.</p>
diff --git a/blog/index.html b/blog/index.html
index 666f64e..91dd872 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3' id='blog-index'><ul
class='nav-sidebar list'><li class='active'><a
href='/blog/'>Blogs</a></li><li><a href='groovy-lucene'>Searching with
Lucene</a></li><li><a href='groovy-pekko-gpars'>Using Apache Pekko actors and
GPars actors with Groovy</a></li><li><a href='groovy-graph-databases'>Using
Graph Databases with Groovy</a></li><li><a href='handling-byte-order-mark-c
[...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3' id='blog-index'><ul
class='nav-sidebar list'><li class='active'><a
href='/blog/'>Blogs</a></li><li><a href='groovy-lucene'>Searching with
Lucene</a></li><li><a href='groovy-pekko-gpars'>Using Apache Pekko actors and
GPars actors with Groovy</a></li><li><a href='groovy-graph-databases'>Using
Graph Databases with Groovy</a></li><li><a href='handling-byte-order-mark-c
[...]
<div class='row'>
<div class='colset-3-footer'>
<div class='col-1'>
@@ -97,7 +97,7 @@
colors: am5.ColorSet.new(root, {})
}));
wc.data.setAll([
- { category: "groovy", value: 81 }, { category: "emoji", value:
7 }, { category: "set", value: 1 }, { category: "constraint programming",
value: 1 }, { category: "jacop", value: 2 }, { category: "or-tools", value: 2
}, { category: "choco", value: 3 }, { category: "jsr331", value: 1 }, {
category: "bytecode", value: 1 }, { category: "byte buddy", value: 1 }, {
category: "proguardcore", value: 1 }, { category: "asm", value: 1 }, {
category: "jvmadvent", value: 1 }, { categor [...]
+ { category: "groovy", value: 81 }, { category: "emoji", value:
8 }, { category: "set", value: 1 }, { category: "constraint programming",
value: 1 }, { category: "jacop", value: 2 }, { category: "or-tools", value: 2
}, { category: "choco", value: 3 }, { category: "jsr331", value: 1 }, {
category: "bytecode", value: 1 }, { category: "byte buddy", value: 1 }, {
category: "proguardcore", value: 1 }, { category: "asm", value: 1 }, {
category: "jvmadvent", value: 1 }, { categor [...]
]);
wc.labels.template.setAll({
paddingTop: 5,
diff --git a/blog/seasons-greetings-emoji.html
b/blog/seasons-greetings-emoji.html
index e5a77ba..c3ee4d0 100644
--- a/blog/seasons-greetings-emoji.html
+++ b/blog/seasons-greetings-emoji.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Season’s Greetings with Emojis</a></li><li><a
href='#_jdk_21_new_features' class='anchor-link'>JDK 21 New
Features</a></li><li><a href='#_playing_with_emojis_with_groovy'
class='anchor-link'>Playing with Emojis with Groovy</a></li><li><a
href='#_more_information' cla [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Season’s Greetings with Emojis</a></li><li><a
href='#_jdk_21_new_features' class='anchor-link'>JDK 21 New
Features</a></li><li><a href='#_playing_with_emojis_with_groovy'
class='anchor-link'>Playing with Emojis with Groovy</a></li><li><a
href='#_more_information' cla [...]
<div class="sectionbody">
<div class="paragraph">
<p>In a <a href="https://groovy.apache.org/blog/helloworldemoji">previous blog
post</a>
diff --git a/blog/set-operations-with-groovy.html
b/blog/set-operations-with-groovy.html
index 049d685..538db61 100644
--- a/blog/set-operations-with-groovy.html
+++ b/blog/set-operations-with-groovy.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Set Operators with Groovy</a></li></ul><br/><ul
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color:
#eee'><span>Related posts</span></li><li><a href='./helloworldemoji'>Hello
World with Emojis</a></li><li><a href='./deep-learning-and-eclipse-collectio
[...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Set Operators with Groovy</a></li></ul><br/><ul
class='nav-sidebar'><li style='padding: 0.35em 0.625em; background-color:
#eee'><span>Related posts</span></li><li><a href='./helloworldemoji'>Hello
World with Emojis</a></li><li><a href='./deep-learning-and-eclipse-collectio
[...]
<p><a href="https://twitter.com/TheDonRaab">Donald Raab</a> posted <a
href="https://donraab.medium.com/comparing-set-operations-between-java-and-eclipse-collections-92cf1df28d3b">an
article</a> about set operators using Java collections and <a
href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a>.
<a
href="https://donraab.medium.com/comparing-set-operations-between-java-and-eclipse-collections-92cf1df28d3b">That
post</a> focuses
on the <em>union</em>, <em>intersection</em> and <em>difference</em>
operators. We’ll add in
<em>symmetric difference</em> since Groovy supports operator overloading for
that
diff --git a/blog/zipping-collections-with-groovy.html
b/blog/zipping-collections-with-groovy.html
index 8f7df63..641f873 100644
--- a/blog/zipping-collections-with-groovy.html
+++ b/blog/zipping-collections-with-groovy.html
@@ -53,7 +53,7 @@
</ul>
</div>
</div>
- </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Zipping Collections with Groovy</a></li><li><a
href='#_what_is_zipping' class='anchor-link'>What is zipping?</a></li><li><a
href='#_groovy' class='anchor-link'>Groovy</a></li><li><a
href='#_eclipse_collections' class='anchor-link'>Eclipse
Collections</a></li><li><a href='# [...]
+ </div><div id='content' class='page-1'><div
class='row'><div class='row-fluid'><div class='col-lg-3'><ul
class='nav-sidebar'><li><a href='./'>Blog index</a></li><li class='active'><a
href='#doc'>Zipping Collections with Groovy</a></li><li><a
href='#_what_is_zipping' class='anchor-link'>What is zipping?</a></li><li><a
href='#_groovy' class='anchor-link'>Groovy</a></li><li><a
href='#_eclipse_collections' class='anchor-link'>Eclipse
Collections</a></li><li><a href='# [...]
<h2 id="_what_is_zipping">What is zipping?</h2>
<div class="sectionbody">
<div class="paragraph">