Commit graph

374 commits

Author SHA1 Message Date
Matt Baer
5c19d249b6 Log and exit when templates init fails 2019-01-18 19:17:10 -05:00
Matt Baer
53a51be578 Support configuring resource directories
This adds new configuration values that specify the parent directory of
application resources:

- templates_parent_dir
- static_parent_dir
- pages_parent_dir
- keys_parent_dir

For any values not specified, the application will default to the
current directory.

This closes T560
2019-01-18 19:09:27 -05:00
Matt Baer
6c7ee76768 Support configuring resource directories
This adds new configuration values that specify the parent directory of
application resources:

- templates_parent_dir
- static_parent_dir
- pages_parent_dir
- keys_parent_dir

For any values not specified, the application will default to the
current directory.

This closes T560
2019-01-18 18:57:04 -05:00
Matt Baer
41b2f7628f Describe package parse 2019-01-18 11:36:56 -05:00
Matt Baer
820b0ba6b9 Organize flags and add comments 2019-01-18 11:34:25 -05:00
Matt Baer
d8876058a6 Add WriteFreely version to admin dash 2019-01-18 11:33:57 -05:00
Matt Baer
01f9dc86dc Fix migrations MySQL table check 2019-01-18 11:26:55 -05:00
Matt Baer
70e823d6ab Support user invites
This includes:

- A new `user_invites` config value that determines who can generate
  invite links
- A new page for generating invite links, with new user navigation link
- A new /invite/ path that allows anyone to sign up via unique invite
  link, even if registrations are closed
- Tracking who (of registered users) has been invited by whom

It requires an updated database with `writefreely --migrate` in order to
work.

This closes T556
2019-01-18 00:05:50 -05:00
Matt Baer
47b2155f92 Add --migrate command
This runs database migrations and obviates the need for manually running
changes.

Ref T509
2019-01-17 13:53:03 -05:00
Norman
7da8b3aef6
Fixes indentation 2019-01-16 23:07:44 +01:00
Matt Baer
6c2bd8031a
Merge pull request #66 from TeDomum/master
Deploy the app in the proper dir for dependency management
2019-01-16 15:26:34 -05:00
kaiyou
8ead0a9d09 Deploy the app in the proper dir for dependency management 2019-01-16 21:05:52 +01:00
koehr
059f0d4c54 use font-display:optional to optimize web font loading 2019-01-16 16:07:20 +01:00
Matt Baer
a76144c182 Fix rendered sublist spacing
Along with a recent change to how spaces are output by the
writeas/saturday library, this alters the CSS to make sublists display
correctly, and fixes #27.
2019-01-14 14:01:43 -05:00
Matt Baer
a9dff35f70 Bump version to 0.7.1 2019-01-13 09:41:48 -05:00
Matt Baer
062ae0e16a Initialize db on single-user instance config
This fixes the --config step so that when setting up a single-user
instance for the first time (and creating the admin user as part of the
process), the database is automatically initialized before creating that
user.

This removes the need for the --init-db command after --config when
setting up single-user instances.

It fixes #59: "no such table: users" error during the --config step on
single-user instances that haven't previously run --init-db.
2019-01-13 09:08:47 -05:00
Matt Baer
d0edbd1936 Use showUserPage func for blog customize page
This fixes the page not rendering on Windows.

Closes #61
2019-01-10 23:11:52 -05:00
Matt Baer
21e6c64708 Add make release-linux command 2019-01-10 11:44:30 -05:00
Matt Baer
6da342b0d1 Add make build-no-sqlite
Supports creating a build without SQLite support compiled in.
2019-01-10 11:44:08 -05:00
Matt Baer
7c9bd10f73 Add Pull Request template 2019-01-09 18:11:19 -05:00
Matt Baer
a686b61902 make assets before everything in Docker build 2019-01-07 20:39:42 -05:00
Matt Baer
64a8e2d0a5 Exclude unneeded schema.sql in docker build 2019-01-07 19:22:12 -05:00
Matt Baer
fe98bd58fc make assets during docker build 2019-01-07 19:21:55 -05:00
Matt Baer
caf976a054 Bump version to 0.7.0 2019-01-07 18:49:16 -05:00
Matt Baer
c2a7f19ef0 Add numeric avatars 2019-01-07 15:40:37 -05:00
Matt Baer
2942a6818e Fix AP follower INSERT with SQLite
Previously the query would fail with "no such function: NOW"

