Giter Site home page Giter Site logo

vincent-peugnet / wcms Goto Github PK

View Code? Open in Web Editor NEW
19.0 2.0 3.0 7.18 MB

⧉ light-weight, experimental CMS where you use link to think and publish ideas by creating poly-form site

Home Page: http://w.club1.fr

License: GNU Affero General Public License v3.0

PHP 77.54% CSS 10.22% JavaScript 3.44% Makefile 0.73% HTML 8.07%
cms lightweight ideas link mindmap point-and-click interactive-fiction labyrinth markdown php

wcms's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wcms's Issues

Manage multiple database

Admin should be able to manage multiple database by adding, duplicating importing or exporting.

It could be usefull to save snapshot of a specific state of a work. Or change between different projects.

Use icomoon for icons

As you are now using custom icons instead of emojis, I think you should use an easier and lighter way to include icons in you pages.

Icomoon is letting you use a custom made font containing your svg icons and then including it in you pages like so:

<!-- include the generated stylesheet and icon font -->
<link rel="stylesheet" href="https://i.icomoon.io/public/temp/d87f895f75/UntitledProject/style.css">

<!-- use the icon in the page -->
<span class="icon-file-empty"></span>

You can select from an already existing icon set or import your own SVGs. And I can help you in that transition if you want.

Header ID <--> Summary : Element based, render option

Actually, Header IDs are page generated, and not optional.

Elements

How could be a new system, more element based. That way, users may set options during including, like :

%MAIN?headerid=1-3% or %MAIN?headerid=0%

Or add the possibility to generate anchor links after titles.

%MAIN?headerlink=1%

ID style

-> sub headers
To avoid collision, headers ID could use this form : h1/h2/h3. It could be very long depending of the deepness.

This should also be a rendering option. For example : %ASIDE?headerfamily=1%

Summary

Now, what about summary ? should it be element based as well ?

If so, for example, how to add a summary in the NAV element, referring to the MAIN element's headers.

%SUMMARY?element=main&range=1-4%

If think it is starting to be too complicated. If users can disable headers ID on elements they don't want, they can already manage to use only one element if they want.

Conclusion

So technically, the summary element, may stay page based, but the header IDs should be element based.

Add redirect direction and time to pages proprieties

using the header(Location: <direction>, <time>) PHP function

First strategy is to ask for redirection adress. That could be a internal page or distant link.

Then ask for delay time in second.

302 or 303 redirection will be automatically set if time delay is used or not.

download file from url

In order to upload more directly images, or other media, to the hosting server, maybe this could be usefull to allow files downloading from URL.

Question : is it always allowed by PHP / Apache Configuration ?

link to clean up

Link to rendering is not up to date, should integrate pages lists.

In home view, filter options could have a page list as linkto and/or linkfrom to filter pages by this info.

Is'nt it to big ???

Sort medias by date

Would it be possible to give a date of upload to media? and print folder content sorted by date

Add graph visualisation

As a powerfull tool to se the website map, there should be a graph visualisation.

This should use javascript and npm to integrate easily.

Selected library : cytoscape.js

I first looked at sigma.js, but it don't seems to be very updated.

A vintage look at the first ever graph used in first versions of W

map

Add Page::geolocalisation metadata

Maybe this could be usefull for making geographical maps ??

Following the Date / Time Idea

  • add the data fields
  • allow to filter pages that have geo datas
  • display a map in home view
    • using external CDN
    • using npm and webpack
  • new %MAP% code to insert map in pages
  • show a little leaflet map in edit view

Maybe the map is too different from the list and will need another code, like %MAP%. As it should include default view settings using lat, long and zoom.

New Feature : Page deletion after visitcount

Add an option in page edition to select an int, that will be the max visit counter.

Remember that visit is different from aff, it only count visitor users.

After what, the page is deleted.

Set up a DEMO SITE

It would be good to allow web visitor to access a demo site.

Maybe I could re-use the .env and add a DEMO=(0|1) option ?

What do you think @n-peugnet ?

Otherwise in in the config.json file.

What should be done :

  • freeze admin panel
  • freeze demo admin user
  • disable delete rights

Normalize media insertion

Actually, the media explorer use a media/<folder>/<files> structure.

But the user code use the <folder>/<file> structure, avoiding retyping the media/ folder each time.

The best way could be to combine the two structures, using a /media for root directory or directly the <folder>/ shortcut to include files more quickly.

So let's add a slash before media to specify the difference.

Keep users connected with cookies

Actually there ain't any cookie system to keep users connected. But the setting in the user panel already exist !

What I'd like to do :

  • By default, there are no uses of cookies.
  • Users that are editors and above, can access their users panels to set a cookie conservation time.

That way, lower users classes stick to the shorter session data system.

A more complex approach would have been to use a list of authorized hardware cookies, and manage sessions. It could be a future feature. By default, any new client would be without cookies, that way, you wouldn't have to worry when using a random computer or smartphone just once.

OR

Maybe, there could be a checkbox, when typing credential, the famous "remember me", (unchecked by default of course) that could do this job instead. This will bypass the cookie conservation setting.

BUT

If there is this checkbox and users did'nt set there user parameters, this won't work until they found the setting.

Is the conservation time user setting still usefull ??

It can allow this specific use case :

Setting a short conservation time (one day or two) for example, and checking the "remember me" option. That way you can use foreign computers for one day without worrying.

Display shortcut

Use CTRL + D shortcut to display page innew tab.

@n-peugnet can you do this ?? if it's not to complicated for the js-boss ?

Deep Search bar

Add a search bar to look for expressions in CONTENT areas.

Text input with checkboxes for where to search.
This could have been set inside the filter view, but maybe more in a autonomous window (that could be activated or not in the display menu), just between the menu bar and the pages table/options.
The second idea looks better because this search seems more independent from the filters (not very interesting for pagelist or bookmarks), it's more supposed to be a archive exploration tool.

This should also be compatible with regex.

Custom head

It would be cooool to give a custom head for all the new pages created like in the page creation options in the admin section.
And also in the mass edit function.

Duplicate page or Add new page as a copy of...

A function that could have to form doing the same things :

Add as a copy of

when creating a new page, add the option to be the copy of an already existing page (of course using the new Id.

For this we can use <newpageid>/add:<pageid> Or something like that

Duplicate

When in a page scope, add <pageid>/duplicate:<newpageid>. This is the symmetrical approach. function.

Feature : export project as static site

This is a very important feature to implement :

Export the whole project as a static page using only html pages, js, css and relative paths that let the possibility to use it anywhere.

Problems I see:

  • Watch out for external libraries or css

Allow non-admin user to manage their own password by them-self

This is important one, that allow to invite new editors that are not physically present when creating a new account.

BUT,

This will need a big change in the actual credential system. Before Doing this, I need to change the credential style from single password, to user / password connection --> #70 .

F3 search function not finding text element when not visible

Since Code Mirror is implemented, I cannot use F3 search function to find text element when they are not visible onscreen. I need to scroll down to them in order for the search function to find them.
I tried with different web browsers (Chrome and Firefox) and the issue was the same.
My version of W is 1.7.5.

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.