Use an HFS 2 'template' in HFS 3 - PRE-ALPHA stage

Overview

Tradit-TPL

Use an HFS 2 'template' in HFS 3 - PRE-ALPHA stage

Features

  • Speed! Always response within 10ms then stream the page
    (without file sorting, though not implemented yet)
  • Different "macro" concept, not interpreted but executed
    (code describes best; or just feel it)

Try it out

For it's way too early, not put to HFS "search online" list yet.

  1. Wait for HFS to release 0.22.3 or later, download & set it up.
    Couldn't wait anymore? Follow its guide to build, not that difficult.
  2. Clone (or download archive of) this repository
  3. Copy the dist folder to HFS plugin folder, rename as Tradit-TPL
  4. Launch HFS, go to admin UI, Plugin panel, enable this plugin
    First start will auto search & use bare.tpl for demo purpose
  5. Go to "Shared Files" panel, put some files/folders
  6. Browse files. See if it works
  7. prepare & go to a folder with music files, and enjoy the music player (will appear at left-bottom corner)

To change template, in Plugin panel, configure this plugin and pick other desired template file.

But currently none of existing templates will work perfectly.

FaQ

Expand FaQ

Why "Tradit-TPL"?
I casually took it from word "traditional". But that word is not the case -- we have new way.
And pronounce that "tra" as in "trap".

Is it secure enough?
Since it's non-production, it yet can't be determined.
But it's certainly true that so-called "injection" won't work!
Leave away from those tech imps. Test your case with good tools like OWASP ZAP, not a mouth.

Dev

  • Prepare: cd to repo, npm install
  • Transpile: npx tsc
