Commit graph

364 commits

Author SHA1 Message Date
Matt Baer
3fab9f6439 Add missing CSS for highlightjs 2018-12-10 16:22:11 -05:00
Matt Baer
8beccaf6c2 Reserve "community" username 2018-12-10 16:18:09 -05:00
Matt Baer
4b8d5e3e37 Bump version to 0.6.0 2018-12-10 16:17:57 -05:00
Matt Baer
25a68d0c0e Add Reader section
This adds a "Reader" section of the site for admins who want to enable
it for their instance. That means visitors can go to /read and see who
has publicly shared their writing. They can also follow all public posts
via RSS by going to /read/feed/. Writers on an instance with this
`local_timeline` setting enabled can publish to the timeline by going
into their blog settings and choosing the "Public" visibility setting.

The `local_timeline` feature is disabled by default, as is the Public
setting on writer blogs. Enabling it adds a "Reader" navigation item and
enables the reader endpoints. This feature will also consume more
memory, as public posts are cached in memory for 10 minutes.

These changes include code ported over from Read.Write.as, and thus
include some experimental features like filtering public posts by tags
and authors. These features aren't well-tested or complete.

Closes T554
2018-12-10 16:08:07 -05:00
Matt Baer
7828bf6ba2 Merge branch 'develop' 2018-12-10 14:22:53 -05:00
Matt Baer
2422601e89
Merge pull request #45 from writeas/sqlite-support
SQLite support
2018-12-10 14:22:27 -05:00
Matt Baer
d3b120be75 Merge branch 'sqlite-support' into develop 2018-12-10 00:27:50 -05:00
Matt Baer
a3e287a77a Make accesstokens.user_agent NULL by default
The field is currently unused in the app, and it was causing problems in
SQLite.

Ref T529
2018-12-10 00:26:54 -05:00
Matt Baer
9fb7777c33 Switch to xgo for cross-compilation
Ref T529
2018-12-08 18:27:50 -05:00
Matt Baer
111945bc5d Add new -c [filename] option for supplying config file
This allows users to load a different configuration file instead of the
default config.ini. It works in combination with other configuration
actions, like --config and --create-config.
2018-12-08 17:49:19 -05:00
Matt Baer
20c77989ba Update setup steps 2018-12-08 15:26:33 -05:00
Matt Baer
17c816477b Add SQLite option to config process
Ref T529
2018-12-08 13:36:51 -05:00
Matt Baer
ba3d6ae64c Support custom SQLite database file name
Ref T529
2018-12-08 13:34:29 -05:00
Matt Baer
c6851fee50 Fix duplicate key checks in SQLite
Ref T529
2018-12-08 13:25:20 -05:00
Matt Baer
4b780361bf Fix upsert queries on SQLite
Ref T529
2018-12-08 12:58:45 -05:00
Matt Baer
026604b3dd Fix pinned post content truncation with SQLite
This extracts the LEFT/SUBSTR logic into its own datastore.clip() method
that also works correctly with SQLite.

Ref T529
2018-12-08 12:54:49 -05:00
Matt Baer
daaa4564bb Fix post created date in SQLite
We store times in UTC in all other places, but the post.Created logic
when creating a post meant that dates were being stored in a user's
local timezone. This fixes that.

Ref T529
2018-12-08 12:51:27 -05:00
Matt Baer
6f4c004e8c Fix SQLite date format string
The formatted string was invalid before, causing date parsing to fail.
This fixes that.

Ref T529
2018-12-08 12:28:52 -05:00
Matt Baer
bc1b3fdfb7 Move NOW() calls to datastore.now() method
Ref T529
2018-12-08 12:15:16 -05:00
Matt Baer
7fab11b3c8 Move initial config loading to its own func 2018-12-08 10:39:25 -05:00
Matt Baer
afede80e87 Merge branch 'master' into sqlite-support 2018-12-08 10:34:43 -05:00
Matt Baer
9e466a6d23 Locally host MathJax
This closes T551
2018-12-07 16:50:29 -05:00
Matt Baer
860e8c0120 Locally host highlightjs
Part of T551
2018-12-07 16:37:14 -05:00
Matt Baer
e06b328785 Merge branch 'master' of github.com:writeas/writefreely 2018-12-05 21:45:26 -05:00
Matt Baer
df4cd9ed00 Add --create-admin option
This enables automated user creation by running:

  writefreely --create-admin username:password

It will fail if an admin (first user) already exists, which makes this
suitable for use on both for single- and multi-user instances.

