GithubHelp home page GithubHelp logo

bbb-vue-web's Introduction

bbb - basic building block web

Manažerské shrnutí

bbb je web řešení na bázi jamstack. Přoč je tento směr budoucností a jaké přináší výhody oproti tradičním se píše např. zde. Základní myšlenky udržitelného systému pro správu webu:

  • maximální oddělení:
    • visualní styl (S) (CSS)
    • template (T) = jaký HTML kód se bude generovat
    • data (D) = struktura komponent tvořících jednotlivé stránky a jejich texty
  • data v textových souborech, aby se dali verzovat a rychle servírovat přes CDN.
  • web jako JS aplikace konzumujici data z ruznych zdroju
  • možnost generovat statický web pro uživatele s vypnutým JS nebo crawlery

web jako lepidlo open dat z ruznych zdroju, ktere ty data hezky vyrenderuje.

Znamená to, že moderní web se aktualizuje sám díky tomu, že prostě pouze vykresluje otevřená data, která v jiných systémech už beztak vznikají.

Web data - slozka statickych textovych souboru

Pro příklad web OM

  • data (D) - jednotlive stranky jsou ve forme yaml souboru - nejuspornejsi a nejjednossi zpusob, jak definovat hierarchickou strukturu. Kazdy yaml soubore = 1 stranka. Jeho path na webu odpovida path ve strome slozky. Kazdy ma:
    • zakladni meta-atributy (title, desc, ...)
    • layout: jaky layout se pro stranku pouzije
    • children = pole komponent, ze kterych se sklada (ty se mohou opet skladat pomoci buildin componentu composition jako napr. zde).
  • templates (T) + style (S): v extra podslozce _service:
    • layouts: vue.js template jak se vyrenderuje stranka
    • components: vue.js komponenty, ktere obsahuji jak template, tak mohou obsahovat slozitejsi logiku (nacitani dat, filtrace, ...). Specialni component composition je pro komplexnejsi kompozice. Atribut class muze obsahovat znaky ">" ktere zpusobi vyrenderovani zanorenych div elementu. Tedy napr. container>columns vyrenderuje:
    <div class="container">
      <div class="columns">
        children ... 
      </div>
    </div>
    
    • style: sass based custom style (momentalne bootstrap a bulma.io). Main soubor je custom.scss ktery importuje vse potrebne pro cely styl webu.

V repositari nejsou zadne assety. Ty jsou v udrzitelnem reseni hostovany mimo (CDN) a web na ne pouze odkazuje.

Backend je volitelna soucast, Web ho nutne nepotrebuje. Je potreba jako nastroj pro editaci, nebo pro automaticke pregenerovavani generovanych soucasti (napr. stylu). Vice v repozitari.

Development

Run dev mode:

DATA_FOLDER=/path/to/your/bbb-web npm start

bbb-vue-web's People

Contributors

vencax avatar

Watchers

 avatar  avatar  avatar  avatar

bbb-vue-web's Issues

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.