UNPKG

2.54 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const async_1 = require("async");
4const fs_1 = require("fs");
5const settings = require("./settings");
6const plugins = require("./plugins");
7exports.plugins = plugins;
8const parse = require("./parse");
9exports.parse = parse;
10const build_1 = require("./build");
11const pubsub_1 = require("./pubsub");
12const controllers_1 = require("./controllers");
13require("./customizations");
14const nconf = require.main.require('nconf');
15const db = require.main.require('./src/database');
16const buster = require.main.require('./src/meta').config['cache-buster'];
17const init = (params, callback) => {
18 controllers_1.default(params);
19 async_1.waterfall([
20 settings.get,
21 ({ parseAscii, parseNative }, next) => {
22 // initialise ascii flag
23 parse.setOptions({
24 ascii: parseAscii,
25 native: parseNative,
26 });
27 // always build on startup if in dev mode
28 if (nconf.any('build_emoji', 'BUILD_EMOJI')) {
29 next(null, true);
30 return;
31 }
32 // otherwise, build if never built before
33 fs_1.access(build_1.tableFile, (err) => {
34 if (err && err.code !== 'ENOENT') {
35 return next(err);
36 }
37 next(null, !!err);
38 });
39 },
40 (shouldBuild, next) => {
41 if (shouldBuild) {
42 pubsub_1.build(next);
43 }
44 else {
45 next();
46 }
47 },
48 ], callback);
49};
50exports.init = init;
51const adminMenu = (header, callback) => {
52 header.plugins.push({
53 route: '/plugins/emoji',
54 icon: 'fa-smile-o',
55 name: 'Emoji',
56 });
57 callback(null, header);
58};
59exports.adminMenu = adminMenu;
60const composerFormatting = (data, callback) => {
61 data.options.push({
62 name: 'emoji-add-emoji',
63 className: 'fa fa-smile-o emoji-add-emoji',
64 title: '[[emoji:composer.title]]',
65 });
66 callback(null, data);
67};
68exports.composerFormatting = composerFormatting;
69const addStylesheet = (data, callback) => {
70 const rel = nconf.get('relative_path');
71 data.links.push({
72 rel: 'stylesheet',
73 href: `${rel}/plugins/nodebb-plugin-emoji/emoji/styles.css?${buster}`,
74 });
75 callback(null, data);
76};
77exports.addStylesheet = addStylesheet;
78//# sourceMappingURL=index.js.map
\No newline at end of file