Dan Ballard df5dca3a52 | ||
---|---|---|
categories | ||
config | ||
css | ||
db | ||
fonts | ||
js | ||
news | ||
templates | ||
user | ||
.gitignore | ||
LICENSE | ||
README.md | ||
csrf-secret.txt | ||
favicon.ico | ||
gen-csrf.sh | ||
main.go | ||
route_handlers.go | ||
templates.go | ||
transmet.conf |
README.md
transmet
Quick fast personal link store that exports to a HTML template for quick posting to a blog
Usecase: storing interesting news articles you come across during a week with at the moment notes/commentary and then exporting in a currated organized format for immediate blog posting at your convience
Note
As this is a personal project, some of the niceities like user managment and category managment (that are one time tasks) are left to be done in SQL. I needed a tool to store links and export to html so that's what I've focused on.
Install
go get github.com/dballard/transmet
DB setup
sudo apt-get install postgres postgresql-contrib
Setup postgres to hadle a local connection for transmet in pg_hba.conf either: '''host transmet transmet 127.0.0.1/32 md5''' or a more liberal: '''host all all 127.0.0.1/32 md5 '''
create ssl certs and put them somewhere
enable SSL in postgresql.conf
'''
ssl = true
ssl_cert_file = 'WHER_YOU_PUT/server.crt'
ssl_key_file = 'WHERE_YOU_PUT/server.key'
'''
Create postgress DB and user
'''sh sudo -u postgres createuser -S -P -E transmet createdb --owner transmet --encoding utf8 transmet psql \c transmet CREATE EXTENSION pgcrypto; '''
put DB details in db/dbconf.yml (copied from db/dbconf.EXAMPLE) config/prod.json (copied from config/local.json)
go get bitbucket.org/liamstask/goose/cmd/goose
goose up
Run
Assumed GOPATH=/opt/go
edit transmet.conf to point to correct location
sudo cp transmet.conf /etc/init
sudo service transmet start
Setup environment
Adding a user
INSERT INTO users (username, password) VALUES('USERNAME', crypt('PASSWORD', gen_salt('bf')));
Adding Categories
INSERT INTO categories (name, parent_id) VALUES ('NAME', [null or PARENT_ID]);