Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/singh1114/thejekyllproject

A Django project to help users to create free, fast and secure blogs on GitHub Pages and Jekyll.
https://github.com/singh1114/thejekyllproject

bash-script django github github-api github-blog github-page github-pages jekyll jekyll-automation

Last synced: about 1 month ago
JSON representation

A Django project to help users to create free, fast and secure blogs on GitHub Pages and Jekyll.

Awesome Lists containing this project

README

        

# JekLog
[JekLog](http://jeklog.com)

Create Jekyll blogs and host them on GitHub pages. Post content using JekLog.

[![Build Status](https://travis-ci.org/singh1114/theJekyllProject.svg?branch=master)](https://travis-ci.org/singh1114/theJekyllProject)
[![Coverage Status](https://coveralls.io/repos/github/singh1114/theJekyllProject/badge.svg?branch=master)](https://coveralls.io/github/singh1114/theJekyllProject?branch=master)

## Talk to us
[![Gitter chat](https://badges.gitter.im/django-jeklog/gitter.png)](https://gitter.im/django-jeklog/Lobby)

## Usage

- Blog Tutorial:
[http://blog.jeklog.com/how-to-create-a-free-blog-using-github-pages-and-jekyll-with-jeklog/](http://blog.jeklog.com/how-to-create-a-free-blog-using-github-pages-and-jekyll-with-jeklog/)
- GIF:
![Tutorial gif](https://i.imgur.com/1utmaOM.gif)

## Documentation

### How to install and use

Install postgresql

```$ sudo apt-get install postgresql```

We use `virtualenv` for the python installation process. This is the recommended way of installing.

- Use the following link for the installation process.

[Virtual environment installation](http://singh1114.github.io/blog/how-to-install-django-using-virtual-environment/)

After this, you need to get the code using fork and `git clone`

Fork and clone the code using the following command.

```$ sudo apt-get install git```

```$ git clone https://github.com/your_gh_username/theJekyllProject```

```$ cd theJekyllProject```

While in the virtual environment, use the following command to install the requirements

```$ pip install -r requirements.txt```

Now you need to get tokens for the github app. Create the tokens with proper callback URI and add both things to `djangoFiles/djangoFiles/settings.py`.

For this go to the link: [https://github.com/settings/applications/new](https://github.com/settings/applications/new)

with the following credentials:

- App name: jeklog
- Homepage URL: http://127.0.0.1:8000/
- callback URI: http://127.0.0.1:8000/oauth/complete/github/

Take the `Client ID` and put it in the `djangoFiles/djangoFiles/settings.py` file against variable `SOCIAL_AUTH_GITHUB_KEY` and `client secret` against variable `SOCIAL_AUTH_GITHUB_SECRET`.

## ALTERNATIVE METHOD( recomended)

Use `direnv` to host the settings in the `.envrc` file.

[Read more about direnv here](http://blog.ranvirsingh.me/dir-env-to-create-environment-variables-in-ubuntu/)

Your `.envrc` file should look like this:

```bash
export [email protected]
export EMAIL_HOST_PASSWORD=pass123
export SOCIAL_AUTH_GITHUB_KEY=mojeiwej22i39j9
export SOCIAL_AUTH_GITHUB_SECRET=0jn92jnjr9n3j9k0000
```

After this you need to create the database. For this use the following command

This command will create jeklog user. Enter `jeklog` as the password as well. You can choose some other name and change the configuration settings in the `djangoFiles/djangoFiles/settings.py`

```$ sudo -u postgres createuser --no-createrole --no-superuser --login --inherit --createdb --pwprompt jeklog```

After this create a database named jeklog with the created user, using the following command.

```$ createdb --encoding=utf-8 --owner=jeklog --user=jeklog --password --host=localhost --port=5432 jeklog```

Now start the server and hopefully, everything will work without any error. If some error occurs, let us know.

```$ cd djangoFiles```

```$ python manage.py makemigrations```

```$ python manage.py migrate```

```$ python manage.py runserver```

### Future Scope

We are going to use environment variables for settings file. `Direnv` is a good tool for this purpose.

We are going to build a proper useable server for the admin users. So that you guys can run it on your system.