Closes #56
2019-01-07 14:35:47 -05:00
Matt Baer
8a555567a6 Fix tagged posts SQLite query
SQLite doesn't have an `RLIKE` function, so the query for hashtagged
posts was failing before. This adds a `regexp` function to SQLite and
correctly retrieves all posts on a blog with the requested hashtag.

This closes #55
2019-01-07 11:55:23 -05:00
Matt Baer
1c58c64c7c Fix SQLite deadlock when creating user
This avoids reading from the database after a transaction has been
started in CreateUser(), fixing the deadlock that occurred before.

Closes #53
2019-01-06 21:30:34 -05:00
Matt Baer
f53ced382f Prompt for database type in bug report template 2019-01-06 18:18:11 -05:00
Matt Baer
0a3f5b7d16 Add @geekgonecrazy to authors 2019-01-05 21:27:48 -05:00
Matt Baer
0cf1d13880
Merge pull request #54 from geekgonecrazy/sqlite3-user-password
Only check for username and password if driver type is mysql
2019-01-05 21:13:32 -05:00
Matt Baer
a58a756746 Use driver constants in app.go 2019-01-05 17:51:17 -05:00
Aaron Ogle
3722c6ba79
Only check for username and password if driver type is mysql 2019-01-05 14:59:05 -06:00
Matt Baer
bf7d422039 Add pager to admin user list
This enables paging through the entire list of users.

Ref T553
2019-01-05 09:37:53 -05:00
Matt Baer
3d301c97e9 Fix admin user paging query 2019-01-05 08:47:42 -05:00
Matt Baer
0e722de82c Add admin user list
This enables admins on multi-user instances to see all users registered,
and view the details of each, including:

- Username
- Join date
- Total posts
- Last post date
- All blogs
  - Public info
  - Views
  - Total posts
  - Last post date
  - Fediverse followers count

This is the foundation for future user moderation features.

Ref T553
2019-01-04 22:28:29 -05:00
Matt Baer
2f4c93cccb Document package and funcs in config.go 2019-01-04 19:58:44 -05:00
Matt Baer
a419bd63fc Fix make deps not fetching sqlite3 lib 2019-01-04 19:40:00 -05:00
Matt Baer
fca3019e4b Support building without SQLite support
This adds a new `sqlite` build tag that you should include only if you
want SQLite3 support built in. Both `make run` and `make release` create
builds with SQLite included.
2019-01-03 17:57:06 -05:00
Matt Baer
8513def899 Send correct status on 410/500 in handleHTTPError 2019-01-03 15:43:44 -05:00
Matt Baer
19215b0355 Send correct status on 404 in handleHTTPError 2019-01-03 12:27:52 -05:00
Matt Baer
8a07c0f0a0 Extract images with .image extension 2018-12-31 16:19:26 -05:00
Matt Baer
3ae45bc156 Fix spacing around copyright notices 2018-12-31 01:05:26 -05:00
Matt Baer
256d9e3c02 Add download / docker pull counts to README 2018-12-31 00:54:45 -05:00
Matt Baer
739afd2310 Embed schema files in binary
This includes schema.sql and sqlite.sql in the release binary, so they
no longer need to be included in the release archives. This reduces the
number of files extracted, but otherwise leaves all functionality as it
was -- especially the --init-db flag.

Ref T536
2018-12-30 20:10:42 -05:00
Matt Baer
d4a08723aa Add @kaiyou to AUTHORS 2018-12-24 17:33:20 -05:00
Matt Baer
e525bc32a7 Use language-specific dash in post titles
This closes #1
2018-12-24 13:58:32 -05:00
Matt Baer
69eab50f42 Create darwin archives with macos in the name
(not "darwin")
2018-12-24 12:56:57 -05:00
Matt Baer
1274914207 Add copyright / license notices to .go files 2018-12-24 12:45:15 -05:00
Matt Baer
7f5551105a Fix metadata update redirect on single-user instances
Fixes #50
2018-12-24 10:33:40 -05:00