From ff3d5107d4e2045cc73e8f5badeab823be21cd73 Mon Sep 17 00:00:00 2001 From: Leon van Kammen Date: Fri, 24 Jul 2026 20:57:43 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20master:=20work=20in=20progress?= =?UTF-8?q?=20[might=20break]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + src/.init.lua | 12 ++++++--- src/plugin/clouddrive.lua | 57 +++++++++++++++++++++++++++++++++++++++ src/plugin/git.lua | 43 +++++++++++++++++++++++++++++ src/plugin/markdown.lua | 36 +++++++++++++++++++++++++ src/plugin/webhook.lua | 57 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 202 insertions(+), 4 deletions(-) create mode 100644 src/plugin/clouddrive.lua create mode 100644 src/plugin/git.lua create mode 100644 src/plugin/markdown.lua create mode 100644 src/plugin/webhook.lua diff --git a/README.md b/README.md index 1fe7f6c..eaeb40a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ scan files ## Ideas +* tabs horizontal stacked for xrforge.max.css * fuzzy search: https://github.com/ssimonp/FuzzySearch-Roblox * landingpage = /about * scan functions in xrforge.lua / .xrforge diff --git a/src/.init.lua b/src/.init.lua index 26de663..1888f5a 100644 --- a/src/.init.lua +++ b/src/.init.lua @@ -35,10 +35,14 @@ app.init = function() end app.opts = require('config')(app) -- load system plugins -app.plugin.moderation = require('plugin/moderation') -app.plugin.diskscan = require('plugin/diskscan') -app.plugin.manyfold = require('plugin/manyfold') -app.plugin.janusxr = require('plugin/janusxr') +app.plugin.moderation = require('plugin/moderation') +app.plugin.diskscan = require('plugin/diskscan') +app.plugin.manyfold = require('plugin/manyfold') +app.plugin.janusxr = require('plugin/janusxr') +app.plugin.git = require('plugin/git') +app.plugin.clouddrive = require('plugin/clouddrive') +app.plugin.webhook = require('plugin/webhook') +app.plugin.markdown = require('plugin/markdown') -- ensure plugin config-defaults foreach( app.plugin, function(name,plugin) diff --git a/src/plugin/clouddrive.lua b/src/plugin/clouddrive.lua new file mode 100644 index 0000000..9671314 --- /dev/null +++ b/src/plugin/clouddrive.lua @@ -0,0 +1,57 @@ +local util = require('util') + +app.on('scan_experience', function(exp) + --print_r(exp) +end) + +app.on('scan_experience_file', function(exp) +end) + +app.on('set', function(k,v) + print("content was updated") +end) + +-- this registers the plugin UI +local plugin = { + name = 'Cloud drives disabled', + info = '', + opts = { + { + key='app.opts.plugin_clouddrive_webdir', + title='Webdirectory URL', + info='scan for experiences in open webdirs (apache/lighttpd/nginx/rclone/archive.org/copyparty)', + default="https://archive.org/download/janusxr-1", + values='' + }, + { + key='app.opts.plugin_clouddrive_remotestorage', + title='Remotestorage URL', + info='scan for experiences via remotestorage protocol (via 5apps e.g.', + default="username@5apps.com", + values='' + }, + { + key='app.opts.plugin_clouddrive_webdav', + title='WebDav URL', + info='scan for experiences in WebDav-drive (NextCloud/copyparty e.g.) via rclone', + default="", + values='' + }, + { + key='app.opts.plugin_clouddrive_dropbox', + title='Dropbox remote', + info='scan for experiences in Dropbox via rclone', + default="", + values='' + }, + { + key='app.opts.plugin_clouddrive_gdrive', + title='Gdrive remote', + info='scan for experiences in Google Drive via rclone', + default="", + values='' + } + } +} + +return plugin diff --git a/src/plugin/git.lua b/src/plugin/git.lua new file mode 100644 index 0000000..764329e --- /dev/null +++ b/src/plugin/git.lua @@ -0,0 +1,43 @@ +local util = require('util') + +app.on('scan_experience', function(exp) + --print_r(exp) +end) + +app.on('scan_experience_file', function(exp) +end) + +app.on('set', function(k,v) + print("content was updated") +end) + +-- this registers the plugin UI +local plugin = { + name = 'Git disabled', + info = '', + opts = { + { + key='app.opts.plugin_git_repo_1', + title='Git repo 1 URL', + info='git repository to scan experiences', + default="https://codeberg.org/myuser/reponame", + values='' + }, + { + key='app.opts.plugin_git_repo_2', + title='Git repo 2 URL', + info='git repository to scan experiences', + default="", + values='' + }, + { + key='app.opts.plugin_git_repo_3', + title='Git repo 3 URL', + info='git repository to scan experiences', + default="", + values='' + } + } +} + +return plugin diff --git a/src/plugin/markdown.lua b/src/plugin/markdown.lua new file mode 100644 index 0000000..2a7bc31 --- /dev/null +++ b/src/plugin/markdown.lua @@ -0,0 +1,36 @@ +local util = require('util') + +app.on('scan_experience', function(exp) + --print_r(exp) +end) + +app.on('scan_experience_file', function(exp) +end) + +app.on('set', function(k,v) + print("content was updated") +end) + +-- this registers the plugin UI +local plugin = { + name = 'Markdown disabled', + info = '', + opts = { + { + key='app.opts.plugin_markdown_files', + title='Markdown files', + info='Space-separated, lua patterns are allowed', + default="README.md", + values='' + }, + { + key='app.opts.plugin_markdown_strategy', + title='Markdown strategy', + info='', + default="README.md", + values={headerparagraph='title is first header + 1st paragraph is description',disabled='disabled'} + }, + } +} + +return plugin diff --git a/src/plugin/webhook.lua b/src/plugin/webhook.lua new file mode 100644 index 0000000..27616aa --- /dev/null +++ b/src/plugin/webhook.lua @@ -0,0 +1,57 @@ +local util = require('util') + +app.on('scan_experience', function(exp) + --print_r(exp) +end) + +app.on('scan_experience_file', function(exp) +end) + +app.on('set', function(k,v) + print("content was updated") +end) + +-- this registers the plugin UI +local plugin = { + name = 'Webhooks disabled', + info = '', + opts = { + { + key='app.opts.plugin_webhook_method', + title='Webhook method', + info='http method to use', + default="POST", + values={POST="POST",GET="GET"} + }, + { + key='app.opts.plugin_webhook_format', + title='Webhook format', + info='http format to use', + default="JSON", + values={JSON="JSON",text="text"} + }, + { + key='app.opts.plugin_webhook_url_1', + title='Webhook URL 1', + info='URL to trigger when changes occur', + default="", + values='' + }, + { + key='app.opts.plugin_webhook_url_2', + title='Webhook URL 2', + info='URL to trigger when changes occur', + default="", + values='' + }, + { + key='app.opts.plugin_webhook_url_3', + title='Webhook URL 3', + info='URL to trigger when changes occur', + default="", + values='' + } + } +} + +return plugin