Newer
Older
require("dotenv").config()
const PF_DOMAIN = process.env.PF_DOMAIN || "demo.onegeosuite.fr"
const PF_PROTOCOL = process.env.PF_PROTOCOL || "https"
const PF_PORT = process.env.PF_PORT || 443
const PF_URL =
PF_PORT != 443 && PF_PORT != 80
? PF_PROTOCOL + "://" + PF_DOMAIN + ":" + PF_PORT
: PF_PROTOCOL + "://" + PF_DOMAIN
const DIRECTUS_URL = process.env.DIRECTUS_URL || PF_URL + "/directus/"
console.info("Plateform URL = ", PF_URL)
console.info("Directus URL = ", DIRECTUS_URL, process.env.DIRECTUS_TOKEN)
siteMetadata: {
title: `Onegeo Portal`,
subtitle: `Hub géospatial collaboratif`,
description: `Solution Open Source sur-mesure pour communiquer et valoriser les données disponibles sur votre territoire ou vos infrastructures`,
author: `NEOGEO`,
// Required for gatsby-plugin-sitemap
siteUrl: PF_URL,
plugins: [
`gatsby-plugin-react-helmet`,
`gatsby-plugin-typescript`,
`gatsby-plugin-image`,
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
`gatsby-plugin-sitemap`,
{
resolve: `gatsby-plugin-env-variables`,
options: {
allowList: [
"PROJECT_INTERNAL_PROTOCOL",
"PROJECT_INTERNAL_HOST",
"PROJECT_INTERNAL_PORT",
"PROJECT_PROTOCOL",
"PROJECT_HOST",
"PROJECT_PORT",
"PROJECT_URL",
"OGS_EXPLORER_PATH",
"OGS_LOGIN_PATH",
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/images`,
},
process.env.NODE_ENV === `development`
? {
resolve: `gatsby-plugin-page-creator`,
options: {
path: `${__dirname}/src/pages-doc`,
},
}
: {
resolve: `gatsby-plugin-page-creator`,
options: {
path: `${__dirname}/src/pages`,
},
},
{
resolve: `gatsby-plugin-feed`,
options: {
query: `
{
directus {
site {
id
theme
title
description
author
}
}
site {
siteMetadata {
title
description
siteUrl
}
}
}
`,
feeds: [
{
serialize: ({ query: { site, directus } }) => {
return directus.news.map((item) => {
const baseUrl = [
site.siteMetadata.siteUrl,
site.pathPrefix || "",
"news",
].join("/")
const thumbnail =
item.image?.imageFile?.publicURL
const thumbnailUrl = thumbnail
? site.siteMetadata.siteUrl +
encodeURI(thumbnail)
return Object.assign(
{},
{
title: item.title,
description: item.content,
url: baseUrl + "/" + item.slug,
guid: baseUrl + "/" + item.slug,
enclosure: {
url: thumbnailUrl,
},
category: "news",
}
)
})
},
query: `
directus {
news(
filter: { status: { _eq: "published" } }
sort: "-date_published"
) {
id
slug
content
abstract
title
date_published
image {
id
imageFile {
publicURL
}
}
categories {
id
name
label
}
}
}
title: "Onegeo Suite Portal RSS Feed",
},
],
},
},
resolve: "@onegeo-suite/gatsby-source-directus",
auth: {
token: process.env.DIRECTUS_TOKEN,
},
},
},
{
resolve: "@onegeo-suite/gatsby-plugin-auth",
options: {},
},
// this (optional) plugin enables Progressive Web App + Offline functionality
// To learn more, visit: https://gatsby.dev/offline
// `gatsby-plugin-offline`,
],
{
// Access Geoserver API
prefix: "/geoserver",
url: PF_URL,
},
{
// Access Metabase API
prefix: "/metabase",
url: PF_URL,
},
{
// Access OGS Explorer API
prefix: "/fr",
url: PF_URL,
},
{
// Access OGS Maps API
prefix: "/maps",
url: PF_URL,
},
{
// Access Mapstore API
prefix: "/geoportal",
url: PF_URL,
},
],