generated from polymech/site-template
178 lines
6.0 KiB
TypeScript
178 lines
6.0 KiB
TypeScript
import * as path from 'path'
|
|
import { IMAGE_PRESET, E_BROADBAND_SPEED } from "./network.js"
|
|
import { resolve, template } from '@polymech/commons'
|
|
import { sync as read } from '@polymech/fs/read'
|
|
import { sanitizeUri } from 'micromark-util-sanitize-uri'
|
|
|
|
export const OSR_ROOT = () => path.resolve(resolve("${OSR_ROOT}"))
|
|
|
|
export const LOGGING_NAMESPACE = 'polymech-site'
|
|
export const TRANSLATE_CONTENT = true
|
|
export const LANGUAGES = ['en', 'ar', 'de', 'ja', 'es', 'zh', 'fr']
|
|
export const LANGUAGES_PROD = ['en', 'es', 'ar', 'de', 'ja', 'zh', 'fr', 'nl', 'it', 'pt']
|
|
export const isRTL = (lang) => lang === 'ar'
|
|
|
|
// i18n constants
|
|
export const I18N_STORE = (root, lang) => `${root}/i18n-store/store-${lang}.json`
|
|
export const I18N_SOURCE_LANGUAGE = 'en'
|
|
export const I18N_CACHE = true
|
|
export const I18N_ASSET_PATH = "${SRC_DIR}/${SRC_NAME}-${DST_LANG}${SRC_EXT}"
|
|
|
|
// Library - Howtos
|
|
|
|
export const HOWTO_GLOB = '**/config.json'
|
|
export const FILES_WEB = 'https://files.polymech.io/files/machines/howtos/'
|
|
|
|
export const HOWTO_ROOT = () => path.resolve(resolve("./public/resources/howtos"))
|
|
export const HOWTO_FILES_ABS = (id) => `${HOWTO_ROOT()}/${id}`
|
|
export const HOWTO_FILES_WEB = (id: string) => `${FILES_WEB}/${id}`
|
|
|
|
|
|
// Products
|
|
export const PRODUCT_ROOT = () => path.resolve(resolve("${OSR_ROOT}/products"))
|
|
export const PRODUCT_BRANCHES = read(path.join(PRODUCT_ROOT(), 'config/machines.json'), 'json')
|
|
export const PRODUCT_GLOB = '**/config.json'
|
|
export const ENABLED_PRODUCTS = "${OSR_ROOT}/products/config/machines.json"
|
|
export const PRODUCT_SPECS = (rel) => `${PRODUCT_ROOT()}/${rel}/specs.xlsx`
|
|
|
|
// Product compiler
|
|
export const PRODUCT_CONFIG = (product) =>
|
|
path.resolve(resolve(`${PRODUCT_ROOT()}/${product}/config.json`, false,
|
|
{
|
|
product
|
|
}))
|
|
export const PRODUCT_DIR = (product) => path.resolve(resolve(`${PRODUCT_ROOT()}/${product}`))
|
|
export const PRODUCT_HUGO_TEMPLATE = './osr/hugo/root.html'
|
|
export const PRODUCTS_TARGET_SRC = './src/content/en/retail'
|
|
export const PRODUCTS_TARGET = (lang) => `./content/${lang}/products`
|
|
|
|
// Product assets
|
|
export const ASSETS_LOCAL = false
|
|
export const ASSETS_GLOB = '*.+(JPG|jpg|jpeg|png|PNG|gif)'
|
|
|
|
// OSRL - Language
|
|
export const IS_DEV = true
|
|
export const OSRL_ENV = 'astro-release'
|
|
export const OSRL_ENV_DEV = 'astro-debug'
|
|
export const OSRL_ENVIRONMENT = IS_DEV ? OSRL_ENV_DEV : OSRL_ENV
|
|
export const OSRL_MODULE_NAME = 'polymech.io'
|
|
export const OSRL_PRODUCT_PROFILE = './src/config/profile.json'
|
|
export const OSRL_LANG_FLAVOR = 'osr'
|
|
|
|
// Tasks
|
|
export const TASK_CONFIG_LOG_DIRECTORY = './config/'
|
|
|
|
// Task: compile:content
|
|
export const TASK_COMPILE_CONTENT = true
|
|
export const TASK_COMPILE_CONTENT_CACHE = false
|
|
|
|
// Task - Logging
|
|
export const TASK_LOG_DIRECTORY = './logs/'
|
|
|
|
// Task - Retail Config
|
|
export const REGISTER_PRODUCT_TASKS = true
|
|
export const RETAIL_PRODUCT_BRANCH = 'site'
|
|
export const PROJECTS_BRANCH = 'projects'
|
|
export const RETAIL_COMPILE_CACHE = false
|
|
export const RETAIL_MEDIA_CACHE = true
|
|
export const RETAIL_LOG_LEVEL_I18N_PRODUCT_ASSETS = 'info'
|
|
|
|
export const ConvertProductMedia = true
|
|
export const TranslateProductAssets = false
|
|
export const PopulateProductDefaults = true
|
|
|
|
// CAD
|
|
export const CAD_MAIN_MATCH = (product) => `${product}/cad*/*Global*.+(SLDASM)`
|
|
export const CAD_CAM_MAIN_MATCH = (product) => `${product}/cad*/*-CNC*.+(SLDASM)`
|
|
|
|
export const CAD_CACHE = true
|
|
export const CAD_EXPORT_CONFIGURATIONS = false
|
|
export const CAD_EXPORT_SUB_COMPONENTS = true
|
|
export const CAD_MODEL_FILE_PATH = (SOURCE, CONFIGURATION = '') =>
|
|
SOURCE.replace('.json', `${CONFIGURATION ? '-' + CONFIGURATION : ''}.tree.json`)
|
|
export const CAD_DEFAULT_CONFIGURATION = 'Default'
|
|
export const CAD_RENDERER = 'solidworks'
|
|
export const CAD_RENDERER_VIEW = 'Render'
|
|
export const CAD_RENDERER_QUALITY = 1
|
|
export const CAD_EXTENSIONS = ['.STEP', '.html']
|
|
export const CAD_MODEL_EXT = '.tree.json'
|
|
|
|
export const CAD_URL = (file: string, variables: Record<string, string>) =>
|
|
sanitizeUri(template("${OSR_MACHINES_ASSETS_URL}/${file}", { file, ...variables }))
|
|
|
|
export const ASSET_URL = (file: string, variables: Record<string, string>) =>
|
|
sanitizeUri(template("${OSR_MACHINES_ASSETS_URL}/products/${product_rel_min}/${file}", { file, ...variables }))
|
|
|
|
export const ITEM_ASSET_URL = (variables: Record<string, string>) =>
|
|
template("${OSR_MACHINES_ASSETS_URL}/${ITEM_REL}/${assetPath}/${filePath}", variables)
|
|
|
|
|
|
//back compat - osr-cad
|
|
export const parseBoolean = (value: string): boolean => {
|
|
return value === '1' || value.toLowerCase() === 'true';
|
|
}
|
|
/////////////////////////////////////////////
|
|
//
|
|
// Rendering - Store
|
|
|
|
export const SHOW_DESCRIPTION = false
|
|
export const SHOW_LICENSE = true
|
|
export const SHOW_RENDERINGS = true
|
|
export const SHOW_TABS = false
|
|
export const SHOW_GALLERY = true
|
|
export const SHOW_FILES = true
|
|
export const SHOW_SPECS = true
|
|
export const SHOW_CHECKOUT = true
|
|
export const SHOW_CONTACT = true
|
|
export const SHOW_3D_PREVIEW = true
|
|
export const SHOW_RESOURCES = true
|
|
export const SHOW_DEBUG = false
|
|
export const SHOW_SAMPLES = true
|
|
export const SHOW_README = false
|
|
export const SHOW_RELATED = true
|
|
|
|
/////////////////////////////////////////////
|
|
//
|
|
// Plugins
|
|
|
|
// RSS
|
|
export const RSS_CONFIG =
|
|
{
|
|
title: 'Polymech RSS Feed',
|
|
description: '',
|
|
}
|
|
|
|
/////////////////////////////////////////////
|
|
//
|
|
// Defaults
|
|
export const DEFAULT_IMAGE_URL = 'https://picsum.photos/640/640'
|
|
export const default_image = () => {
|
|
return {
|
|
alt: 'none',
|
|
src: DEFAULT_IMAGE_URL
|
|
}
|
|
}
|
|
export const DEFAULT_LICENSE = `CERN Open Source Hardware License`
|
|
export const DEFAULT_CONTACT = `sales@plastic-hub.com`
|
|
/////////////////////////////////////////////
|
|
//
|
|
// Optimization
|
|
|
|
export const O_IMAGE = IMAGE_PRESET[E_BROADBAND_SPEED.MEDIUM]
|
|
export const IMAGE_SETTINGS =
|
|
{
|
|
GALLERY: {
|
|
SHOW_TITLE: true,
|
|
SHOW_DESCRIPTION: false,
|
|
SIZES_THUMB: O_IMAGE.sizes_thumbs,
|
|
SIZES_LARGE: O_IMAGE.sizes_large,
|
|
SIZES_REGULAR: O_IMAGE.sizes_medium
|
|
},
|
|
LIGHTBOX: {
|
|
SHOW_TITLE: true,
|
|
SHOW_DESCRIPTION: true,
|
|
SIZES_THUMB: O_IMAGE.sizes_thumbs,
|
|
SIZES_LARGE: O_IMAGE.sizes_large,
|
|
SIZES_REGULAR: O_IMAGE.sizes_medium
|
|
}
|
|
} |