/ / Comment définir l'étiquette de titre et la méta-description pour les pages autres que les publications dans Keystone JS? - keystonejs

Comment définir les balises de titre et les méta-descriptions pour les pages autres que les publications dans Keystone JS? - keystonejs

Je sais comment définir la balise de titre et la métadescription de mon article et des pages de catégorie car elles proviennent d'une base de données, mais je ne trouve pas dans KeystoneJS où les mettre à jour pour les autres pages - Accueil, Blog, etc.

Vous trouverez ci-dessous le code du guidon que j'utilise pour mes métadonnées. Chaque page qui n'est pas une "publication" utilise les options finales Else en bas.

{{#if data.post}}
{{#if data.post.meta.title}}
<title>{{data.post.meta.title}}</title>
<meta property="og:title" content="{{data.post.meta.title}}">
<meta name="twitter:title" content="{{data.post.meta.title}}">
{{else}}
<title>{{data.post.title}}</title>
<meta property="og:title" content="{{data.post.title}}">
<meta name="twitter:title" content="{{data.post.title}}">
{{/if}}
{{#if data.post.meta.description}}
<meta name="description" content="{{data.post.meta.description}}">
<meta property="og:description" content="{{data.post.meta.description}}">
<meta name="twitter:description" content="{{data.post.meta.description}}">
{{else}}
<meta name="description" content="{{data.post.content.brief}}">
<meta property="og:description" content="{{data.post.content.brief}}">
<meta name="twitter:description" content="{{data.post.content.brief}}">
{{/if}}
<meta property="og:type" content="article">
<meta name="twitter:card" content="summary_large_image">
<meta property="og:image" content="{{data.post.image.url}}">
<meta name="twitter:image:src" content="{{data.post.image.url}}">
<meta property="og:url" content="{{data.post.fullPostUrl}}">
<meta name="twitter:url" content="{{data.post.fullPostUrl}}">
<meta property="article:published_time" content="{{data.post.publishedDate}}">
{{# each data.post.categories}}
<meta property="article:tag" content="{{name}}">
{{/each}}
{{else}}
<title>GENERAL TITLE</title>
<meta propery="description" content="GENERAL DESCRIPTION">
<meta property="og:image" content="{{baseUrl}}/images/logo.png">
<meta name="twitter:image:src" content="{{baseUrl}}/images/logo.png">
{{/if}}

Je peux voir par défaut que Keystone utilise la même valeur pour toutes les pages.

http://demo.keystonejs.com/

Je vous remercie!

Réponses:

1 pour la réponse № 1

Si quelqu'un est curieux, j'ai pu accomplir cela en les chargeant directement depuis les itinéraires. Par exemple:

// Render the view
view.render("blog", {
title: "Blog",
description: "This is my blog meta description"
});