GithubHelp home page GithubHelp logo

liriope-framework's Introduction

Liriope

Monkey Grass

A PHP framework. For no reason other than to exercise and learn more of PHP and things web.

Liriope is a web backend for people who know PHP, HTML, CSS, and any other frontend code. It's for us who write the web. It stemmed from a learning project, but as the project got better, I decided to use it here and there. Now, it's live on a few sites which is awesome and horrible at the same time. Why? Because now I have issues and bugs that I want to fix.

The name

As it goes with code projects, they need a name, and generally a person chooses something silly just to get it named, not expecting it to thrive and become public. Well, Liriope isn't famous, and it's name means nothing. It was a silly title, and it worked. I chose it for the abundant flora in my back yard. And who doesn't like monkeys?

As it goes with code projects, they need a name, and generally a person chooses something silly just to get it named, not expecting it to thrive and become public. Well, Liriope isn't famous, and its name means nothing. It was a silly title, and it worked. I chose it for the abundant flora in my back yard. And who doesn't like monkeys, or grass?

  • @version 0.5 BETA
  • @author Tyler Gordon

liriope-framework's People

Contributors

tygor avatar

Stargazers

 avatar

Watchers

 avatar

liriope-framework's Issues

Modular cache?

I had an idea the other night. It was spawned when I realized that the page cache supersedes the publish() function so that timed events only happen after the cache expires.

What if each "module" or logical page section was caches individually? Then elements that don't change often may have longer expiration terms and elements that contain timed events can disable caching.

Blogs in subfolders

The router default is giving me issues for blogs hosted from sub-folders. I can't seem to get the page and limit variables in the GET statement to work.

Router

Code a Liriope default for routing rule :controller/:action

I'm tired of adding new rules for controllers. If the controller exists, and the action exists, then it should be used as override.

If not, THEN use the liriope CMS controller.

Merge actions

The Menu still needs some work. I want to now merge the "menu" and "submenu" actions and simply define the result based on parameters.

default) Load the whole menu with nested items
depth) load only a specific depth from root
root) home, or autodetect

Something like this.

Email obfuscation

The email obfuscator encodes the subject and anything in the query string after the mailto: link. But it doesn't decode it.

Search engine

For some reason on an active live site searching for certain strings returns a 404 page rather than any results, null or full.

This isn't the case on the test site.

Thoughts:
• the live index is busted
• the model dumps to 404 somewhere (not likely)
• somehow, it's triggering a router redirect

I'm not sure, but it seems to fail during the search object creation in the LiriopeController/search action

Search engine tweak

The search engine needs a tweak. I think that it strips out too much punctuation. Or, it needs to include a search with and without the punctuation. For example, searching for "you.me" then search for "you.me", "you" and "me" perhaps giving added weight if it is the original string.

Forms

The theme, if left blank, seems to be breaking the Form controller.

Submenu module

I'd like to see a sub-menu module. One that intelligently knows it's location in the menu tree and shows immediate child elements for further drill-down.

inlcude ('submenu') and done!

Indexing cleanup

Is there a system to clean up the indexed pages? If a page is here then gone, do the search results still show links to that page by the indexed content?

One idea is that for every 404 error, the indexing system is notified of the URI and the subsequent page is stripped from the index.

Cleanup Search

Right now, a page is indexed when a user visits the page. If then the page is changed, the search will show false results until that page is visited again.

Also, if a page is never visited, it will also never show in the search results.

• Create a crawl feature, perhaps similar to flush
• Create a 404 callback to the index to remove pages that don't exist from the index.

Error control

Extend the Exception object so that I can pass specific code and output it how I like.

Blog needs to throw 404

The blog controller throws a fatal error rather than redirecting to a 404 page. This may be fine for dev, but for prod, it needs a 404. Without error messages enabled, a 500 error is thrown.

RSS feed

The engine for the RSS feed needs work. I want to be able to customize the title, and include images.

Columns

The default columns structure isn't working. I think that it needs clears.

Template engine

The snippet idea/function is a poor substitute for a full template engine. The controller/action should call the content of a page and the ViewModel should accept a template as an argument.

feature: redirect action

Liriope needs a redirect action. This is to prevent using header redirects inside of php files under "content".

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.