Closes T544
2018-12-05 21:41:51 -05:00
Brad Koehn
c2a3b4935c
Merge pull request #44 from TeDomum/master
Add openssl and root anchors for federation queries
2018-12-05 07:07:45 -06:00
kaiyou
d01d2c80b6 Add openssl and root anchors for federation queries 2018-12-05 13:33:53 +01:00
Marcel van der Boom
5856e91f84 Allow beginning of line as begin of tag as well 2018-12-04 18:26:18 +01:00
Matt Baer
8ceb165020 Bump version to 0.5 2018-12-03 18:57:31 -05:00
Matt Baer
cb2b30b379 Show stats on About page if public_stats enabled
Previously, it would only show the stats if federation was enabled.
2018-12-03 18:49:12 -05:00
Matt Baer
8cbc02d7cf Hide unneeded config values in single-user mode
(in the admin UI.)
2018-12-03 18:45:55 -05:00
Matt Baer
cbf6ff54df Add site_description config value
This changes what displays in the NodeInfo, and in the future might be
used for other things.
2018-12-03 18:36:33 -05:00
Matt Baer
573ce02739 Remove params from URL after loading admin panel
This ensures that refreshing the page doesn't include any past success /
failure messages.
2018-12-03 18:34:36 -05:00
Matt Baer
d2f89c6360 Open pages linked from admin UI in new window 2018-12-03 17:34:57 -05:00
Matt Baer
9fe4b09de5 Support editing some config values in admin UI
This is almost all of T541
2018-12-03 17:30:31 -05:00
Matt Baer
09a3fe09fe
Merge pull request #39 from mrvdb/codehighlight
Codehighlight, add support for all languages
2018-12-03 12:24:36 -05:00
Matt Baer
5fc41687be Fix whitespace 2018-12-03 12:18:04 -05:00
Matt Baer
f04469beee Fix SQLite concurrency issues
A quick test with ApacheBench revealed that SQLite really can't handle
multiple concurrent requests with the default settings, due to a locked
database. This fixes that by following the suggestions here:
https://github.com/mattn/go-sqlite3#faq

Testing with ab -n 100 -c 5 http://localhost:8080/blog/post shows that
this fixes the issue. But we could improve performance by reducing
writes, like what's mentioned in T545.

Part of T529
2018-12-03 12:05:52 -05:00
Marcel van der Boom
79a7ca750e Require hashtags to have a space before them
This improves rendering in a number of situations:

- it keeps anchor tags working
- it gives the user some control for not linking, for example in code
  blocks.

Con:
hashTags at the beginning of a line without a space won't get linked.

Workaround related to issues #42 and #6 and #33
2018-12-03 12:08:02 +01:00
Matt Baer
61de04338e Extract out common DB connection logic
T529
2018-12-02 17:21:43 -05:00
Matt Baer
c6d3ef7596 Include SQLite schema in releases
Part of T529
2018-12-02 17:21:18 -05:00
Matt Baer
31b802e440 Add backticks on table names in sqlite.sql
This keeps queries similar to schema.sql, and ensures log statements are
correct when running --init-db
2018-12-02 16:24:44 -05:00
Matt Baer
fc856e36eb Fix editing metadata on single-user instances
This closes #40
2018-12-01 16:27:14 -05:00
Ben Overmyer
6cb86214d7 SQLite support added. 2018-12-01 12:07:25 -06:00
Matt Baer
c60c61c5b8 Add link to AUR package 2018-12-01 10:13:45 -05:00
Marcel van der Boom
3b4d14f194 Only push language uri once on load stack 2018-11-29 17:36:50 +01:00
Marcel van der Boom
b034a08350 Merge remote-tracking branch 'upstream/master' into codehighlight
* upstream/master:
  Re-add https in log message
  Also use bind address on standalone redirect
  Allow 'bind' in config to specify bind address
  Only log ActivityPub info when debugging
  Bump version to 0.4
  Move softwareVer to var() block
  Add @koehn to AUTHORS
  Add `make release-docker`
  Move docker build to `make build-docker`
  extracted docker command a la `go` and `make`
  added docker support to `make release`
  removed an unnecessary debugging statement
  added .git to make builds cache more effectively and run faster
  switched to much smaller alpine image since golang not required at runtime
  Updated Dockerfile to produce smaller image with minimum content and a few extra features; added .dockerignore
2018-11-29 16:30:31 +01:00
Marcel van der Boom
c6e4967728 Add support for all languages
- dynamically construct a list of languages to load
- fire hightlighting once last file has loaded
2018-11-29 16:25:53 +01:00
Matt Baer
fb18b8f6e3
Merge pull request #38 from mrvdb/bindaddress
Allow 'bind' in config to specify bind address
2018-11-27 13:58:17 -05:00
Matt Baer
fe78d6d47f Re-add https in log message 2018-11-27 10:55:43 -05:00