Commit Graph

685 Commits

Author SHA1 Message Date
070d8fb04d Fix scrolling to first post not working 2015-06-11 18:39:36 +09:30
0f5156afd4 Fix incorrect visible range in post scrubber 2015-06-11 18:39:12 +09:30
ac83cb1cf4 Fix sort menu not displaying the current option 2015-06-11 18:38:48 +09:30
16c714012f Fix incorrect highlighting of post excerpts 2015-06-10 14:42:14 +09:30
8b162344cd Lay the groundwork for translation & refactor asset compilation
Ditched the idea of having language packs as extensions. Reasoning:

1. Because we use machine keys for translations (rather than English
keys), extensions need to be able to define default translations. If
English translations are to be included in extensions and not in a
language pack extension, then it doesn’t make sense to have other
languages as language pack extensions. Inconsistency → complexity.

2. Translations should maintain version parity with their respective
extensions. There’s no way to do this if extension translations are
external to the extension.

Instead, localisation will be a core effort, as well as a per-extension
effort. Translators will be encouraged to send PRs to core + extensions.

In core, each locale has a directory containing three files:
- translations.yml
- config.js: contains pluralisation logic for the JS app, as well as
moment.js localisation if necessary
- config.php: contains pluralisation logic for the PHP app

Extensions can use the Flarum\Extend\Locale extender to add/override
translations/config to a locale.

Asset compilation has been completely refactored with a better
architecture. Translations + config.js are compiled and cached for the
currently active locale.
2015-06-10 14:23:56 +09:30
77601870e0 Clean up, use time helper rather than util 2015-06-10 13:59:25 +09:30
8f856f85db Externalize babel helpers.
Saves 2kB after minify+gzip :D
2015-06-08 15:28:45 +09:30
5500372288 Clean up extension stub. 2015-06-08 15:05:35 +09:30
31a3de641f Use new flarum-gulp package. 2015-06-08 14:57:23 +09:30
0450aba462 Remove old code. 2015-06-08 14:57:05 +09:30
36257b1534 Load extensions from the root directory, with precedence. 2015-06-08 14:56:49 +09:30
b864ada389 Add extension generator command. 2015-06-08 14:56:19 +09:30
4d2f58b693 Clear bio HTML cache when saving bio 2015-06-08 09:50:07 +09:30
250e16d970 Make composer sliding animation less jumpy when replying 2015-06-08 09:47:28 +09:30
7a76bf175d Make HTMLPurifier config extensible; allow images 2015-06-08 09:37:30 +09:30
f928e746d9 Prevent formatter from being invoked if bio is empty 2015-06-08 09:34:39 +09:30
a5ad1fded7 Fix user profile activity regression 2015-06-07 10:12:48 +09:30
381e7a2c57 Usernames must only contain alphanumeric chars/dashes/underscores
Perhaps we can relax this a little bit, but right now these are the
only characters that are parsed for @mentions anyway
2015-06-04 11:19:23 +09:30
73396e3e9c Fix error 2015-06-04 11:12:04 +09:30
aae7678cea Really rough fulltext driver implementation 2015-06-04 11:11:56 +09:30
42851f425b Rejig formatting API. closes flarum/core#85
It works but it’s not the most pretty thing in the world. @franzliedke
Would be great if you could take a look at the whole formatting API and
work your magic on it sometime… my brain is fried!
2015-06-04 10:48:07 +09:30
9487a56d61 Allow <hr> in posts 2015-06-03 18:12:15 +09:30
0f08a4378c Style tweaks 2015-06-03 18:11:43 +09:30
5d89618bbd Implement search on front end 2015-06-03 18:10:56 +09:30
ea510b5ea0 Fix composer only sliding down some of the way 2015-06-03 18:06:39 +09:30
6cf1dbe648 Add HTMLPurifier after formatters are run.
After a morning of searching, it seems there is no PHP Markdown library
that has built-in XSS/sanitization support. The recommended solution is
to use HTMLPurifier.

This actually works out OK, though, as it’s probably a good idea to
enforce sanitization regardless of which formatters are enabled, and to
not leave them with the responsibility of sanitization (it’s a big
responsibility). Since we cache rendered posts, the slow speed of
HTMLPurifier isn’t a concern.

Note that HTMLPurifier requires a file to be loaded by Composer, but
Studio does not yet support this, so for now I have included it
manually.
2015-06-02 11:36:25 +09:30
fb3038d128 Password cannot be null 2015-06-01 17:55:52 +09:30
82377f2302 Fix error on account registration 2015-06-01 17:55:41 +09:30
c7a6f8650e Make user activity posts more compact 2015-06-01 17:55:13 +09:30
5d29265a73 Use icon instead in composer title when replying to another thread 2015-06-01 17:55:05 +09:30
8638e9c9ca Tweak reply placeholder appearance 2015-06-01 17:54:37 +09:30
5d28fc2713 Only validate dirty attributes
To prevent unique-checking queries on every update
2015-06-01 12:26:44 +09:30
3334063740 Use pre-loaded state if applicable. closes flarum/core#89 2015-06-01 12:26:11 +09:30
bb1491e19e Extract current user attributes into a separate serializer
This prevents the unread notifications count query being run for every
post by the currently authenticated user
2015-06-01 12:25:40 +09:30
0f9549f4b9 Remove default relationships from serializers 2015-06-01 12:24:06 +09:30
7a35f5faf6 Fix/simplify timestamp live updating. closes flarum/core#101 2015-06-01 11:10:15 +09:30
be249cbcb5 Scroll to the bottom of the last post when jumping to last 2015-06-01 11:09:39 +09:30
47560dbc86 Force redraw to ensure focusing works 2015-06-01 10:43:16 +09:30
bfc4201338 Add icon to post edit composer 2015-06-01 10:29:11 +09:30
7362aff345 Make replyAction into a promise. closes #100 2015-06-01 10:29:01 +09:30
56981c1297 Add reply placeholder to bottom of post stream 2015-06-01 10:28:24 +09:30
3f6a3de863 Add 'state helpers', shortcuts to make querying app state easier 2015-06-01 10:26:23 +09:30
351775ef02 Add NotificationWillBeSent event 2015-06-01 08:52:04 +09:30
1153e41b7a Add text-editor API to get selection range 2015-06-01 08:49:46 +09:30
f8d681d9ab Fix bug where switching composer component would lead to incorrect rendering 2015-06-01 08:49:23 +09:30
d33bac533d Tweak composer full screen styles. closes flarum/core#102 2015-06-01 08:48:50 +09:30
acb6a8d8c5 Add some missing post content styles 2015-06-01 08:48:10 +09:30
44a4e31fe1 Simplify active discussion detection 2015-05-31 13:53:02 +09:30
a1da95962d Move theme config to database 2015-05-31 11:18:19 +09:30
8e7634e36d Fix post scrubber closing on mobile 2015-05-31 11:17:41 +09:30