* [Enancement] - Simplify local builds to lower bar for beginners Fixes #2215 * [Enancement] - Simplify local builds to lower bar for beginners Fixes #2215 📄 missing `npm install step` added to README.md Signed-off-by: Patrik Gfeller <patrik.gfeller@gmail.com> * 🐞 problems resolved after reabse/update to latest main branch. Signed-off-by: Patrik Gfeller <patrik.gfeller@gmail.com> * 🔃 Squashed commit of the following: commitpull/2267/head6774910167
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sun Feb 25 17:23:01 2024 +1000 Convert pwm, pid, map icons to svg and add jinja logo (#2253) * Replace map icon with svg version Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> * Replace pidcontroller icon with svg version Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> * Replace pwm icon with svg version Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> * Add jinja logo Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> --------- Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commit6f39e146f4
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sun Feb 25 08:15:21 2024 +1000 Add icon for scale transformation (#2252) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commit67a019a2df
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sun Feb 25 00:55:02 2024 +1000 Add pwm icon (#2251) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commita03e4c072b
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sun Feb 25 00:54:22 2024 +1000 PIDController icon: Make lines thicker (#2250) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commit7308a413a0
Author: Kai Kreuzer <kai@openhab.org> Date: Sat Feb 24 14:57:54 2024 +0100 Fix typo in tutorial (#2249) Signed-off-by: Kai Kreuzer <kai@openhab.org> commitccb7e64bf0
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sat Feb 24 18:15:21 2024 +1000 Make basicui icon a bit bigger and more visible (#2247) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commitd9664d9ac4
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sat Feb 24 18:10:22 2024 +1000 Add icon for pidcontroller (#2248) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commitbcba38ebb3
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sat Feb 24 08:31:23 2024 +1000 Add an icon for map transformation (#2240) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commitf8ebab4e33
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Sat Feb 24 03:23:06 2024 +1000 Add icon for Basic UI (#2242) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> commitab958f9397
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri Feb 23 18:21:57 2024 +0100 Bump ip from 1.1.5 to 1.1.9 (#2244) Bumps [ip](https://github.com/indutny/node-ip) from 1.1.5 to 1.1.9. - [Commits](https://github.com/indutny/node-ip/compare/v1.1.5...v1.1.9) --- updated-dependencies: - dependency-name: ip dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: stefan-hoehn <mail@stefanhoehn.com> commitdedb16a37c
Author: Florian Hotze <florianh_dev@icloud.com> Date: Fri Feb 23 16:52:57 2024 +0100 Use SVG logos for DoorBird & Govee (#2246) Signed-off-by: Florian Hotze <florianh_dev@icloud.com> commit749a656520
Author: jimtng <2554958+jimtng@users.noreply.github.com> Date: Fri Feb 23 18:29:36 2024 +1000 Add sqlite icon (#2238) Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au> Signed-off-by: Patrik Gfeller <patrik.gfeller@gmail.com> * Update README.md Signed-off-by: stefan-hoehn <mail@stefanhoehn.com> * Update README.md Signed-off-by: stefan-hoehn <mail@stefanhoehn.com> --------- Signed-off-by: Patrik Gfeller <patrik.gfeller@gmail.com> Signed-off-by: stefan-hoehn <mail@stefanhoehn.com> Co-authored-by: stefan-hoehn <mail@stefanhoehn.com>
parent
a64d0e6e0d
commit
475c5d70a1
|
@ -1,3 +1,4 @@
|
||||||
addons-*
|
addons-*
|
||||||
public/logos
|
public/logos
|
||||||
tmp
|
tmp
|
||||||
|
dist
|
||||||
|
|
|
@ -1,94 +0,0 @@
|
||||||
const DocsSidebarNavigation = require('./docs-sidebar.js')
|
|
||||||
|
|
||||||
const fs = require ('fs-extra')
|
|
||||||
const path = require('path')
|
|
||||||
// const CopyWebpackPlugin = require('copy-webpack-plugin')
|
|
||||||
|
|
||||||
const HighlightDsl = require('./highlight-dsl')
|
|
||||||
const HighlightRules = require('./highlight-rules')
|
|
||||||
|
|
||||||
const base = process.env.OH_DOCS_VERSION ? `/v${process.env.OH_DOCS_VERSION}/` : '/'
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
title: 'v4 Documentation Preview',
|
|
||||||
description: 'This is a preview of the main parts of the documentation, found in the openhab/openhab-docs repository',
|
|
||||||
dest: 'vuepress',
|
|
||||||
host: 'localhost',
|
|
||||||
plugins: ['tabs', 'container'],
|
|
||||||
base,
|
|
||||||
head: [
|
|
||||||
['link', { rel: 'stylesheet', href: `/fonts/fonts.css` }],
|
|
||||||
['link', { rel: 'icon', href: `/favicon.ico` }],
|
|
||||||
['link', { rel: 'shortcut icon', href: `/favicon.ico` }],
|
|
||||||
['link', { rel: 'apple-touch-icon', href: `/apple-icon.png` }],
|
|
||||||
// ['link', { rel: 'stylesheet', href: `https://fonts.googleapis.com/css?family=Open+Sans:300,400` }],
|
|
||||||
['meta', { property: 'og:type', content: 'website' }],
|
|
||||||
['meta', { property: 'og:image', content: 'https://www.openhab.org/og-image.png' }],
|
|
||||||
// ['meta', { property: 'og:title', content: 'openHAB' }],
|
|
||||||
// ['meta', { property: 'og:description', content: 'a vendor and technology agnostic open source automation software for your home' }],
|
|
||||||
// ['script', { src: `https://identity.netlify.com/v1/netlify-identity-widget.js` }]
|
|
||||||
],
|
|
||||||
extendMarkdown(md) {
|
|
||||||
md.options.linkify = true
|
|
||||||
const highlight = md.options.highlight
|
|
||||||
md.options.highlight = (str, lang) => {
|
|
||||||
if (!Prism.languages.dsl || !Prism.languages.rules) {
|
|
||||||
Prism.languages.dsl = HighlightDsl
|
|
||||||
Prism.languages.rules = HighlightRules
|
|
||||||
}
|
|
||||||
|
|
||||||
if (['nginx', 'bash', 'python', 'js', 'javascript', 'groovy'].indexOf(lang) >= 0) return highlight(str, lang)
|
|
||||||
|
|
||||||
/* Simple heuristics to detect rules & other openHAB DSL code snippets and override the language */
|
|
||||||
if (str.match(/\b(?:Color|Contact|Dimmer|Group|Number|Player|Rollershutter|Switch|Location|Frame|Default|Text|Group|Selection|Setpoint|Slider|Colorpicker|Chart|Webview|Mapview|Image|Video|Item|Thing|Bridge|Time|Type|Sitemap|sitemap)\b/)) {
|
|
||||||
lang = 'dsl'
|
|
||||||
}
|
|
||||||
if (str.match(/\b(?:String|DateTime)\b/) && lang !== 'java' && lang !== 'xml') {
|
|
||||||
lang = 'dsl'
|
|
||||||
}
|
|
||||||
if ((str.match(/\brule\b/) && str.match(/\bwhen\b/) && str.match(/\bthen\b/) && str.match(/\bend\b/)) ||
|
|
||||||
str.match(/received update/) || str.match(/changed.*(?:from|to)/) || str.match(/Channel.*triggered/) ||
|
|
||||||
str.match(/\bval\b/) || str.match(/\bvar\b/) /* <-- dangerous! */) {
|
|
||||||
|
|
||||||
lang = 'rules'
|
|
||||||
}
|
|
||||||
if (lang === 'shell' || lang === 'sh' || lang === 'shell_session') lang = 'bash'
|
|
||||||
if (lang === 'conf') lang = 'dsl'
|
|
||||||
if (lang === 'JSON') lang = 'json'
|
|
||||||
// if (lang === 'xtend' || lang === 'text' || !lang) {
|
|
||||||
// console.log('Cannot determine language of code: ' + lang)
|
|
||||||
// console.log(str)
|
|
||||||
// }
|
|
||||||
|
|
||||||
return highlight(str, lang)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// configureWebpack: (config, isServer) => {
|
|
||||||
// config.plugins.push(new CopyWebpackPlugin([
|
|
||||||
// { from: '.vuepress/_redirects', to: '.'},
|
|
||||||
// { from: '.vuepress/_headers', to: '.'},
|
|
||||||
// ]))
|
|
||||||
// },
|
|
||||||
serviceWorker: false,
|
|
||||||
themeConfig: {
|
|
||||||
logo: `/openhab-logo.png`,
|
|
||||||
// repo: 'openhab',
|
|
||||||
editLinks: false,
|
|
||||||
activeHeaderLinks: false,
|
|
||||||
sidebarDepth: 0,
|
|
||||||
docsDir: 'docs',
|
|
||||||
nav: [
|
|
||||||
{
|
|
||||||
text: 'Documentation',
|
|
||||||
link: '/docs/',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'GitHub',
|
|
||||||
link: 'https://github.com/openhab/openhab-docs',
|
|
||||||
}
|
|
||||||
],
|
|
||||||
sidebar: {
|
|
||||||
'/docs/': DocsSidebarNavigation
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
import { DefaultThemeConfig, UserConfig, defineConfig } from "vuepress/config";
|
||||||
|
|
||||||
|
const DocsSidebarNavigation = require('./docs-sidebar.js')
|
||||||
|
|
||||||
|
const base = process.env.OH_DOCS_VERSION
|
||||||
|
? `/v${process.env.OH_DOCS_VERSION}/`
|
||||||
|
: '/'
|
||||||
|
|
||||||
|
const config: UserConfig<DefaultThemeConfig> = {
|
||||||
|
title: 'v4 Documentation Preview',
|
||||||
|
description: 'This is a preview of the main parts of the documentation, found in the openhab/openhab-docs repository',
|
||||||
|
dest: 'vuepress',
|
||||||
|
host: 'localhost',
|
||||||
|
plugins: [
|
||||||
|
// @ts-ignore
|
||||||
|
'tabs',
|
||||||
|
'container'
|
||||||
|
],
|
||||||
|
// @ts-ignore
|
||||||
|
base: base,
|
||||||
|
patterns: [
|
||||||
|
'docs/**/*.md',
|
||||||
|
'addons/integrations/**/*.md',
|
||||||
|
'**/*.vue'],
|
||||||
|
configureWebpack: {
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.(drawio|xml|txt)$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
use: 'null-loader'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
head: [
|
||||||
|
['link', { rel: 'stylesheet', href: `/fonts/fonts.css` }],
|
||||||
|
['link', { rel: 'icon', href: `/favicon.ico` }],
|
||||||
|
['link', { rel: 'shortcut icon', href: `/favicon.ico` }],
|
||||||
|
['link', { rel: 'apple-touch-icon', href: `/apple-icon.png` }],
|
||||||
|
['meta', { property: 'og:type', content: 'website' }],
|
||||||
|
['meta', { property: 'og:image', content: 'https://www.openhab.org/og-image.png' }],
|
||||||
|
|
||||||
|
],
|
||||||
|
themeConfig: {
|
||||||
|
logo: `/openhab-logo.png`,
|
||||||
|
editLinks: false,
|
||||||
|
activeHeaderLinks: false,
|
||||||
|
sidebarDepth: 0,
|
||||||
|
docsDir: 'docs',
|
||||||
|
nav: [
|
||||||
|
{
|
||||||
|
text: 'Documentation',
|
||||||
|
link: '/docs/',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'GitHub',
|
||||||
|
link: 'https://github.com/openhab/openhab-docs',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
sidebar: {
|
||||||
|
'/docs/': DocsSidebarNavigation
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default defineConfig(config);
|
40
README.md
40
README.md
|
@ -50,12 +50,6 @@ Imagine you want to do an improvement of the zwave binding and have to update th
|
||||||
That's twice the effort and also we would have to coordinate two Pull Requests.
|
That's twice the effort and also we would have to coordinate two Pull Requests.
|
||||||
So we are saving time for everyone by keeping those files at their original location along with the code.
|
So we are saving time for everyone by keeping those files at their original location along with the code.
|
||||||
|
|
||||||
::: tip UNDER REVIEW
|
|
||||||
|
|
||||||
The process below is subject to changes until the openHAB.x website become the production one.
|
|
||||||
|
|
||||||
:::
|
|
||||||
|
|
||||||
### How the documentation build works
|
### How the documentation build works
|
||||||
|
|
||||||
We have set up our [build server](https://ci.openhab.org/view/Documentation/) to do the magic automatically.
|
We have set up our [build server](https://ci.openhab.org/view/Documentation/) to do the magic automatically.
|
||||||
|
@ -85,6 +79,40 @@ When one of these jobs is finished, it will then notify our website hosting serv
|
||||||
This is recognized due to new commits in the final branch of this repository.
|
This is recognized due to new commits in the final branch of this repository.
|
||||||
The new build will include all the latest changes in the code repository and in all external repositories.
|
The new build will include all the latest changes in the code repository and in all external repositories.
|
||||||
|
|
||||||
|
### How to build the documentation locally
|
||||||
|
|
||||||
|
It is possible to build a preview version of the documentation on your local machine. The following software is required:
|
||||||
|
|
||||||
|
- [`node =16.20.1`](https://nodejs.org/en)
|
||||||
|
- [`ruby >=3.0.2`](https://www.ruby-lang.org/en/)
|
||||||
|
- [`Python >= 3.10.12`](https://www.python.org)
|
||||||
|
|
||||||
|
If you work on multiple node projects [Node Version Manager](https://github.com/nvm-sh/nvm) is recommended in case they use a different version of node.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ nvm install 16
|
||||||
|
# ...
|
||||||
|
$ nvm use 16
|
||||||
|
Now using node v16.20.2 (npm v8.19.4)
|
||||||
|
$ npm install
|
||||||
|
# ...
|
||||||
|
$ npm run serve
|
||||||
|
# ...
|
||||||
|
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
|
||||||
|
```
|
||||||
|
|
||||||
|
The local preview is available under the following options
|
||||||
|
|
||||||
|
- [http://0.0.0.0:8000/docs](http://0.0.0.0:8000/docs)
|
||||||
|
- [http://localhost:8000/docs](http://localhost:8000/docs)
|
||||||
|
- [http://[::]/:8000/docs](http://[::]:8000/docs)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
This will also allow you to preview how the page renders on different devices using the respective browser tools.
|
||||||
|
|
||||||
## Documentation Versioning
|
## Documentation Versioning
|
||||||
|
|
||||||
Just as openHAB is released in versions, the documentation website provides fixed versions of the documentation articles, e.g., [https://www.openhab.org/v2.2/installation/linux.html](https://www.openhab.org/v2.2/installation/linux.html)
|
Just as openHAB is released in versions, the documentation website provides fixed versions of the documentation articles, e.g., [https://www.openhab.org/v2.2/installation/linux.html](https://www.openhab.org/v2.2/installation/linux.html)
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 60 KiB |
File diff suppressed because it is too large
Load Diff
28
package.json
28
package.json
|
@ -1,13 +1,20 @@
|
||||||
{
|
{
|
||||||
"name": "openhab-docs",
|
"name": "openhab-docs",
|
||||||
"version": "3.0.0",
|
"version": "4.1.0",
|
||||||
"description": "openHAB Documentation",
|
"description": "openHAB Documentation",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepare-docs": "ruby prepare-docs.rb",
|
"build-only": "vuepress build .",
|
||||||
"build-preview": "ruby prepare-docs.rb --delete-sources && vuepress build .",
|
"prebuild-preview-local": "ruby prepare-docs.rb",
|
||||||
"build-preview-local": "ruby prepare-docs.rb && vuepress build .",
|
"build-preview-local": "cross-env LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 NODE_OPTIONS=--openssl-legacy-provider && npx vuepress build .",
|
||||||
"build-only": "vuepress build ."
|
"build-preview": "npm run build-only",
|
||||||
|
"postinstall": "npm dedupe && npm prune",
|
||||||
|
"prebuild-preview": "ruby prepare-docs.rb",
|
||||||
|
"preserve": "npm run build-preview-local",
|
||||||
|
"serve": "python3 -m http.server --directory vuepress"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.20.1 <17"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -20,10 +27,17 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/openhab/openhab-docs#readme",
|
"homepage": "https://github.com/openhab/openhab-docs#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"cross-env": "^7.0.3",
|
||||||
|
"null-loader": "^4.0.1",
|
||||||
"vue-tabs-component": "^1.5.0",
|
"vue-tabs-component": "^1.5.0",
|
||||||
"vuepress": "^1.5.0",
|
"vuepress": "^1.9.10",
|
||||||
"vuepress-plugin-container": "^2.1.4",
|
"vuepress-plugin-container": "^2.1.4",
|
||||||
"vuepress-plugin-tabs": "^0.3.0",
|
"vuepress-plugin-tabs": "^0.3.0",
|
||||||
"webpack-serve": "^3.1.1"
|
"webpack-serve": "^3.2.0"
|
||||||
|
},
|
||||||
|
"overrides": {
|
||||||
|
"vue": "=2.6.14",
|
||||||
|
"vue-server-renderer": "=2.6.14",
|
||||||
|
"vue-template-compiler": "=2.6.14"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,16 +32,6 @@ end
|
||||||
process_main_docs(".")
|
process_main_docs(".")
|
||||||
add_placeholder_pages()
|
add_placeholder_pages()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (ARGV[0] && ARGV[0] == "--delete-sources") then
|
|
||||||
puts ">>> !!! Deleting source files - for ephemeral clones only!"
|
|
||||||
FileUtils.rm_rf(Dir.glob("addons/*.md"))
|
|
||||||
["administration", "appendix", "community", "configuration", "developers", "installation", "tutorials"].each { |d|
|
|
||||||
FileUtils.rm_rf(d)
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
# Regenerate the classic iconset docs
|
# Regenerate the classic iconset docs
|
||||||
#puts ">>> Generating iconset"
|
#puts ">>> Generating iconset"
|
||||||
#system("ruby generate_iconset_doc.rb #{docs_source_dir}/_addons_iconsets classic #{docs_source_dir}/_data docs/configuration/iconsets")
|
#system("ruby generate_iconset_doc.rb #{docs_source_dir}/_addons_iconsets classic #{docs_source_dir}/_data docs/configuration/iconsets")
|
||||||
|
|
|
@ -28,4 +28,4 @@ An unordered loose list (applied if bigger or with nested lists):
|
||||||
|
|
||||||
- Some more text
|
- Some more text
|
||||||
|
|
||||||
- And even more text that could also strech over multiple lines
|
- And even more text that could also stretch over multiple lines
|
||||||
|
|
Loading…
Reference in New Issue