Giter Club home page Giter Club logo

tradit-tpl's People

Contributors

naitlee avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

rejetto

tradit-tpl's Issues

plugin path

export const PLUGIN_PATH = ['.', 'plugins', 'Tradit-TPL', ''].join(PATH_DELIM);

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.

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.