Commit 888ed518 authored by Dan Allen's avatar Dan Allen Committed by Guillaume Grossetie
Browse files

configure SEO metadata

- define homepage in package.json
- define author in package.json
- define contributors in package.json
- map description to UI model
- map tagline to UI model
- move title to tagline and set title as AsciiDoc
- add README
- add summary image
parent a728f344
= asciidoc.org
This repository hosts the source and build for the asciidoc.org site.
== Trademarks
AsciiDoc(R) is a trademark of the Eclipse Foundation, Inc.
......@@ -11,6 +11,8 @@ class DocumentModelConverter {
if (transform === 'embedded') {
const blocks = node.getBlocks()
this.result.title = node.getTitle()
this.result.tagline = node.getAttribute('tagline')
this.result.description = node.getAttribute('description')
for (const block of blocks) {
if (block.getNodeName() === 'preamble') {
this.result['preamble'] = {
......
......@@ -2,6 +2,13 @@
"name": "asciidoc.org",
"private": true,
"version": "1.0.0",
"author": "AsciiDoc Working Group",
"contributors": [
"Guillaume Grossetie <ggrossetie@yuzutech.fr>",
"Dan Allen <dan@opendevise.com>",
"Sarah White <sarah@opendevise.com>"
],
"homepage": "https://asciidoc.org",
"license": "EPL-2.0",
"scripts": {
"lint": "npm run lint:js && npm run lint:css",
......
{# Main URL #}
<link rel="canonical" href="{{ pkg.homepage + page.url }}">
<meta property="og:url" content="{{ pkg.homepage + page.url }}">
{# Site name & author #}
<meta property="og:site_name" content="{{ pkg.author }}">
<meta name="description" content="{{ content.description }}">
<meta property="og:description" content="{{ content.description }}">
<meta property="og:site_name" content="{{ pkg.name }}">
<meta property="og:type" content="article">
<meta name="author" content="{{ pkg.author }}">
<meta name="og:article:author" content="{{ pkg.author }}">
{# Title #}
<meta property="og:title" content="{{ title }}">
<meta name="twitter:title" content="{{ title }}">
{# Description #}
<meta name="description" content="{{ description }}">
<meta property="og:description" content="{{ description }}">
<meta name="twitter:description" content="{{ description }}">
{# Image #}
<meta property="og:image" content="{{ pkg.homepage + page.url + 'opengraph.jpg' }}">
<meta name="twitter:image" content="{{ pkg.homepage + page.url + 'opengraph.jpg' }}">
<meta property="og:image:height" content="630">
<meta property="og:image:width" content="1200">
{# Other stuffs :p #}
<meta property="og:type" content="article">
<meta property="article:published_time" content="{{ formattedDate }}">
<meta property="og:title" content="{{ content.title }}">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:creator" content="@">
<meta name="twitter:site" content="@">
<meta name="twitter:widgets:csp" content="on">
<meta name="twitter:data1" content="{{ formattedDate }}">
<meta name="twitter:label1" content="Published on">
{# TODO, maybe... ?? #}
{# <meta name="twitter:data2" content="10 minutes"> #}
{# <meta name="twitter:label2" content="Reading Time"> #}
{# <meta property="article:modified_time" content=""> #}
{# <meta property="article:expiration_time" content=""> #}
{# <meta property="article:section" content=""> #}
{# <meta property="article:tag" content=""> #}
<meta property="og:image" content="{{ pkg.homepage + page.url + 'assets/img/asciidoc-og.png' }}">
<meta property="og:image:height" content="1250">
<meta property="og:image:width" content="2500">
{% import "./_component.njk" as component %}
<!DOCTYPE html>
{% import "./_component.njk" as component %}<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{# % include 'seo.njk' % #}
{% include 'favicon.njk' %}
<title>AsciiDoc</title>
<link rel="stylesheet" href="./assets/css/main.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ content.title }}</title>
<link rel="stylesheet" href="./assets/css/main.css">
{% include 'seo.njk' %}
{% include 'favicon.njk' %}
</head>
<body>
<header class="header">
......@@ -25,7 +24,7 @@
</header>
<main class="main">
<section class="hero">
<h1>{{ content.title }}</h1>
<h1>{{ content.tagline }}</h1>
<div class="content">
{{ content.preamble.contents | safe }}
</div>
......
---
layout: main
---
= Publish presentation-rich content written in a concise and comprehensive authoring format.
= AsciiDoc
:includedir@: ./examples
:tagline: Publish presentation-rich content written in a concise and comprehensive authoring format.
:description: AsciiDoc is a human-readable, text editor-friendly document format evolved from plain text markup conventions, yet semantically analogous to XML schemas like DocBook and DITA.
AsciiDoc is used to write notes, articles, documentation, books, web pages, slides, man pages, etc.
AsciiDoc is a plain text markup language for writing technical content.
It's packed with semantic elements and equipped with features to modularize and reuse content.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment