Skip to content

zhyack/blogOurBlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blogOurBlog

How It Starts & What You Can Expect

  • I want to write easily and read anywhere.
  • I want to change the styles of my pages anytime.
  • I want to re-construct my pages freely.
  • I want to get complete access control of my posts, and dynamic views with respect to the audiences.
  • I want to get rid of ads.
  • I want to ...

I want to have so many features, so I build my own website. And I also want to share it with anyone interested and improve it. Try the current version. A demo whose codes are completely the same as this repo.

If you do like static pages, my previous blog solution may be a good option.

The Reality

  • Current Backend: Django 2.0.2 (Python 3.5)
  • Current Frontend: hodgepodge =_=
  • Current Editor: Editor.md
  • Current Features:
    • User register and private space.
    • Edit and view of posts and files.
    • Enhanced markdown editor to write posts.
    • Authority control (user access control, password control) of posts and files.
    • Post list in the side bar.

TODO:

  • A tutorial and summary of the previous works.
  • New Blog model to host blogs.
    • Alternative styles.
    • Self-organized page lists.
  • Better editor.
  • New Comment model.
  • Faster, faster, faster.
  • Interactive games between users.

Let's just do it.

Getting Started

The Environment

These have been tested on ubuntu 14.04, 16.04, 18.04.

  1. Get Python3: official install, apt-get install, or Anaconda
  2. Install pip: download and python3 get-pip.py
  3. Install django: pip3 install django==2.0.2
  4. Modify the config file blogOurBlog/config.json:
    • Change the hosts according to your domain.
    • A complicated secret_key is suggested to replace the original one.
    • It's suggessted to turn off the debugging mode by set show_debug_info to false.
  5. We suggest the next option to deploy the site. But if you insist to use Apache2:
    • apt-get install apache2 apache2-dev python3-dev libapache2-mod-wsgi-py3
    • Add this to the end of /etc/apache2/envvars
        export LANG='en_US.UTF-8'
        export LC_ALL='en_US.UTF-8'
    
    • Add this to the begining of /etc/apache2/apache2.conf
        Alias /static/ path-to-blogOurBlog/static/
        <Directory path-to-blogOurBlog/static>
        Require all granted
        </Directory>
        WSGIScriptAlias / path-to-blogOurBlog/src/core/wsgi.py
        WSGIPythonPath path-to-blogOurBlog/src/
        <Directory path-to-blogOurBlog/src/core/>
        <Files wsgi.py>
        Require all granted
        </Files>
        </Directory>
    
    • chmod -R 777 path-to-blogOurBlog/
    • service apache2 restart
  6. An easier way to deploy the site. if you use ubuntu, we suggest you open a new screen to do these. Now, expose the site on port 80 (or any other port):
    $ cd path-to-blogOurBlog/src/ 
    $ python3 manage.py runserver 80
  1. Use the browser to test whether you launched the site.
  2. The original admin account is :
    • username: creator
    • password: blogOurBlog
    • It's the only account that can access the admin panel. Remember to change the password.

What Are The Files For

User Model

Post/File Model

The Editor

Else