From: Ben Beltran Date: Sun, 26 Jan 2020 15:33:43 +0000 (+0100) Subject: Add skeleton for topic X-Git-Url: https://git.r.bdr.sh/rbdr/forum/commitdiff_plain/66dc4cae4cd37e82d773dc30be046d82d380ec4d Add skeleton for topic Tested with VoiceOver --- diff --git a/app/components/forum_list/forum_list.svelte b/app/components/forum_list/forum_list.svelte index 905421e..e49c8d8 100644 --- a/app/components/forum_list/forum_list.svelte +++ b/app/components/forum_list/forum_list.svelte @@ -1,21 +1,47 @@ - + + + diff --git a/app/components/glyph/glyph.svelte b/app/components/glyph/glyph.svelte new file mode 100644 index 0000000..45a415b --- /dev/null +++ b/app/components/glyph/glyph.svelte @@ -0,0 +1,38 @@ + + + + + diff --git a/app/components/header/header.svelte b/app/components/header/header.svelte index 15b75b8..edcbc79 100644 --- a/app/components/header/header.svelte +++ b/app/components/header/header.svelte @@ -1,11 +1,42 @@ -
- +
+
+ + diff --git a/app/components/topic/topic.svelte b/app/components/topic/topic.svelte new file mode 100644 index 0000000..367a5b8 --- /dev/null +++ b/app/components/topic/topic.svelte @@ -0,0 +1,61 @@ + + +
+

This is a post in the forum.

+ + + +
+

This is a main topic in the forum. Does that abstraction still even make sense?

+

Is this really it??

+

This might all be fake but at least the links look purple when visited

+
+
+ +
+

It's just how it is...

+
+
+
+ + diff --git a/app/css/global.css b/app/css/global.css new file mode 100644 index 0000000..84e9f8c --- /dev/null +++ b/app/css/global.css @@ -0,0 +1,7 @@ +body { + display: grid; + font-family : 'ヒラギノ明朝 ProN' , 'Hiragino Mincho ProN' , '游明朝','游明朝体',YuMincho,'Yu Mincho' , 'MS 明朝' , 'MS Mincho' , HiraMinProN-W3 , 'TakaoEx明朝' , TakaoExMincho , 'MotoyaLCedar' , 'Droid Sans Japanese' , serif; + grid-template-columns: repeat(12, [col-start] 1fr); + grid-gap: 20px; + grid-auto-rows: minmax(24px, auto); +} diff --git a/app/css/style.css b/app/css/style.css deleted file mode 100644 index e69de29..0000000 diff --git a/app/forum.svelte b/app/forum.svelte index 99ce5a8..d944d8e 100644 --- a/app/forum.svelte +++ b/app/forum.svelte @@ -1,35 +1,10 @@ -
-

Is this really what the forum looks like?

-

- Posted on Interaction. - 3 days remaining. -

-

- Tags: - question(5) - meta(34) - carrots(1) - tpbo(2) -

-
-
- - -

So, I’m new here and I had heard a lot about the forums.

Is this really it??

It has barely any features, also I think I accidentaally created a post without a board? what’s up with that??

