Giter VIP home page Giter VIP logo

grails-static-website's Introduction

Grails Website

Build Status

This project builds the Grails website. A static website build with Gradle. It uses a Gradle Plugin whose sources can be found at buildSrc.

Gradle tasks use grails group.

You can get more info by running:

  % ./gradlew tasks --group=grails

 > Task :tasks

 ------------------------------------------------------------
 Tasks runnable from root project
 ------------------------------------------------------------

 Grails tasks
 ------------
 buildGuides - Build guides website - generates guides pages, copies assets and generates a sitemap
 copyAssets - Copies css, js, fonts and images from the assets folder to the dist folder
 genDocs - Generates documentation HTML page - build/temp/documentation.html
 genFaq - Generates FAQ HTML - build/temp/faq.html
 genGuides - Generates guides home, tags and categories HTML pages - build/temp/index.html
 genProfiles - Generates profiles HTML page - build/temp/profiles.html
 genSitemap - Generates build/dist/sitemap.xml with every page in the site
 renderBlog - Renders Markdown posts (posts/*.md) into HTML pages (dist/blog/*.html). It generates tag pages. Generates RSS feed. Posts with future dates are not generated.
 renderSite - Build Micronaut website - generates pages with HTML entries in pages and build/temp, renders blog and RSS feed, copies assets and generates a sitemap

 To see all tasks and more detail, run gradlew tasks --all

 To see more detail about a task, run gradlew help --task <task>

 BUILD SUCCESSFUL in 558ms
 1 actionable task: 1 executed

Generating the MAIN site

https://grails.org

./gradlew build --console=plain

The output can be found in the build/dist directory.

Generating the GUIDES site

https://guides.grails.org

./gradlew buildGuide --console=plain

The output can be found in the build/dist directory.

Running the website locally

The easiest way to work locally is to generate the site and setup your Webserver to serve build/dist.

For example with MAMP:

You can also use Python to serve the directory:

python3 -m http.server 8080 --directory build/dist

Blog Posts

Posts Location

Write blog posts in markdown at posts folder.

Blog post Metadata

A post supports metadata at the beginning of the document. You can use it store information (title, description, publication date) about your blog posts.

Metadata must be separated from the rest of the document by three dashes.

You can use the metadata in the text by putting it in brackets adding a % sign.

A typical blog post will look like:

---
title: Deploying Grails 3.1 Applications to JBoss 6.4 EAP
date: May 26, 2016
description: Learn necessary configuration differences to deploy Grails 3.1 applications to JBoss 6.4 EAP
author: Graeme Rocher
image: 2016-05-26.jpg
---

# [%title]

[%author]

[%date]

We had [previously](https://grails.io/post/142674392718/deploying-grails-3-to-wildfly-10) described how to deploy Grails 3.1 applications to WildFly 10, which is where all of the "cutting edge" work happens in the JBoss world.

The process to deploy Grails 3.1 applications to JBoss 6.4 EAP is largely similar, with some minor configuration differences.

Text Expander snippets

If you write often to Micronaut's blog, we recommend you to create a Text Expander snippet:

Title Metadata

title tag is used as the window title, the card title, blog post main header and also in twitter cards.

Description Metadata

Description metadata is used as HTML meta description tag, and in twitter cards.

Date Metadata

Date is used to for publication date. It is used to order to blog posts. It is displayed in the UI and in the RSS feed.

Date can be expressed in MMM d, yyyy

---
...
..
.
date: April 9, 2020
---

or MMM d, yyyy HH:mm

---
...
..
.
date: April 9, 2020 09:00
---

To Schedule tasks use a date in the future. Github Action runs daily and will publish scheduled posts.

Blog post background

For Blog post background images usage image metadata.

---
...
..
.
image: 2018-05-23.jpg
---

Place the images at assets/bgimages

Tags

To add tags just preffix them with #:

Example:

Tags: #angular

Webinars on-demand recordings should be tagged with webinar

Release announcements should be tagged with release.

Check the list of tags and try to reuse them.

Code Highlighting

If your blog post, contains code samples add the following metadata:

---
...
..
.
CSS: [%url]/stylesheets/prism.css
JAVASCRIPT: [%url]/javascripts/prism.js
---

# [%title]

Video

Use the video metadata to embed a Video.

Currently, the plugin supports youtube videos. Use a link which starts with https://www.youtube.com/watch?v= such as https://www.youtube.com/watch?v=RtjSqRZ_md4

Example:

---
title: JSON Views
date: April 1, 2016
description: Jeff Scott Brown uses music examples to probe JSON views.
author: Jeff Scott Brown
image: 2016-04-01-2.jpg
video: https://www.youtube.com/watch?v=XnRNfDGkBVg
---

# [%title]

[%author]

[%date]

Tags:

[%description]

Assets (Fonts, Stylesheets, Images, Javascripts)

Assets used in the website can be found under assets.

What to change when a new release is published.

Please, modify conf/releases.yml

grails-static-website's People

Contributors

aremick avatar bobbywarner avatar colinharrington avatar devaughns avatar eahrold avatar emrichardsone avatar free2create avatar graemerocher avatar guillermocalvo avatar ilopmar avatar jameskleeh avatar jasontypescodes avatar kroegerk avatar lhotari avatar loboweissmann avatar mattmoss avatar osscontributor avatar puneetbehl avatar richardson-e avatar rpalcolea avatar rvargas avatar sbglasius avatar sdelamo avatar sheehan avatar tomaslin avatar virtualdogbert avatar wiesej avatar willbuck avatar zacharyklein avatar ziyaaskerov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grails-static-website's Issues

Add Meeting Minutes page to Foundation

In order to publish meeting minutes from the Grails Foundation TAB, we need to make a page that acts similarly to the blog posts. It should:

  • Parse Meeting Minutes supplied in Markdown format
  • Generate an html page to display the meeting minutes
  • Add the meeting minutes to an index page that lists all published meeting minutes

Search Box May Not Be Searching The User Guide As Intended

At https://grails.org/search.html is the following:

You can search the Grails® website, the Grails documentation, and the Grails APIs with the Google Custom Search box below. Please type your search query and hit enter.

The search box is supposed to be searching the Grails docs but if I search for common terms like "controller" or "taglib" or "gsp", none of those yield any results from the user guide. It does find results in the Groovy documentation. I think that should be configured to search at least the user guide and the javadocs.

Secure Links

Most of the pages are currently refer to HTTP links

Dead links

Hi, since grailsexamples website doesn't exist anymore, I think that all it links should be replaced in/deleted from the documentation.

Common events calendar

I suggest that a website to manage events is to be made, that way event makers and conference organizers has one central place to maintain conferences related to Grails.

When I get around to it, I will start such initiative. This is a placeholder to see if there is any interest in the matter.

Also suggested for the Groovy Website: groovy/groovy-website#93

Issue with the guide provided on https://grails.org/download.html

I am starting out with grails. I followed the tutorials to install grails using sdkman as provided on https://grails.org/download.html.

but when checking after the installation the following error appears.

[kishorevignesh@localhost ~]$ grails
Usage:
create-app [NAME] --profile=web
create-plugin [NAME] --profile=web-plugin

| Error Error occurred running Grails CLI: null (Use --stacktrace to see the full trace)

and when it do.

[kishorevignesh@localhost ~]$ grails --stacktrace
Usage:
create-app [NAME] --profile=web
create-plugin [NAME] --profile=web-plugin

| Error Error occurred running Grails CLI: null (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
java.lang.NullPointerException
at org.grails.cli.profile.git.GitProfileRepository.getAllProfiles(GitProfileRepository.groovy:72)
at org.grails.cli.profile.commands.ListProfilesCommand.handle(ListProfilesCommand.groovy:43)
at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:233)
at org.grails.cli.GrailsCli.getBaseUsage(GrailsCli.groovy:176)
at org.grails.cli.GrailsCli.execute(GrailsCli.groovy:222)
at org.grails.cli.GrailsCli.main(GrailsCli.groovy:153)
| Error Error occurred running Grails CLI: null

Security/Vulnerability info page

All software has vulnerabilities from time to time - it would be nice if there was a page on the grails site that listed them, affected versions, and any action a user would need to take to address them (or no action is needed)

Would be a good reference for security reports that scan and see lib-xyz and instantly flag it.

[SECURITY] Grails Download page is HTTP by default

Navigating from the homepage: https://grails.org/ and clicking on the 'Download' link brings you to:
http://grails.org/download.html

This page can be maliciously compromised to inject malicious scripts into the copy/paste sections:
http://thejh.net/misc/website-terminal-copy-paste

Solution: The Grails documentation site should only be available over HTTPS.

Also, the server should start responding with the Strict-Transport-Security header to ensure that browsers automatically connect to the HTTPS instance of the site.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security

Related: grails/grails-core#11250

Move Guide suggestion form to the bottom of the page

@ZacharyKlein

On the new Grails Guides site, the combination of the topic request form and tag cloud push the actual guides down almost two screens (on mobile). Would it make more sense to put that form at the bottom of the page, after the Guides? Seems more natural to have the request form following the existing Guides anyway.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.