Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Other Idea for a git-based cms of sorts.

  • This topic is empty.
Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #166211
    nixnerd
    Participant

    I mentioned this briefly on another thread but now I’d like to fully flesh this out and get some input.

    I don’t have a problem with WordPress per se. By that I mean: I guess there’s nothing intrinsically wrong with the philosophy behind it. That part I think is quite good. However, I find that for my purposes, it doesn’t totally work.

    First of all, I don’t enjoy the process of theming it. That’s just a personal preference but I still don’t like it. I’ve done a TON of WordPress hacking, going back over 6 years. I’ve been very successful at modifying/creating WordPress themes but I never feel I have as much control as I do with a static site. Second, I don’t like that every page needs a server call to load. For where I’m at right now… speed is king. Third, I don’t like its track record on security.

    Now, before anybody gets upset, I understand that all the security exploits are not necessarily WordPress’ fault. I get that not keeping things up to date, ESPECIALLY third-party plugins is where the vast majority of problems come from. However, it’s still unsettling.

    My idea is something similar to Kirby… except open-source and free.

    Basically, there would be a local git repo on your system that is an exact mirror of your actual site. This is great because most people already have this! Yay! Hooray for no extra work! You would then have a Python script that monitors specific directories for changes. As soon as a new file is added, it automatically does a git push to your site. This part is awesome because it acts like a dynamic site but it’s not. It’s pre-baked on your system and is actually static when it’s live. But, it’s updated immediately upon any changes being made, making it essentially dynamic.

    The benefits here are many:

    1. It’s simple.
    2. It reduces the risk of security exploits due to the fact that you don’t have scripts accessing a database on your server.
    3. It’s even easier than logging into some sort of control panel because it’s on your desktop.
    4. MAXIMUM flexibility. I can’t see how this would cramp anyone’s design style in any way at all. No child themes. No nonsense.

    I understand there are drawbacks and this really only works for content management. This could never work with users, logins, comments, etc. You know… all the OTHER stuff a DB handles. But, for simple blogs or sites with no user-generated content… this seems like an awesome solution.

    What do you guys think?

    #166230
    nixnerd
    Participant

    Thanks for your input @JoshWhite.

    I should have made it clear that I personally will NOT be using this on client websites. I think the potential to mess things up is too great for them. This will just be for my use.

    Sorry for the confusion.

    #166385
    nixnerd
    Participant

    Well, simply for the easy of writing a little blog post and just clicking save. I can definitely jump in the terminal and push it… just not as easily.

    Plus, I’m working on a project that will need to do this EXACT thing. So, I figured I could kill two birds with one stone and ditch WordPress in the process.

    I mean, I disable comments anyway, so I don’t know why I’d ever need WordPress.

    #166404
    Alen
    Participant

    I see few potential issues going forward

    • Git doesn’t work like you’re intending on using it:
      1. Make Changes
      2. Stage Changes
      3. Commit Changes
      4. Push Changes
    • How would you deal with editors that auto save?
    #166406
    __
    Participant

    OT:

    Did something important happen, Joe?

    I see few potential issues going forward

    I’d agree. Further, the bigger problem I see is that by auto-pushing you’re effectively returning to the days of “cowboy coding,” making real-time changes to live sites.

    I think using git as a publishing system is a great idea (it’s one of the main uses I have for it), but it’s important that you actually have to “push the button.” Now, a small desktop utility that manages this could be pretty damn cool.

    #166409
    nixnerd
    Participant

    How would you deal with editors that auto save?

    You’re absolutely right that has not been thought of. The reason why is because I’m pretty sure Vim doesn’t save by default… which is what I will use it with. BUUUUT, I know a lot of editors do auto save. Hmmm. Interesting problem.

    As far as Git doing the work… it really doesn’t. Python scripts are what will actually handle the heavy lifting. They’ll just utilize Git to push files.

    There’s one even bigger problem though: Permissions.

    Generally, root permission is required to perform any sort of git push. I think that would probably be set on my server but in order to make everything seamless, I’m pretty sure I’d have to change the permission of the directory that houses everything. That is no bueno and will COMPLETELY eliminate any security benefits from this method.

    #166412
    Alen
    Participant

    root permission is required to perform any sort of git push.

    If you set up your SSH session/key stuff you will not need to enter your username/password when you push changes. That’s how I have it set up on my machine.

    #166418
    nixnerd
    Participant

    If you set up your SSH session/key stuff you will not need to enter your username/password when you push changes.

    You’re actually right. However, I think the server will still need to sudo to pull it? I actually don’t know this because I NEVER bypass Github. I push to Github from my machine (and do not need to sudo) and then pull from my remote server (this is where sudo is required). I’ve never pushed straight to a server, so I don’t know what happens. It’s worth a shot though.

    Did something important happen, Joe?

    Ha ha ha, no. I’m coming up on my 5 year anniversary. Maybe I should add an updated pic. I just saw that on my comp so I uploaded it. I’ll look for something newer.

    #166420
    __
    Participant

    I’m coming up on my 5 year anniversary. Maybe I should add an updated pic.

    Nahh, just wondering. Congrats!

    #166437
    nixnerd
    Participant

    Nahh, just wondering. Congrats!

    Thanks!

    If objectifying code is wrong… OO, I don’t want to be right.

    Ha!

    #166438
    __
    Participant

    hehehe… I tried this avatar on another forum once. no one got it.

    I also have a philosoraptor that reads,

    “gang of four”

    discourages tight coupling?

    #166454
    nixnerd
    Participant

    Awesome. Just awesome.

    #166457
    iphdesgin
    Participant

    I think this is a brilliant idea. Have you hosted with heroku? It uses git with a small tool belt to handle deploying and updating sites.
    I like this idea a lot, I would use it.

    #169126
    nixnerd
    Participant

    My apologies everyone. It seems as though I’ve independently come to a conclustion that others have come to.

    This is literally EXACTLY what Jekyll does… err, can do. No need to build it now!

Viewing 14 posts - 1 through 14 (of 14 total)
  • The forum ‘Other’ is closed to new topics and replies.