-
-
-
+ - - diff --git a/app/index.html b/app/index.html index 7dad472..7c4d601 100644 --- a/app/index.html +++ b/app/index.html @@ -1,16 +1,24 @@ - + + + Forum. + + - + + diff --git a/app/manifest.json b/app/manifest.json new file mode 100644 index 0000000..dbeaa18 --- /dev/null +++ b/app/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "Forum", + "short_name": "Forum", + start_url": "/", +"background_color": "#ffffff", + "display": "standalone", + "theme_color": "#ffffff" +} diff --git a/app/manifest.webmanifest b/app/manifest.webmanifest new file mode 100644 index 0000000..68a60f7 --- /dev/null +++ b/app/manifest.webmanifest @@ -0,0 +1,7 @@ +{ + "name": "Forum", + "start_url": "/", + "background_color": "#ffffff", + "display": "standalone", + "theme_color": "#ffffff" +} diff --git a/app/models/forums.js b/app/stores/forums.js similarity index 76% rename from app/models/forums.js rename to app/stores/forums.js index 211181e..adc8758 100644 --- a/app/models/forums.js +++ b/app/stores/forums.js @@ -5,67 +5,67 @@ const internals = {}; internals.forums = [ { id: 'life', - kanji: '命', + glyph: '☆', label: 'Life' }, { id: 'the-world', - kanji: '世', + glyph: '◯', label: 'The World' }, { id: 'online', - kanji: '直結', + glyph: '⏀', label: 'Online' }, { id: 'experience', - kanji: '体験', + glyph: '♢', label: 'Experience' }, { id: 'belief', - kanji: '信念', + glyph: '⏃', label: 'Belief' }, { id: 'movement', - kanji: '動', + glyph: '▷', label: 'Movement' }, { id: 'emotion', - kanji: '情', + glyph: '☽', label: 'Emotion' }, { id: 'interaction', - kanji: '交流', + glyph: '〒', label: 'Interaction' }, { id: 'structure', - kanji: '構造', + glyph: '▢', label: 'Structure' }, { id: 'sound', - kanji: '音', + glyph: '〰', label: 'Sound' }, { id: 'words', - kanji: '言葉', + glyph: '╳', label: 'Words' }, { id: 'us', - kanji: '一同', + glyph: '╱', label: 'Us' }, { id: 'everything', - kanji: '何事も', + glyph: '♡', label: 'Everything' } ]; @@ -78,7 +78,7 @@ export function addForum() { forums.update((forums) => ([...forums, { id, - kanji: 'の', + glyph: 'の', label: `Woah ${id}` } ])); diff --git a/app/utils/glyph_hash.js b/app/utils/glyph_hash.js new file mode 100644 index 0000000..c074376 --- /dev/null +++ b/app/utils/glyph_hash.js @@ -0,0 +1,38 @@ +const internals = { + kSplitterRegex: /.{1,8}/g, + kGlyphs: [ + "☽", + "☆", + "♢", + "♡", + "╱", + "╲", + "╳", + "〰", + "▷", + "⏊", + "〒", + "▢", + "◯", + "⏃", + "⏀", + "⏆" + ] +}; + +// Return a glyph with color based on a 4 byte fragment of a UUIDv4 +const getGlyphHashFragment = function (uuidFragment) { + + const glyphIndex = parseInt(uuidFragment.substring(0,2), 16) % 16; + return { + glyph: internals.kGlyphs[glyphIndex], + color: `#${uuidFragment.substring(2,8)}` + } +}; + +// Return an array of glyphs based on a UUIDv4 +export const getGlyphHash = function (uuid) { + + const hashFragments = uuid.match(internals.kSplitterRegex); + return hashFragments.map(getGlyphHashFragment); +}; diff --git a/doc/COVERAGE.md b/doc/COVERAGE.md new file mode 100644 index 0000000..dd1f5ef --- /dev/null +++ b/doc/COVERAGE.md @@ -0,0 +1,31 @@ +# Code Quality Report +Thu Nov 15 2018 01:45:42 GMT+0100 (Central European Standard Time) + +## Tests + +**Application Loader** +✔ 1) Should instantiate and start Forum on window load (18 ms) + + +1 test +0 tests failed +0 tests skipped + +Test duration: 27 ms + + +## Leaks +The following global variable leaks were detected:_registeredHandlers, _eventHandlers, DOMException, NamedNodeMap, Attr, Node, Element, DocumentFragment, HTMLDocument, Document, XMLDocument, CharacterData, Text, CDATASection, ProcessingInstruction, Comment, DocumentType, DOMImplementation, NodeList, HTMLCollection, HTMLOptionsCollection, DOMStringMap, DOMTokenList, SVGAnimatedString, SVGNumber, SVGStringList, Event, CloseEvent, CustomEvent, MessageEvent, ErrorEvent, HashChangeEvent, FocusEvent, PopStateEvent, UIEvent, MouseEvent, KeyboardEvent, TouchEvent, ProgressEvent, CompositionEvent, WheelEvent, EventTarget, BarProp, Location, History, Screen, Performance, Blob, File, FileList, DOMParser, FormData, XMLHttpRequestEventTarget, XMLHttpRequestUpload, NodeIterator, TreeWalker, HTMLElement, HTMLAnchorElement, HTMLAreaElement, HTMLAudioElement, HTMLBaseElement, HTMLBodyElement, HTMLBRElement, HTMLButtonElement, HTMLCanvasElement, HTMLDataElement, HTMLDataListElement, HTMLDetailsElement, HTMLDialogElement, HTMLDirectoryElement, HTMLDivElement, HTMLDListElement, HTMLEmbedElement, HTMLFieldSetElement, HTMLFontElement, HTMLFormElement, HTMLFrameElement, HTMLFrameSetElement, HTMLHeadingElement, HTMLHeadElement, HTMLHRElement, HTMLHtmlElement, HTMLIFrameElement, HTMLImageElement, HTMLInputElement, HTMLLabelElement, HTMLLegendElement, HTMLLIElement, HTMLLinkElement, HTMLMapElement, HTMLMarqueeElement, HTMLMediaElement, HTMLMenuElement, HTMLMetaElement, HTMLMeterElement, HTMLModElement, HTMLObjectElement, HTMLOListElement, HTMLOptGroupElement, HTMLOptionElement, HTMLOutputElement, HTMLParagraphElement, HTMLParamElement, HTMLPictureElement, HTMLPreElement, HTMLProgressElement, HTMLQuoteElement, HTMLScriptElement, HTMLSelectElement, HTMLSourceElement, HTMLSpanElement, HTMLStyleElement, HTMLTableCaptionElement, HTMLTableCellElement, HTMLTableColElement, HTMLTableElement, HTMLTimeElement, HTMLTitleElement, HTMLTableRowElement, HTMLTableSectionElement, HTMLTemplateElement, HTMLTextAreaElement, HTMLTrackElement, HTMLUListElement, HTMLUnknownElement, HTMLVideoElement, SVGElement, SVGGraphicsElement, SVGSVGElement, StyleSheet, MediaList, CSSStyleSheet, CSSRule, CSSStyleRule, CSSMediaRule, CSSImportRule, CSSStyleDeclaration, StyleSheetList, XPathException, XPathExpression, XPathResult, XPathEvaluator, NodeFilter, Window, _globalProxy, _document, _sessionHistory, _virtualConsole, _runScripts, _top, _parent, _frameElement, _length, _pretendToBeVisual, length, window, frameElement, frames, self, parent, top, document, external, location, history, navigator, locationbar, menubar, personalbar, scrollbars, statusbar, toolbar, performance, screen, addEventListener, removeEventListener, dispatchEvent, __stopAllTimers, Option, Image, Audio, postMessage, atob, btoa, FileReader, WebSocket, AbortSignal, AbortController, XMLHttpRequest, stop, close, getComputedStyle, captureEvents, releaseEvents, name, devicePixelRatio, innerWidth, innerHeight, outerWidth, outerHeight, pageXOffset, pageYOffset, screenX, screenY, scrollX, scrollY, screenLeft, screenTop, alert, blur, confirm, focus, moveBy, moveTo, open, print, prompt, resizeBy, resizeTo, scroll, scrollBy, scrollTo + + +## Coverage +Threshold: 100% +Coverage: 0.00% (0/0) + + + +## Linting +Warnings threshold: 0 +Errors threshold: 0 +No issues + diff --git a/docker-compose.yml b/docker-compose.yml index 3551ec6..03bf6b8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,6 +14,6 @@ services: links: - db db: - image: rethinkdb:2.3.7 + image: rethinkdb:2.4 ports: - "8080:8080" diff --git a/package-lock.json b/package-lock.json index c3321cc..03ba9cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -969,6 +969,15 @@ "@hapi/joi": "16.x.x" } }, + "@hapi/code": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@hapi/code/-/code-7.0.0.tgz", + "integrity": "sha512-fTq1x12vpchD/+9WfxhUbEnlEPVv5QNrsymw9/fSyN/mKNBfQmkv4Ssq3cDgW6mDyN4oiVFJBdLw6jpkmWZ9dQ==", + "dev": true, + "requires": { + "@hapi/hoek": "8.x.x" + } + }, "@hapi/eslint-config-hapi": { "version": "12.3.0", "resolved": "https://registry.npmjs.org/@hapi/eslint-config-hapi/-/eslint-config-hapi-12.3.0.tgz", @@ -1033,63 +1042,6 @@ "supports-color": "7.x.x", "typescript": "3.6.x", "will-call": "1.x.x" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "globby": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", - "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "seedrandom": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } } }, "@hapi/pinpoint": { @@ -1574,6 +1526,12 @@ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -3348,6 +3306,15 @@ "randombytes": "^2.0.0" } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "dmd": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/dmd/-/dmd-4.0.6.tgz", @@ -4057,6 +4024,15 @@ "flat-cache": "^2.0.1" } }, + "file-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/file-match/-/file-match-1.0.2.tgz", + "integrity": "sha1-ycrSZdLIrfOoFHWw30dYWQafrvc=", + "dev": true, + "requires": { + "utils-extend": "^1.0.6" + } + }, "file-set": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/file-set/-/file-set-3.0.0.tgz", @@ -4067,6 +4043,16 @@ "glob": "^7.1.5" } }, + "file-system": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/file-system/-/file-system-2.2.2.tgz", + "integrity": "sha1-fWWDPjojR9zZVqgTxncVPtPt2Yc=", + "dev": true, + "requires": { + "file-match": "^1.0.1", + "utils-extend": "^1.0.4" + } + }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -4871,6 +4857,30 @@ "type-fest": "^0.8.1" } }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + } + } + }, "graceful-fs": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", @@ -7170,6 +7180,17 @@ } } }, + "parcel-plugin-static-files-copy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/parcel-plugin-static-files-copy/-/parcel-plugin-static-files-copy-2.2.1.tgz", + "integrity": "sha512-Mj//+258Q05ZL72uD1VDJZ7jOW4PuwJO5WNM7ODpgHtDwXlhIURklSX0Ua8J4d/Vr1xWkNCg2HIVlhacdZ3M3w==", + "dev": true, + "requires": { + "file-system": "2.2.2", + "minimatch": "3.0.4", + "path": "0.12.7" + } + }, "parcel-plugin-svelte": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/parcel-plugin-svelte/-/parcel-plugin-svelte-4.0.5.tgz", @@ -7265,6 +7286,27 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, + "path": { + "version": "0.12.7", + "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", + "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", + "dev": true, + "requires": { + "process": "^0.11.1", + "util": "^0.10.3" + }, + "dependencies": { + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -7300,6 +7342,12 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "pbkdf2": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", @@ -8654,6 +8702,12 @@ "xmlchars": "^1.3.1" } }, + "seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "dev": true + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -8858,6 +8912,12 @@ } } }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "slice-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", @@ -10177,11 +10237,16 @@ "object.getownpropertydescriptors": "^2.0.3" } }, + "utils-extend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/utils-extend/-/utils-extend-1.0.8.tgz", + "integrity": "sha1-zP17ZFQPjpDuIe7Fd2nQZRyril8=", + "dev": true + }, "uuid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "v8-compile-cache": { "version": "2.1.0", diff --git a/package.json b/package.json index 8694c4c..c1272d8 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,11 @@ "koa": "^2.11.0", "koa-send": "^5.0.0", "koa-static": "^5.0.0", - "rethinkdb": "^2.4.2" + "rethinkdb": "^2.4.2", + "uuid": "^3.3.3" }, "devDependencies": { + "@hapi/code": "^7.0.0", "@hapi/eslint-config-hapi": "^12.3.0", "@hapi/eslint-plugin-hapi": "^4.3.4", "@hapi/lab": "^21.0.0", @@ -40,6 +42,7 @@ "jsdoc-to-markdown": "^5.0.3", "lab-markdown-reporter": "^1.0.2", "parcel-bundler": "^1.12.4", + "parcel-plugin-static-files-copy": "^2.2.1", "parcel-plugin-svelte": "^4.0.5", "svelte": "^3.16.5" }, diff --git a/static/humans.txt b/static/humans.txt new file mode 100644 index 0000000..6f54bec --- /dev/null +++ b/static/humans.txt @@ -0,0 +1,15 @@ +/* TEAM */ +Maintainer: Rubén Beltrán del Río +Site: https://unlimited.pizza +Twitter: @pigeonfolk +From: Berlin, Germany + +/* THANKS */ +Essau Ramirez: https://saumotions.com +Twitter: @saumotions +From: Guadalajara, Jalisco, Mexico + +/* SITE */ +Last update: 2019/12/26 +Language: English +Components: Svelte diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/test/application.js b/test/application.js new file mode 100644 index 0000000..c02b914 --- /dev/null +++ b/test/application.js @@ -0,0 +1,13 @@ +const { expect } = require('@hapi/code'); +const Lab = require('@hapi/lab'); +const Forum = require('../lib/forum'); + +const { it, describe } = exports.lab = Lab.script(); + +describe('Forum Backend Library', () => { + + it('Should initialize the server', () => { + + expect(true).to.equal(true); + }); +}); diff --git a/test/forum.js b/test/forum.js new file mode 100644 index 0000000..c02b914 --- /dev/null +++ b/test/forum.js @@ -0,0 +1,13 @@ +const { expect } = require('@hapi/code'); +const Lab = require('@hapi/lab'); +const Forum = require('../lib/forum'); + +const { it, describe } = exports.lab = Lab.script(); + +describe('Forum Backend Library', () => { + + it('Should initialize the server', () => { + + expect(true).to.equal(true); + }); +});