devaneando / Wikitten

Wikitten is a small, fast, PHP wiki, and the perfect place to store your notes, code snippets, ideas, and so on.
MIT License
737 stars 173 forks source link

Major Upgrade Features Planned to make this my Evernote replacement... #78

Open jasondavis opened 8 years ago

jasondavis commented 8 years ago

Upgrades to Wikitten to make it my Evernote Replacement!

Below is my to modify the app to fit my own personal needs. If anyone has ideas, feel free the mention in the comments and I might implement them as well.

My goal is to remain a file, non-DB app for easy portability. However many of my upgrades below would benefit and open up more possibilities if I decided to switch to a database down the road.

Luckily there is SQLite which is a file based Database. SO I could easily use SQLite and still be a file based portable app! For now though I am going to not use a DB if I can.

Real Plugin System

Most of these plugins mentioned here can hook into the on-save action event or on the render action event. The embed plugins below might be best hooked in on the render action so that files saved outside of the app will also be processed. Something like the JS beatificastion might be better to run on save so that it doesnt have to run on every view! Really up to the user though.

Embed style plugins

_These things might be called in the format of a short_code like WordPress uses. So when the file is parsed and a shortcode is detected it is replaced with the embed code for that plugin._

The idea here is to have a list of file extensions and map each one to a render() function.

Right now the MarkDown file maps to render with the Markdown parser.

With this re-engineered and the plugin system, you would be able to add your own custom file types and render() functions for them. This opens up the door to many unique things.

Example....A new Book COllection file type might hold a collection of my programming books in a certain format and my render function could format these type of files to show in a nice tabular format with thumbnail image to the left, book data to the right and format it in a nice way to easily view the collection.

Basically allow you to create templates for different file types to show when viewing them. THe template would have placeholder variables and the render() function for your file type would parse the file to get the template var values and build the final output.

File CRUD Actions

Sidebar


Files


Media Manger




If I use SQLite Database, it opens up all these possibilities down he road...

georgesuba commented 8 years ago

this looks really good.. is there any dev repo I can test it?

dmayo2 commented 8 years ago

I'd like links being able to have a target: [link](url){:target="_blank"} The ruby kramdown supports this in their superset.