Merge pull request #659 from ebarboni/lazyblog

Adding a blog + RSS
diff --git a/netbeans.apache.org/globals.yml b/netbeans.apache.org/globals.yml
index 4f5ae76..fa9519d 100644
--- a/netbeans.apache.org/globals.yml
+++ b/netbeans.apache.org/globals.yml
@@ -16,15 +16,14 @@
 # under the License.
 
 site:
-    host: http://netbeans.apache.org
+    host: https://netbeans.apache.org
 
 render:
     tags: false
     sitemap: true
     index: false
     archive: false
-    feed: false
-        
+    feed: true
 
 template:
     page:
@@ -40,13 +39,22 @@
     wikidev:
         file: wikidev.gsp
     wikidevindex:
-        file: wikidevindex.gsp    
+        file: wikidevindex.gsp
     wiki:
         file: wiki.gsp
     raw:
         file: raw.gsp
     sitemap:
         file: sitemap.gsp
+    blogindex:
+        file: blogindex.gsp
+    post:
+        file: blogentry.gsp
+    feed:
+        file: feed.ftl
+
+feed:
+    file: blogs/atom
 
 asciidoctor:
     attributes:
@@ -71,7 +79,7 @@
 #         
 # markdown:
 #    extensions: ALL, -HARDWRAPS
-    
+
 globals:
     test:
         data: This is a test