Tips for Linux/*nix

Symlinking dist to plugin folder as Tradit-TPL helps.

Under X11 (yes, neither Windows/Wine nor Wayland), HFS can't reload correctly with npx tsc --watch, after 2 times.
Assign a keybinding to your DE (like KDE Plasma) to run touch /<DEV_PATH_HERE>/Tradit-TPL/dist/plugin.js. My choice is Ctrl+Alt+Shift+S.

Far more things are going to be changed, and many macros are not implemented yet.

Don't pay too much attention as for now...

Yawn... Bed time...

You might also like...

An unofficial SmartThings websocket API library (alpha)

An unofficial SmartThings websocket API library (alpha)

An unofficial SmartThings websocket API library (alpha) 💾 Installation This is a Node.js module available through the npm registry. $ npm i -S smart-

Sep 20, 2021

Alpha version of ALBot 2.0, the spiritual successor to ALBot

ALBot 2.0 Alpha Alpha version of ALBot 2.0, the spiritual successor to ALBot. ALBot 2.0 uses Discord.js to interface with the Discord API, supplanting

Nov 17, 2022

Team Alpha Super Awesome Cool Dynamite Wolf Squadron - 10 - Project 1

Team Alpha Super Awesome Cool Dynamite Wolf Squadron - 10 - Project 1

Super Hero Wiki This is a group project for our Interactive Front End Web Site. We created a Super Wiki that uses two (2) APIs to provide users a comi

Mar 24, 2022

🤖A Tic-Tac-Toe solver that uses the minimax algorithm and alpha-beta pruning to make it unbeatable

🤖A Tic-Tac-Toe solver that uses the minimax algorithm and alpha-beta pruning to make it unbeatable

Tic-Tac-Toe AI A Tic-Tac-Toe solver that uses the minimax algorithm and alpha-beta pruning to make it unbeatable How it Works Tic-Tac-Toe is what is k

May 20, 2022

NextJS BoilerPlate for Alpha version(Next.js + Styled Components + Customization + Theme)

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Oct 24, 2022

A full documentation on everything we know about Alpha 1.0.16 versions.

Minecraft's Alpha 1.0.16 Versions Before you start, make sure to watch RetroGamingNow's video about this first. Highly influenced (technically a port

Dec 23, 2022

Script bot WhatsApp Md lanjutan dari R-TXZY Lawas Up Ke Versi Alpha Edition

R-TXZY-MD Jangan lupa kasih stars & follow :) https://botcahx-rest-api.herokuapp.com/ Join Group Diskusi NO BOT Install for termux termux-setup-stor

Jan 5, 2023

Script bot WhatsApp Md lanjutan dari R-TXZY Lawas Up Ke Versi Alpha Edition

Script bot WhatsApp Md lanjutan dari R-TXZY Lawas Up Ke Versi Alpha Edition

R-TXZY-MD Jangan lupa kasih stars & follow :) Information Dikarenakan WhatsApp Sekarang Update Jadi Tidak Ada List Menu Terpaksa Bot Ini Di Ganti Menu

Aug 14, 2022

ALPHA build of re621 2.0

ALPHA build of re621 2.0

RE621 is a comprehensive project created to improve the basic user experience while browsing e621.net. It consists of several different modules that e

Dec 16, 2022

Pre-Configured list of Templates and Approval/Denial Reasons that is free for any Bot List or Bot List Staff to use!

Pre-Configured list of Templates and Approval/Denial Reasons that is free for any Bot List or Bot List Staff to use!

Infinity Cheat Sheet Pre-Configured list of templates that any Bot List or Bot List Staff are free to use! Website Preview Contributing I tried to mak

Jul 28, 2022

A jQuery plugin that recreates the Material Design pre-loader (as seen on inbox).

A jQuery plugin that recreates the Material Design pre-loader (as seen on inbox).

Material Design Preloader!s A jQuery plugin that recreates the Material Design preloader (as seen on inbox). I was fascinated when I first saw the pre

Dec 29, 2022

Pre-evaluate code at build-time with babel-macros

preval.macro This is a babel-plugin-macros macro for babel-plugin-preval. Please see those projects for more information. Installation This module is

Dec 16, 2022

Serverless Pre-Rendering Landing Page

Serverless Pre-Rendering Landing Page

Serverless Pre-Rendering Demo Read the blog post Checkout the demo Developing By default, the content on the site is based off our public Notion page.

Dec 21, 2022

O objetivo dessa aplicação era criar um frontend feito totalmente em Javascript, sem nenhum arquivo HTML ou CSS pré-criado. Além disso, esse projeto também é o frontend da minha API 100% NodeJS.

O objetivo dessa aplicação era criar um frontend feito totalmente em Javascript, sem nenhum arquivo HTML ou CSS pré-criado. Além disso, esse projeto também é o frontend da minha API 100% NodeJS.

Projeto HTML 100% Javascript Front-end feito "sem HTML" Conteúdos ➜ Sobre o projeto ➜ O que aprendi ➜ Como usar 🔎 Sobre o projeto Voltar ao topo O ob

Aug 3, 2021

Pre-assignment for Reaktor Developer Trainee, which shows the current live matches of rock-scissors-paper games, and history results

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Feb 2, 2022

A CLI for generating starter files for different JS frameworks with tailwindCSS pre-installed

A CLI for generating starter files for different JS frameworks with tailwindCSS pre-installed

tailwindcsscli A CLI for generating starter files for different JS frameworks with tailwindCSS pre-installed Installation To install the CLI, run the

Sep 30, 2022

A plugin starter for medusa pre-configured and using typescript

A plugin starter for medusa pre-configured and using typescript

Plugin starter (Typescript) Start to write your own plugin as quick as possible Getting started Installation git clone [email protected]:adrien2p/medusa-

Nov 9, 2022

My hometask for pre-basic course on OTUS

Репозиторий с домашними заданиями по подготовительному курсу JS OTUS Домашнее задание №1 «Линейные алгоритмы» В переменных a и b хранятся числа. Напис

Jan 21, 2022

pre-calculated list of similar Persian words ordered by rating and best match

similar-persian-words pre-calculated list of similar Persian words ordered by rating and best match. Install npm: npm install similar-persian-words Us

May 29, 2022
Comments
  • plugin path

    plugin path

    https://github.com/NaitLee/Tradit-TPL/blob/11129a328a6033d84a331e982a3957b3af003cea/tradit-constants.ts#L3

    you'd better use __dirname to tell where your tpl is. It's neater, but also your folder may have a different name when downloaded.

    opened by rejetto 1
  • wrong path value

    wrong path value

    https://github.com/NaitLee/Tradit-TPL/blob/11129a328a6033d84a331e982a3957b3af003cea/plugin.ts#L20

    __dirname is a symbol, you shouldn't surround it with quotes

    opened by rejetto 1
  • Planned changes & Planned features 🐣

    Planned changes & Planned features 🐣

    The code can work.

    Though I want to make following changes, for less overhead ("pre-mature optimization"), or at least to try out new things:

    • Implement most macros in WebAssembly, with AssemblyScript. Notably non-async & trivial ones.

      • Sync & trivial e.g. add, replace, urlvar
      • Async e.g. %list% (symbols are also macros here)
    • Only optimize macro if all its parameters are "known"

      • like {.replace|a|b|c|d|abc.} and {.add|1|{.add|1|1.}.}
      • but not {.replace|a|{.urlvar|b.}|c|d|abc.}

    The bad side:

    • Regular Expressions used in serializer are potentially buggy.
    • Many features are not implemented: special:alias etc. etc.
    • Should harden security more.
    • No document yet.
    • No real "use cases" yet, i.e. need a good template to show off :)

    ... These will be done step by step.

    Some dev "flags":

    • A custom configuration page, like HFS Admin
      • Of course security will be considered
    • Extended features (for templates) to provide flexibility, but compatible to HFS 2.4
      • something like [special:strings;zh-CN] to do better backend localization (when see HTTP header Accept-Language: zh-CN)
      • optional feature flags in section [special:features] to request different behavior. Example:
        • no-sort for by default preventing backend from sorting file list (to save resource) (in this case browser/client do it)
    • Some good templates to make use of these

    Not in a hurry. But wouldn't it be great?

    opened by NaitLee 6
Owner
NaitLee
Computer-brain boy
NaitLee
⚡️ A resource to help figure out what JavaScript array method would be best to use at any given time

JavaScript Array Explorer When I was first learning array methods, I spent a lot of time digging through the docs to find the appropriate one, and I h

Sarah Drasner 2.6k Jan 2, 2023
An easy to use, yet advanced and fully customizable javascript/jQuery paginator plugin

anyPaginator An easy to use, yet advanced and fully customizable Javascript/jQuery paginator plugin. anyPaginator is a spinoff of the anyList project

Arne Morken 2 Feb 17, 2022
BotsApp is an optimized and easy-to-use WhatsApp UserBot written in Node.js

?? BotsApp ?? Your Personal Assisstant, on WhatsApp! BotsApp is an optimized and easy-to-use WhatsApp UserBot written in Node.js. Utilize your persona

BotsApp 5.5k Jan 1, 2023
DisOwen project - Makes it easy and fun to use Discord

DisOwen project - Makes it easy and fun to use Discord. Also first userbot for Discord

Ber4tbey 7 Aug 4, 2022
This is an example application that provides a multi-stage Docker Discord Bot that runs in shards.

topggstatsupdater This is an example application that makes it possible to create a fully Docker supported Discord Bot that runs in shards. You can ru

null 4 Nov 19, 2022
Join the GitHub Graduation Yearbook and "walk the stage" on June 11.

GitHub Graduation-2022 Available Translations ?? Pt-BR zh-CN 中文 日本 Русский Korean Indonesian Español (España) Español (México) Polski Filipino Türkçe

GitHub Education 1.5k Dec 26, 2022
TypeScript will support all proposals above stage-3.

core-dts TypeScript will support all proposals above stage-3. But there are always some gap between TypeScript support and proposal progress. And some

Wenlu Wang 61 Oct 3, 2022
GitHub and Markdown-Based CMS for Blogs. EXPERIMENTAL and in the "Idea" stage. I have no clue if this is feasible.

Turborepo starter This is an official pnpm starter turborepo. What's inside? This turborepo uses pnpm as a package manager. It includes the following

David Taing 2 Oct 13, 2022
This is time-saving pre-built Webpack-initialization template

This is time-saving pre-built Webpack-initialization template. Users can take advantage of the power of Webpack to dynamically load CSS, Html, and js files complete with server. Built with JavaScript/WEBPACK/HTML/CSS.

Steve 14 Jun 27, 2022
Next Boilerplate was created to be a template for starting NextJS projects with pre-configured settings like Linters, Test Setup, Storybook and Commit Hooks.

Next Boilerplate was created to be a template for starting NextJS projects with pre-configured settings like Linters, Test Setup, Storybook and Commit Hooks.

Claudio Orlandi 4 Feb 22, 2022