Giter Club home page Giter Club logo

abecms's Issues

Refactor: abe_meta date

Json post abe_meta...date need a refactor.
At this time when a post is created

{
  "abe_meta": {
    "date": new Date(),
    "draft": {
      "date": new Date(),
      "latest": {
        "date": new Date()
      }
    }
}

After a [ status ] is saved

{
  "abe_meta": {
    "date": stay the same,
    "latest": {
        "date": new Date()
      },
    "[ status ]": {
      "date": stay the same if exist,
      "latest": {
        "date": new Date()
      }
    }
}

each new draft abe_meta.[ status ].latest.date and abe_meta.latest.date is update with a new date.

abe type slug

{{abe type="slug" source="/event-guide/{{variable}}"}}

if attribute tab="slug"

Default:

{{abe type="slug" source="/lang/{{name}}"}}
{{abe type="text" desc="filename"}}

Catch error on "abe serve"

Manager.getKeysFromSelect { [Error: ENOENT: no such file or directory, scandir '/Users/grg/programmation/git/abegemo/data']
errno: -2,
code: 'ENOENT',
syscall: 'scandir',
path: '/Users/grg/programmation/git/abegemo/data' }

When no data directory exists in the directory.

  1. When no data directory is detected, catch the error and just console.log "directory missing" and stop abe
  2. do the same when structure not present

Text color in WYSIWYG editor

If you change text color (or background color text), the color palette it does not disappear if you click elsewhere.

Checkbox type

Example : There is a button in the template and I want the user decide if the button can be clickable or not.
A nice interface could be a checkbox.

[REFACTORING] Remove draft directory + logic

With the refactoring of Abe ant its orientation towards stateful behavior, we don't need no draft html anymore.

Remove any logic associated with it.

For a clean SoC, the persistance of published files (html versions) has to be separated in their own methods.

Remove any reference to WEBPORT

The code should be cleaned up. Initially, Abe served 2 webapp (one for Abe, one for the preview). Remove this mechanism.

All server routes should start with "abe"

Create a new attribute in abe data type: macro=true

in an abe data type, if I put macro="true" in the attribute, it will then be discoverable on every field of text and rich abe types with the shortcut : $$

Once a $$ is typed, a dropdownlist with autocomplete feature appears.
The value selected is the key in the data. It is displayed in editor mode. In preview and publish modes, this key will be replaced with its corresponding value.

Abe type "rich" : Possibility to add a reference file in the toolbar

When the attribute "toolbar" refers to a json data source file (references), a dropdown list with keys is displayed on the editor. if a key is selected, the value is used in the wysiwyg enclosed in an Abe tag with the key. So that the key is displayed and the value is shown on mouse over.
In the template, we do the same : If we're in the editor mode, the key is displayed and highlighted with a specific color. On mouse over, we show the value.
In preview and publish mode, we remove the abe type and just let the value.

Unable to select template in AbeJS Admin

I wasn't able to select my template in AbeJS admin because my NodeJS version was 4.6.0

I've just upgraded to the last version with the following command on OSX (certainly the same for Linux) :
sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Works well now

Change update/delete route

  • /abe/operations/draft/save
  • /abe/operations/draft/submit
  • /abe/operations/draft/reject
  • /abe/operations/draft/delete

Abe tag type="rich": add features

add additional options from wysiwyg.js:
insertimage: { ... },
insertvideo: { ... },
insertlink: { ... },
strikethrough: { ... },
orderedList: { ... },

Demo?

It would be really helpful to provide a demo, such as a simple website (2 or 3 pages).

New feature : migrations

It should be possible to organize "database" migration between versions.

  1. Create "version" attribute in abe.json
  2. create a module "migration" in extends and a directory migrations under extends.
  3. The module detects the necessary migrations to be done when a user launch a new version of Abe and stop the abe serve with the alert : Please do abe migrate 2.12
  4. under migrations directory, we find the .js doing the migration from one verison to another

Config class refactoring

We should be able to save and reload dynamically a config file. For now, the config class includes properties and methods, properties being extracted from config.json and internal...

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.