diff --git a/netbeans.apache.org/src/content/blogs/annnb17.adoc b/netbeans.apache.org/src/content/blogs/annnb17.adoc
new file mode 100644
index 0000000..40725a8
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/annnb17.adoc
@@ -0,0 +1,55 @@
+// 
+//     Licensed to the Apache Software Foundation (ASF) under one
+//     or more contributor license agreements.  See the NOTICE file
+//     distributed with this work for additional information
+//     regarding copyright ownership.  The ASF licenses this file
+//     to you under the Apache License, Version 2.0 (the
+//     "License"); you may not use this file except in compliance
+//     with the License.  You may obtain a copy of the License at
+// 
+//       http://www.apache.org/licenses/LICENSE-2.0
+// 
+//     Unless required by applicable law or agreed to in writing,
+//     software distributed under the License is distributed on an
+//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+//     KIND, either express or implied.  See the License for the
+//     specific language governing permissions and limitations
+//     under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans 17 Released
+Geertjan Wielenga
+2023-02-21
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans blog index
+:description: Apache NetBeans blog index
+:toc: left
+:toc-title:
+:syntax: true
+
+
+The Apache NetBeans team is pleased to announce that Apache NetBeans 17 was released on February 21, 2023.
+
+What's in the Apache NetBeans 17 release:
+
+https://github.com/apache/netbeans/releases/tag/17
+
+With thanks to 36 contributors, including 7 who have contributed for the first time. Thank you!
+
+Downloads:
+
+https://netbeans.apache.org/download/nb17/
+
+See our release schedule:
+
+https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule
+
+Feel free to share the good news!
+
+Thanks everyone, and best wishes,
+
+Neil, Eric, Martin, Geertjan
+
+on behalf of Apache NetBeans PMC
diff --git a/netbeans.apache.org/src/content/blogs/annnb18.adoc b/netbeans.apache.org/src/content/blogs/annnb18.adoc
new file mode 100644
index 0000000..770ffc9
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/annnb18.adoc
@@ -0,0 +1,55 @@
+// 
+//     Licensed to the Apache Software Foundation (ASF) under one
+//     or more contributor license agreements.  See the NOTICE file
+//     distributed with this work for additional information
+//     regarding copyright ownership.  The ASF licenses this file
+//     to you under the Apache License, Version 2.0 (the
+//     "License"); you may not use this file except in compliance
+//     with the License.  You may obtain a copy of the License at
+// 
+//       http://www.apache.org/licenses/LICENSE-2.0
+// 
+//     Unless required by applicable law or agreed to in writing,
+//     software distributed under the License is distributed on an
+//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+//     KIND, either express or implied.  See the License for the
+//     specific language governing permissions and limitations
+//     under the License.
+//
+
+= [ANNOUNCE] Apache NetBeans 18 Released
+Geertjan Wielenga
+2023-06-01
+:jbake-type: post
+:jbake-tags: blogentry
+:jbake-status: published
+:keywords: Apache NetBeans 18 release
+:description: Apache NetBeans 18 release
+:toc: left
+:toc-title:
+:syntax: true
+
+
+The Apache NetBeans team is pleased to announce that Apache NetBeans 18 was released on May 30, 2023.
+
+What's in the Apache NetBeans 18 release:
+
+https://github.com/apache/netbeans/releases/tag/18
+
+With thanks to 31 contributors, including 5 who have contributed for the first time. Thank you!
+
+Downloads:
+
+https://netbeans.apache.org/download/nb18/
+
+See our release schedule:
+
+https://cwiki.apache.org/confluence/display/NETBEANS/Release+Schedule
+
+Feel free to share the good news!
+
+Thanks everyone, and best wishes,
+
+Neil, Eric, Martin, Geertjan
+
+on behalf of Apache NetBeans PMC
diff --git a/netbeans.apache.org/src/content/blogs/index.adoc b/netbeans.apache.org/src/content/blogs/index.adoc
new file mode 100644
index 0000000..421c002
--- /dev/null
+++ b/netbeans.apache.org/src/content/blogs/index.adoc
@@ -0,0 +1,29 @@
+// 
+//     Licensed to the Apache Software Foundation (ASF) under one
+//     or more contributor license agreements.  See the NOTICE file
+//     distributed with this work for additional information
+//     regarding copyright ownership.  The ASF licenses this file
+//     to you under the Apache License, Version 2.0 (the
+//     "License"); you may not use this file except in compliance
+//     with the License.  You may obtain a copy of the License at
+// 
+//       http://www.apache.org/licenses/LICENSE-2.0
+// 
+//     Unless required by applicable law or agreed to in writing,
+//     software distributed under the License is distributed on an
+//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+//     KIND, either express or implied.  See the License for the
+//     specific language governing permissions and limitations
+//     under the License.
+//
+
+= Apache NetBeans Blog
+:jbake-type: blogindex
+:jbake-tags: blog
+:jbake-status: published
+:keywords: Apache NetBeans blog index
+:description: Apache NetBeans blog index
+:toc: left
+:toc-title:
+:syntax: true
+
diff --git a/netbeans.apache.org/src/content/templates/blogentry.gsp b/netbeans.apache.org/src/content/templates/blogentry.gsp
new file mode 100644
index 0000000..fcafa88
--- /dev/null
+++ b/netbeans.apache.org/src/content/templates/blogentry.gsp
@@ -0,0 +1,41 @@
+<%/*
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+*/%>
+<%/*
+
+    page_noaside.gsp: A main area with no aside.
+
+*/%>
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+  <%include "templatesparts/head.gsp"%>
+  <body>
+    <%include "templatesparts/menu.gsp"%>
+    <%include "templatesparts/news.gsp"%>
+    <div class='grid-container main-content'>
+      <h1 class="sect1">${content.title}</h1>
+      <time>${content.date}</time>
+      ${content.body}
+      <%include "templatesparts/tools.gsp"%>
+    </div>
+    <%include "templatesparts/footer.gsp"%>
+    <%include "templatesparts/scripts.gsp"%>
+  </body>
+</html>
diff --git a/netbeans.apache.org/src/content/templates/blogindex.gsp b/netbeans.apache.org/src/content/templates/blogindex.gsp
new file mode 100644
index 0000000..814e76b
--- /dev/null
+++ b/netbeans.apache.org/src/content/templates/blogindex.gsp
@@ -0,0 +1,61 @@
+<%/*
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+*/%>
+<%/*
+
+    page_noaside.gsp: A main area with no aside.
+
+*/%>
+<!doctype html>
+<html class="no-js" lang="en" dir="ltr">
+  <%include "templatesparts/head.gsp"%>
+  <body>
+    <%include "templatesparts/menu.gsp"%>
+    <%include "templatesparts/news.gsp"%>
+    <div class='grid-container main-content'>
+      <h1 class="sect1">${content.title}</h1>
+      <%
+// content by aggregation 
+    TreeMap sectionsubitm = [:]
+    for ( atag in tags ) {
+        if ( atag.name=="blogentry") {
+            for ( mydoc in atag.tagged_documents ) {
+                sectionsubitm.put(mydoc.date,mydoc);
+            }
+        }
+    }
+    sectionsubitm.sort();
+    out.println('<div class="ulist">');
+    out.println('<ul>');
+    for (adoc in sectionsubitm) {
+        out.println('<li><p>');
+        out.println('<a href="'+content.rootpath+adoc.value.uri+'">'+adoc.value.title+' '+adoc.value.date+'</a>');
+        out.println('</p></li>');
+    }
+    out.println('</ul>');
+    out.println('</div>');
+      %>
+      ${content.body}
+      <%include "templatesparts/tools.gsp"%>
+    </div>
+    <%include "templatesparts/footer.gsp"%>
+    <%include "templatesparts/scripts.gsp"%>
+  </body>
+</html>
diff --git a/netbeans.apache.org/src/content/templates/feed.ftl b/netbeans.apache.org/src/content/templates/feed.ftl
new file mode 100644
index 0000000..d07d164
--- /dev/null
+++ b/netbeans.apache.org/src/content/templates/feed.ftl
@@ -0,0 +1,45 @@
+<#--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+  <title type="html">Apache NetBeans</title>
+  <subtitle type="html">Quickly and easily develop web, mobile and desktop applications with Java, JavaScript, HTML5, PHP, C/C++ and more. </subtitle>
+  <id>https://netbeans.apache.org/blogs/atom</id>
+  <link rel="self" type="application/atom+xml" href="https://netbeans.apache.org/blogs/atom" />
+  <link rel="alternate" type="text/html" href="https://netbeans.apache.org/blogs/atom" />
+  <updated>${published_date?datetime?string.xs}</updated>
+  <#list published_posts as post>
+  <#--
+   All published post, adoc file of :jbake-type: post will be on entry, need authors, date
+  -->
+  <entry>
+    <id>${post.noExtensionUri!post.uri}</id>
+    <title type="html"><#escape x as x?xml>${post.title}</#escape></title>
+    <author><name>${post.author}</name></author>
+    <link rel="alternate" type="text/html" href="${config.site_host}/${post.noExtensionUri!post.uri}"/>
+    <published>${post.date?datetime?string.xs}</published>
+    <updated>${post.date?datetime?string.xs}</updated>
+    <content type="html">
+	<#escape x as x?xml>	
+	${post.body}
+	</#escape>
+    </content>
+  </entry>
+  </#list>
+</feed>
\ No newline at end of file
diff --git a/netbeans.apache.org/src/content/templates/templatesparts/menu.gsp b/netbeans.apache.org/src/content/templates/templatesparts/menu.gsp
index 195705f..f35ee16 100644
--- a/netbeans.apache.org/src/content/templates/templatesparts/menu.gsp
+++ b/netbeans.apache.org/src/content/templates/templatesparts/menu.gsp
@@ -31,7 +31,7 @@
         <ul class="vertical medium-horizontal menu" data-responsive-menu="drilldown medium-dropdown">
             <li> <a href="/community/index.html">Community</a> </li>
             <li> <a href="/participate/index.html">Participate</a> </li>
-            <li> <a href="https://blogs.apache.org/netbeans/">Blog</a></li>
+            <li> <a href="/blogs/index.html">Blog</a></li>
             <li> <a href="/help/index.html">Get Help</a> </li>
             <li> <a href="https://plugins.netbeans.apache.org/">Plugins</a> </li>
             <li> <a href="/download/index.html">Download</a> </li>