+import 'moment/locale/es';
+import 'moment/locale/eo';
+import 'moment/locale/de';
+import 'moment/locale/zh-cn';
+import 'moment/locale/fr';
+import 'moment/locale/sv';
+import 'moment/locale/ru';
+import 'moment/locale/nl';
+
import { UserOperation, Comment, User, SortType, ListingType } from './interfaces';
import * as markdown_it from 'markdown-it';
+declare var markdownitEmoji: any;
import * as markdown_it_container from 'markdown-it-container';
export let repoUrl = 'https://github.com/dessalines/lemmy';
}
var md = new markdown_it({
- html: true,
+ html: false,
linkify: true,
typographer: true
}).use(markdown_it_container, 'spoiler', {
return '</details>\n';
}
}
-});
+}).use(markdownitEmoji);
export function hotRank(comment: Comment): number {
// Rank = ScaleFactor * sign(Score) * log(1 + abs(Score)) / (Time + 2)^Gravity
return imageRegex.test(url);
}
+export function validURL(str: string) {
+ var pattern = new RegExp('^(https?:\\/\\/)?'+ // protocol
+ '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ // domain name
+ '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address
+ '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ // port and path
+ '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string
+ '(\\#[-a-z\\d_]*)?$','i'); // fragment locator
+ return !!pattern.test(str);
+}
+
export let fetchLimit: number = 20;
export function capitalizeFirstLetter(str: string): string {
if (callNow) func.apply(context, args);
}
}
+
+export function getLanguage(): string {
+ return (navigator.language || navigator.userLanguage);
+}
+
+export function getMomentLanguage(): string {
+ let lang = getLanguage();
+ if (lang.startsWith('zh')) {
+ lang = 'zh-cn';
+ } else if (lang.startsWith('sv')) {
+ lang = 'sv';
+ } else if (lang.startsWith('fr')) {
+ lang = 'fr';
+ } else if (lang.startsWith('de')) {
+ lang = 'de';
+ } else if (lang.startsWith('ru')) {
+ lang = 'ru';
+ } else if (lang.startsWith('es')) {
+ lang = 'es';
+ } else if (lang.startsWith('eo')) {
+ lang = 'eo';
+ } else if (lang.startsWith('nl')) {
+ lang = 'nl';
+ } else {
+ lang = 'en';
+ }
+ return lang;
+}