Commit Graph

682 Commits

Author SHA1 Message Date
2180e15757 Fix incorrect highlighting of post excerpts 2015-06-10 14:42:14 +09:30
f82aaa82a5 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
fbbeebbdee Clean up, use time helper rather than util 2015-06-10 13:59:25 +09:30
0e15aafed7 Externalize babel helpers.
Saves 2kB after minify+gzip :D
2015-06-08 15:28:45 +09:30
1826d15970 Clean up extension stub. 2015-06-08 15:05:35 +09:30
1c80a509f1 Use new flarum-gulp package. 2015-06-08 14:57:23 +09:30
b28bf04e5a Remove old code. 2015-06-08 14:57:05 +09:30
e7f2e62cec Load extensions from the root directory, with precedence. 2015-06-08 14:56:49 +09:30
a41d02f030 Add extension generator command. 2015-06-08 14:56:19 +09:30
ef73b0cabb Clear bio HTML cache when saving bio 2015-06-08 09:50:07 +09:30
7ea3252776 Make composer sliding animation less jumpy when replying 2015-06-08 09:47:28 +09:30
4a2d0ad76e Make HTMLPurifier config extensible; allow images 2015-06-08 09:37:30 +09:30
4b92840fde Prevent formatter from being invoked if bio is empty 2015-06-08 09:34:39 +09:30
c1af216872 Fix user profile activity regression 2015-06-07 10:12:48 +09:30
62dac9b1ee 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
73cee225c6 Fix error 2015-06-04 11:12:04 +09:30
6144e427d2 Really rough fulltext driver implementation 2015-06-04 11:11:56 +09:30
944e5c649c 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
80f766127a Allow <hr> in posts 2015-06-03 18:12:15 +09:30
e73c21779e Style tweaks 2015-06-03 18:11:43 +09:30
920ad4f04f Implement search on front end 2015-06-03 18:10:56 +09:30
f1a7e8c115 Fix composer only sliding down some of the way 2015-06-03 18:06:39 +09:30
c42627b46d 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
306b79b22a Password cannot be null 2015-06-01 17:55:52 +09:30
1b57eb3c9b Fix error on account registration 2015-06-01 17:55:41 +09:30
c70122c449 Make user activity posts more compact 2015-06-01 17:55:13 +09:30
4a1020dfab Use icon instead in composer title when replying to another thread 2015-06-01 17:55:05 +09:30
2900cac456 Tweak reply placeholder appearance 2015-06-01 17:54:37 +09:30
ccf63a65e9 Only validate dirty attributes
To prevent unique-checking queries on every update
2015-06-01 12:26:44 +09:30
761b76539d Use pre-loaded state if applicable. closes flarum/core#89 2015-06-01 12:26:11 +09:30
3eed9a99b6 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
39e1b8e008 Remove default relationships from serializers 2015-06-01 12:24:06 +09:30
71a5b1f49c Fix/simplify timestamp live updating. closes flarum/core#101 2015-06-01 11:10:15 +09:30
d96c5c284f Scroll to the bottom of the last post when jumping to last 2015-06-01 11:09:39 +09:30
eed809e6e8 Force redraw to ensure focusing works 2015-06-01 10:43:16 +09:30
0a0c50e1bb Add icon to post edit composer 2015-06-01 10:29:11 +09:30
c3c2978fc1 Make replyAction into a promise. closes #100 2015-06-01 10:29:01 +09:30
8d7a6985ba Add reply placeholder to bottom of post stream 2015-06-01 10:28:24 +09:30
b1693f9537 Add 'state helpers', shortcuts to make querying app state easier 2015-06-01 10:26:23 +09:30
220190cc53 Add NotificationWillBeSent event 2015-06-01 08:52:04 +09:30
605eaa6ffc Add text-editor API to get selection range 2015-06-01 08:49:46 +09:30
78efdc1d09 Fix bug where switching composer component would lead to incorrect rendering 2015-06-01 08:49:23 +09:30
0b1ff22168 Tweak composer full screen styles. closes flarum/core#102 2015-06-01 08:48:50 +09:30
ae09240a3d Add some missing post content styles 2015-06-01 08:48:10 +09:30
b36e3f1053 Simplify active discussion detection 2015-05-31 13:53:02 +09:30
6b7632cda3 Move theme config to database 2015-05-31 11:18:19 +09:30
6e1bf0d3de Fix post scrubber closing on mobile 2015-05-31 11:17:41 +09:30
4a3f8d2aa8 Padding tweak 2015-05-30 14:58:47 +09:30
a3b029accc Prevent error when trying to get relationship and no links have been loaded 2015-05-30 13:58:21 +09:30
731b00571c Eager load notification relationships 2015-05-30 13:57:39 +09:30