From edad74d7a209ef19e354b78481e32249dd2c67d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=83=D8=A7=D8=B1=D9=84=20=D9=85=D8=A8=D8=A7=D8=B1=D9=83?= Date: Fri, 9 Jul 2021 13:08:15 +0200 Subject: [PATCH] dcumentation, and quoting messagesaare noow not displyed in main section --- .../{app.db724067.css => app.126f5ef9.css} | 2 +- front/dist/index.html | 2 +- .../js/{app.f3e1da89.js => app.76b5943d.js} | 4 +-- front/dist/js/app.76b5943d.js.map | 1 + front/dist/js/app.f3e1da89.js.map | 1 - front/docs/Workshop.md | 35 +++++++++++++++---- front/src/components/Content/Chapter.vue | 5 ++- 7 files changed, 37 insertions(+), 13 deletions(-) rename front/dist/css/{app.db724067.css => app.126f5ef9.css} (91%) rename front/dist/js/{app.f3e1da89.js => app.76b5943d.js} (69%) create mode 100644 front/dist/js/app.76b5943d.js.map delete mode 100644 front/dist/js/app.f3e1da89.js.map diff --git a/front/dist/css/app.db724067.css b/front/dist/css/app.126f5ef9.css similarity index 91% rename from front/dist/css/app.db724067.css rename to front/dist/css/app.126f5ef9.css index 826f2a9..7f55a20 100644 --- a/front/dist/css/app.db724067.css +++ b/front/dist/css/app.126f5ef9.css @@ -1 +1 @@ -:root{--back:#fff}#app,body,html{padding:0;margin:0;background:var(--back)}#app,body,html{height:100%;width:100%}#app{display:flex;flex-direction:column;font-size:11pt}#app,header{position:relative}header{box-sizing:border-box;font-size:9pt}main{height:100%;width:100%}main,section{position:relative;display:flex;flex-direction:column}section{box-sizing:border-box;padding:1em;background:#d3d3d3}section p{margin-bottom:0;margin-top:0}div[data-v-1af39708]{padding:.5em}div .selected[data-v-1af39708]{background:#f792f7}div p[data-v-1af39708]{margin:0}.streams[data-v-b5c7b5e8]{min-width:10em;padding:0}@media print{.streams[data-v-b5c7b5e8]{display:none}}.message{position:relative;display:block}.message:hover .reactions{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;align-items:center;justify-content:center;background-color:hsla(0,0%,100%,.5);font-size:3rem;pointer-events:none}.reactions,.reactions:after,.reactions:before{all:revert;display:none}.message-data{display:flex;border-bottom:1px solid #666}.message-data>div{flex-grow:1}.message-data .from:after{content:":"}.message-data .time{text-align:right}.header[data-v-d726f0d6]{cursor:pointer}@media print{.title[data-v-d726f0d6]{display:none}}.content[data-v-67c88b0b]{background:unset}.rule[data-v-497ad388]{margin:1em 0}.rule p[data-v-497ad388]{margin:0}.rules[data-v-16b43aee]{max-width:unset}@media print{.rules[data-v-16b43aee]{display:none}}#home{position:relative;box-sizing:border-box;height:100%;width:100%;display:flex}.splitpanes--vertical .splitpanes__pane{overflow-y:scroll}.pane-wrapper{height:100vh}.controls{display:flex;flex-direction:column}.print .pane-wrapper{height:auto}.print .splitpanes__pane{overflow:initial}.print .content iframe{width:100%;height:100%}.print section{display:block!important}.print .body{page-break-after:always;border-bottom:3px dotted green}.print .body:first-of-type{page-break-after:always;border-bottom:3px dotted #ff0}.float-btn{position:fixed;z-index:1000}@media print{.ui{display:none!important}} \ No newline at end of file +:root{--back:#fff}#app,body,html{padding:0;margin:0;background:var(--back)}#app,body,html{height:100%;width:100%}#app{display:flex;flex-direction:column;font-size:11pt}#app,header{position:relative}header{box-sizing:border-box;font-size:9pt}main{height:100%;width:100%}main,section{position:relative;display:flex;flex-direction:column}section{box-sizing:border-box;padding:1em;background:#d3d3d3}section p{margin-bottom:0;margin-top:0}div[data-v-1af39708]{padding:.5em}div .selected[data-v-1af39708]{background:#f792f7}div p[data-v-1af39708]{margin:0}.streams[data-v-b5c7b5e8]{min-width:10em;padding:0}@media print{.streams[data-v-b5c7b5e8]{display:none}}.message{position:relative;display:block}.message:hover .reactions{display:flex;position:absolute;top:0;left:0;width:100%;height:100%;align-items:center;justify-content:center;background-color:hsla(0,0%,100%,.5);font-size:3rem;pointer-events:none}.reactions,.reactions:after,.reactions:before{all:revert;display:none}.message-data{display:flex;border-bottom:1px solid #666}.message-data>div{flex-grow:1}.message-data .from:after{content:":"}.message-data .time{text-align:right}.header[data-v-756f5686]{cursor:pointer}@media print{.title[data-v-756f5686]{display:none}}.content[data-v-67c88b0b]{background:unset}.rule[data-v-497ad388]{margin:1em 0}.rule p[data-v-497ad388]{margin:0}.rules[data-v-16b43aee]{max-width:unset}@media print{.rules[data-v-16b43aee]{display:none}}#home{position:relative;box-sizing:border-box;height:100%;width:100%;display:flex}.splitpanes--vertical .splitpanes__pane{overflow-y:scroll}.pane-wrapper{height:100vh}.controls{display:flex;flex-direction:column}.print .pane-wrapper{height:auto}.print .splitpanes__pane{overflow:initial}.print .content iframe{width:100%;height:100%}.print section{display:block!important}.print .body{page-break-after:always;border-bottom:3px dotted green}.print .body:first-of-type{page-break-after:always;border-bottom:3px dotted #ff0}.float-btn{position:fixed;z-index:1000}@media print{.ui{display:none!important}} \ No newline at end of file diff --git a/front/dist/index.html b/front/dist/index.html index dfb1df6..56b19f9 100644 --- a/front/dist/index.html +++ b/front/dist/index.html @@ -1 +1 @@ -front
\ No newline at end of file +front
\ No newline at end of file diff --git a/front/dist/js/app.f3e1da89.js b/front/dist/js/app.76b5943d.js similarity index 69% rename from front/dist/js/app.f3e1da89.js rename to front/dist/js/app.76b5943d.js index 9671589..1ae4d23 100644 --- a/front/dist/js/app.f3e1da89.js +++ b/front/dist/js/app.76b5943d.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var c,u,s=t[0],a=t[1],i=t[2],d=0,p=[];d");n=n.replaceAll('src="','src="'+t),n=n.replaceAll('href="/','href="'+t+"/");var c=this.$store.state.topics.find((function(t){return t.title==e.message.subject})).messages.filter((function(t){return t.responseTo&&t.responseTo.id==e.message.id&&t.responseTo.sender_id==e.message.sender_id&&e.message.content.includes(t.responseTo.quote)}));return c.forEach((function(e){var t=e.reactions.map((function(e){return"u"+e.emoji_code})).join(" ");n=n.replace(e.responseTo.quote,'').concat(e.responseTo.quote,""))})),n},reactions:function(){return this.message.reactions.map((function(e){return ue.replace_colons(":"+e.emoji_name+":")}))},classes:function(){return this.message.reactions.map((function(e){return"u"+e.emoji_code}))},time:function(){var e=this.message.timestamp,t=1e3*e,n=new Date(t);return n.toLocaleString()}},created:function(){}};n("5935");se.render=oe;var ae=se,ie={name:"Chapter",components:{Message:ae},data:function(){return{desiresContent:!1}},props:["topic","print","show_message_data"],computed:{toggleSymbol:function(){var e="";return this.print||(e=this.desiresContent?"▼ ":"► "),e}}};n("6b07");ie.render=X,ie.__scopeId="data-v-d726f0d6";var le=ie,de={name:"Content",components:{Chapter:le},computed:Object(r["a"])(Object(r["a"])({},Object(u["c"])(["currentStream"])),Object(u["b"])(["sortedTopics"])),methods:{},props:["print","show_message_data"]};n("c43d");de.render=U,de.__scopeId="data-v-67c88b0b";var pe=de,me=Object(c["withScopeId"])("data-v-16b43aee");Object(c["pushScopeId"])("data-v-16b43aee");var be={class:"rules"};Object(c["popScopeId"])();var fe=me((function(e,t,n,o,r,u){var s=Object(c["resolveComponent"])("Rule");return Object(c["openBlock"])(),Object(c["createBlock"])("section",be,[(Object(c["openBlock"])(!0),Object(c["createBlock"])(c["Fragment"],null,Object(c["renderList"])(e.rules,(function(e){return Object(c["openBlock"])(),Object(c["createBlock"])(s,{key:e.id,rule:e},null,8,["rule"])})),128))])})),je=Object(c["withScopeId"])("data-v-497ad388");Object(c["pushScopeId"])("data-v-497ad388");var De=Object(c["createVNode"])("p",null,"}",-1);Object(c["popScopeId"])();var Oe=je((function(e,t,n,o,r,u){return Object(c["openBlock"])(),Object(c["createBlock"])("div",{class:"rule",style:n.rule.rules},[Object(c["createVNode"])("p",{title:e.toEmojiCode(n.rule.className)},Object(c["toDisplayString"])(n.rule.className)+" {",9,["title"]),(Object(c["openBlock"])(!0),Object(c["createBlock"])(c["Fragment"],null,Object(c["renderList"])(n.rule.rules,(function(e){return Object(c["openBlock"])(),Object(c["createBlock"])("p",{key:e},"  "+Object(c["toDisplayString"])(e),1)})),128)),De],4)})),he={name:"Rule",mixins:[h],props:["rule"],computed:{}};n("3d57");he.render=Oe,he.__scopeId="data-v-497ad388";var ge=he,ve={name:"Rules",components:{Rule:ge},computed:Object(r["a"])({},Object(u["c"])(["rules"])),watch:{rules:function(){console.log("rules")}}};n("5476");ve.render=fe,ve.__scopeId="data-v-16b43aee";var _e=ve,ke=n("512e"),Ce=(n("c1ea"),n("676e")),Se={name:"Home",components:{Streams:L,Content:pe,Rules:_e,Splitpanes:ke["Splitpanes"],Pane:ke["Pane"]},data:function(){return{show_ui:!0,show_message_data:!1,panel_sizes:{0:10,1:55,2:35}}},computed:{classes:function(){return this.show_ui?"ui":"print"}},methods:{resizer:function(e,t){console.log(e,t)},print:function(){this.toggle_ui(null,!1),setTimeout((function(){window.print()}),1e3);var e=new Ce["Previewer"];console.log(e)},toggle_ui:function(e,t){this.show_ui=void 0!==t?t:!this.show_ui}}};n("33c1");Se.render=V;var Be=Se,we="/",Ee=Object(F["a"])({history:Object(F["b"])(we),routes:[{path:"/",name:"Home",component:Be},{path:"/:pathMatch(.*)*",name:"Home",component:Be}]}),ye=n("2909"),Fe=n("9558"),Ne=(n("a1f0"),n("a630"),n("3ca3"),n("1276"),n("466d"),n("a434"),n("0481"),n("4e82"),n("cd8a")),Ae=n("edbf"),Ve=new Ae,Me=function(e,t){var n="",c="",o=[],r=t,u=e.id,s=Object(Fe["a"])(/[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]?(.+)[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\n?\{\n?((.*;\n?)+)\}/gm,{selector:1,props:2}),a=Object(Ne["stripHtml"])(e.content).result,i=a.matchAll(s);return i=Array.from(i),i.length>0?(n=Ve.replace_colons(i[0]["groups"]["selector"]),h.methods.containsEmoji(n)&&(c=h.methods.toEmojiCode(n)),o=i[0]["groups"]["props"].split("\n"),o=o.filter((function(e){return xe(e)})),{className:n,emoji_code:c,rules:o,parentClassName:r,id:u}):null},xe=function(e){return e.match(/.+:.+;/gm)},Ie=function(e){e.responseTo={id:e.content.replace(/.*\/near\//gm,"").replace(/\):.*[^]+/gm,""),sender_id:e.content.replace(/@_\*\*.*\|/gm,"").replace(/\*\*.\[said\].*[^]+/gm,""),quote:e.content.replace(/[^]+.*```quote\n/gm,"").replace(/ \n```/gm,"")}},Pe=function(e){e.responseTo={id:e.content.replace(/.*\/near\//gm,"").replace(/".*[^]+/gm,""),sender_id:e.content.replace(/[^]+data-user-id="/gm,"").replace(/">[^]+/gm,""),quote:e.content.replace(/.*[^]+<\/p>\n
\n

/gm,"").replace(/ <\/p>\n<\/blockquote>/gm,"")}},ze=Object(u["a"])({strict:!1,state:{isMobile:!1,streams:[],currentStream:"",rules:[],topics:[],pubStr:"pub-"},mutations:{setMobile:function(e,t){return e.isMobile=t},setStreams:function(e,t){return e.streams=t},setCurStream:function(e,t){return e.currentStream=t},setTopics:function(e,t){return e.topics=t},addMessage:function(e,t){if(t.display_recipient==e.currentStream){t.content.startsWith("@_**")?Ie(t):t.content.includes("user-mention")&&t.content.includes("blockquote")&&Pe(t);var n=e.topics.find((function(e){return e.title==t.subject}));n?n.messages.push(t):e.topics.push({title:t.subject,messages:[t]})}},deleteMessage:function(e,t){var n=t.mid,c=t.subject,o=e.topics.find((function(e){return e.title==c}));if(o){var r=o.messages.find((function(e){return e.id==n}));r&&o.messages.splice(o.messages.indexOf(r),1)}},addReaction:function(e,t){var n=t.mid,c=t.reaction,o=e.topics.map((function(e){return e.messages})).flat().find((function(e){return e.id==n}));o&&o.reactions.push(c)},removeReaction:function(e,t){var n=t.mid,c=t.reaction,o=e.topics.map((function(e){return e.messages})).flat().find((function(e){return e.id==n}));o&&o.reactions.splice(o.reactions.indexOf(c),1)},setRules:function(e,t){e.rules=t.reduce((function(t,n){var c=Me(n,e.currentStream);return null!==c&&t.push(c),t}),[])},addRule:function(e,t){null!==Me(t)&&(e.rules=[].concat(Object(ye["a"])(e.rules),[Me(t,e.currentStream)]))},editMessage:function(e,t){var n=t.mid,c=t.content,o=e.topics.map((function(e){return e.messages})).flat().find((function(e){return e.id==n})),r=e.rules.find((function(e){return e.id==n}));if(o)o.content=c,o.content.startsWith("@_**")?Ie(o):o.content.includes("user-mention")&&o.content.includes("blockquote")&&Pe(o);else if(r){var u=[].concat(Object(ye["a"])(e.rules),[Me({id:n,content:c},e.currentStream)]);e.rules=u}},updateTopic:function(e,t){var n=t.orig_subject,c=t.subject,o=e.topics.find((function(e){return e.title==n}));o&&(o.title=c,o.messages.forEach((function(e){return e.subject=c})))}},actions:{},getters:{rules:function(e){return e.rules},sortedTopics:function(e){return Object(ye["a"])(e.topics).sort((function(e,t){return e.title.localeCompare(t.title)})).filter((function(e){return e.messages.length>0}))}}}),Te=(n("85e4"),Object(c["createApp"])(k)),$e={html:!0,linkify:!0,typographer:!0};Te.config.globalProperties.$http=S.a,Te.config.globalProperties.$mdOpts=$e,Te.config.globalProperties.$md=new w.a($e),Te.use(y.a).use(Ee).use(ze).mount("#app")},5935:function(e,t,n){"use strict";n("b71c")},6338:function(e,t,n){},"6b07":function(e,t,n){"use strict";n("8029")},8029:function(e,t,n){},a946:function(e,t,n){},b71c:function(e,t,n){},bbec:function(e,t,n){},c0ee:function(e,t,n){"use strict";n("40a2")},c25a:function(e,t,n){},c43d:function(e,t,n){"use strict";n("4008")},e915:function(e,t,n){},eebe:function(e,t,n){"use strict";n("6338")},f021:function(e,t,n){"use strict";n("e915")}}); -//# sourceMappingURL=app.f3e1da89.js.map \ No newline at end of file +(function(e){function t(t){for(var c,u,s=t[0],a=t[1],i=t[2],d=0,p=[];d");n=n.replaceAll('src="','src="'+t),n=n.replaceAll('href="/','href="'+t+"/");var c=this.$store.state.topics.find((function(t){return t.title==e.message.subject})).messages.filter((function(t){return t.responseTo&&t.responseTo.id==e.message.id&&t.responseTo.sender_id==e.message.sender_id&&e.message.content.includes(t.responseTo.quote)}));return c.forEach((function(e){var t=e.reactions.map((function(e){return"u"+e.emoji_code})).join(" ");n=n.replace(e.responseTo.quote,'').concat(e.responseTo.quote,""))})),n},reactions:function(){return this.message.reactions.map((function(e){return ue.replace_colons(":"+e.emoji_name+":")}))},classes:function(){return this.message.reactions.map((function(e){return"u"+e.emoji_code}))},time:function(){var e=this.message.timestamp,t=1e3*e,n=new Date(t);return n.toLocaleString()}},created:function(){}};n("5935");se.render=oe;var ae=se,ie={name:"Chapter",components:{Message:ae},data:function(){return{desiresContent:!1}},props:["topic","print","show_message_data"],computed:{toggleSymbol:function(){var e="";return this.print||(e=this.desiresContent?"▼ ":"► "),e},messagesToShow:function(){return this.topic.messages.filter((function(e){return!e.responseTo}))}}};n("9158");ie.render=X,ie.__scopeId="data-v-756f5686";var le=ie,de={name:"Content",components:{Chapter:le},computed:Object(r["a"])(Object(r["a"])({},Object(u["c"])(["currentStream"])),Object(u["b"])(["sortedTopics"])),methods:{},props:["print","show_message_data"]};n("c43d");de.render=U,de.__scopeId="data-v-67c88b0b";var pe=de,me=Object(c["withScopeId"])("data-v-16b43aee");Object(c["pushScopeId"])("data-v-16b43aee");var be={class:"rules"};Object(c["popScopeId"])();var fe=me((function(e,t,n,o,r,u){var s=Object(c["resolveComponent"])("Rule");return Object(c["openBlock"])(),Object(c["createBlock"])("section",be,[(Object(c["openBlock"])(!0),Object(c["createBlock"])(c["Fragment"],null,Object(c["renderList"])(e.rules,(function(e){return Object(c["openBlock"])(),Object(c["createBlock"])(s,{key:e.id,rule:e},null,8,["rule"])})),128))])})),je=Object(c["withScopeId"])("data-v-497ad388");Object(c["pushScopeId"])("data-v-497ad388");var De=Object(c["createVNode"])("p",null,"}",-1);Object(c["popScopeId"])();var Oe=je((function(e,t,n,o,r,u){return Object(c["openBlock"])(),Object(c["createBlock"])("div",{class:"rule",style:n.rule.rules},[Object(c["createVNode"])("p",{title:e.toEmojiCode(n.rule.className)},Object(c["toDisplayString"])(n.rule.className)+" {",9,["title"]),(Object(c["openBlock"])(!0),Object(c["createBlock"])(c["Fragment"],null,Object(c["renderList"])(n.rule.rules,(function(e){return Object(c["openBlock"])(),Object(c["createBlock"])("p",{key:e},"  "+Object(c["toDisplayString"])(e),1)})),128)),De],4)})),he={name:"Rule",mixins:[h],props:["rule"],computed:{}};n("3d57");he.render=Oe,he.__scopeId="data-v-497ad388";var ge=he,ve={name:"Rules",components:{Rule:ge},computed:Object(r["a"])({},Object(u["c"])(["rules"])),watch:{rules:function(){console.log("rules")}}};n("5476");ve.render=fe,ve.__scopeId="data-v-16b43aee";var _e=ve,ke=n("512e"),Ce=(n("c1ea"),n("676e")),Se={name:"Home",components:{Streams:L,Content:pe,Rules:_e,Splitpanes:ke["Splitpanes"],Pane:ke["Pane"]},data:function(){return{show_ui:!0,show_message_data:!1,panel_sizes:{0:10,1:55,2:35}}},computed:{classes:function(){return this.show_ui?"ui":"print"}},methods:{resizer:function(e,t){console.log(e,t)},print:function(){this.toggle_ui(null,!1),setTimeout((function(){window.print()}),1e3);var e=new Ce["Previewer"];console.log(e)},toggle_ui:function(e,t){this.show_ui=void 0!==t?t:!this.show_ui}}};n("33c1");Se.render=V;var Be=Se,we="/",Ee=Object(F["a"])({history:Object(F["b"])(we),routes:[{path:"/",name:"Home",component:Be},{path:"/:pathMatch(.*)*",name:"Home",component:Be}]}),ye=n("2909"),Fe=n("9558"),Ne=(n("a1f0"),n("a630"),n("3ca3"),n("1276"),n("466d"),n("a434"),n("0481"),n("4e82"),n("cd8a")),Ae=n("edbf"),Ve=new Ae,Me=function(e,t){var n="",c="",o=[],r=t,u=e.id,s=Object(Fe["a"])(/[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]?(.+)[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\n?\{\n?((.*;\n?)+)\}/gm,{selector:1,props:2}),a=Object(Ne["stripHtml"])(e.content).result,i=a.matchAll(s);return i=Array.from(i),i.length>0?(n=Ve.replace_colons(i[0]["groups"]["selector"]),h.methods.containsEmoji(n)&&(c=h.methods.toEmojiCode(n)),o=i[0]["groups"]["props"].split("\n"),o=o.filter((function(e){return xe(e)})),{className:n,emoji_code:c,rules:o,parentClassName:r,id:u}):null},xe=function(e){return e.match(/.+:.+;/gm)},Ie=function(e){e.responseTo={id:e.content.replace(/.*\/near\//gm,"").replace(/\):.*[^]+/gm,""),sender_id:e.content.replace(/@_\*\*.*\|/gm,"").replace(/\*\*.\[said\].*[^]+/gm,""),quote:e.content.replace(/[^]+.*```quote\n/gm,"").replace(/ \n```/gm,"")}},Te=function(e){e.responseTo={id:e.content.replace(/.*\/near\//gm,"").replace(/".*[^]+/gm,""),sender_id:e.content.replace(/[^]+data-user-id="/gm,"").replace(/">[^]+/gm,""),quote:e.content.replace(/.*[^]+<\/p>\n

\n

/gm,"").replace(/ <\/p>\n<\/blockquote>/gm,"")}},Pe=Object(u["a"])({strict:!1,state:{isMobile:!1,streams:[],currentStream:"",rules:[],topics:[],pubStr:"pub-"},mutations:{setMobile:function(e,t){return e.isMobile=t},setStreams:function(e,t){return e.streams=t},setCurStream:function(e,t){return e.currentStream=t},setTopics:function(e,t){return e.topics=t},addMessage:function(e,t){if(t.display_recipient==e.currentStream){t.content.startsWith("@_**")?Ie(t):t.content.includes("user-mention")&&t.content.includes("blockquote")&&Te(t);var n=e.topics.find((function(e){return e.title==t.subject}));n?n.messages.push(t):e.topics.push({title:t.subject,messages:[t]})}},deleteMessage:function(e,t){var n=t.mid,c=t.subject,o=e.topics.find((function(e){return e.title==c}));if(o){var r=o.messages.find((function(e){return e.id==n}));r&&o.messages.splice(o.messages.indexOf(r),1)}},addReaction:function(e,t){var n=t.mid,c=t.reaction,o=e.topics.map((function(e){return e.messages})).flat().find((function(e){return e.id==n}));o&&o.reactions.push(c)},removeReaction:function(e,t){var n=t.mid,c=t.reaction,o=e.topics.map((function(e){return e.messages})).flat().find((function(e){return e.id==n}));o&&o.reactions.splice(o.reactions.indexOf(c),1)},setRules:function(e,t){e.rules=t.reduce((function(t,n){var c=Me(n,e.currentStream);return null!==c&&t.push(c),t}),[])},addRule:function(e,t){null!==Me(t)&&(e.rules=[].concat(Object(ye["a"])(e.rules),[Me(t,e.currentStream)]))},editMessage:function(e,t){var n=t.mid,c=t.content,o=e.topics.map((function(e){return e.messages})).flat().find((function(e){return e.id==n})),r=e.rules.find((function(e){return e.id==n}));if(o)o.content=c,o.content.startsWith("@_**")?Ie(o):o.content.includes("user-mention")&&o.content.includes("blockquote")&&Te(o);else if(r){var u=[].concat(Object(ye["a"])(e.rules),[Me({id:n,content:c},e.currentStream)]);e.rules=u}},updateTopic:function(e,t){var n=t.orig_subject,c=t.subject,o=e.topics.find((function(e){return e.title==n}));o&&(o.title=c,o.messages.forEach((function(e){return e.subject=c})))}},actions:{},getters:{rules:function(e){return e.rules},sortedTopics:function(e){return Object(ye["a"])(e.topics).sort((function(e,t){return e.title.localeCompare(t.title)})).filter((function(e){return e.messages.length>0}))}}}),ze=(n("85e4"),Object(c["createApp"])(k)),$e={html:!0,linkify:!0,typographer:!0};ze.config.globalProperties.$http=S.a,ze.config.globalProperties.$mdOpts=$e,ze.config.globalProperties.$md=new w.a($e),ze.use(y.a).use(Ee).use(Pe).mount("#app")},5935:function(e,t,n){"use strict";n("b71c")},6338:function(e,t,n){},9158:function(e,t,n){"use strict";n("b81b")},a946:function(e,t,n){},b71c:function(e,t,n){},b81b:function(e,t,n){},bbec:function(e,t,n){},c0ee:function(e,t,n){"use strict";n("40a2")},c25a:function(e,t,n){},c43d:function(e,t,n){"use strict";n("4008")},e915:function(e,t,n){},eebe:function(e,t,n){"use strict";n("6338")},f021:function(e,t,n){"use strict";n("e915")}}); +//# sourceMappingURL=app.76b5943d.js.map \ No newline at end of file diff --git a/front/dist/js/app.76b5943d.js.map b/front/dist/js/app.76b5943d.js.map new file mode 100644 index 0000000..ae4dbe1 --- /dev/null +++ b/front/dist/js/app.76b5943d.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Home.vue?97f4","webpack:///./src/components/Rules/Rule.vue?1f65","webpack:///./src/components/Rules/index.vue?03cd","webpack:///./src/App.vue","webpack:///./src/api/zulip/index.js","webpack:///./src/api/index.js","webpack:///./src/mixins/emoji.js","webpack:///./src/components/Rules/Styles.vue","webpack:///./src/components/Rules/Styles.vue?c5e6","webpack:///./src/App.vue?97f5","webpack:///./src/views/Home.vue","webpack:///./src/components/Streams/index.vue","webpack:///./src/components/Streams/Stream.vue","webpack:///./src/components/Streams/Stream.vue?fb31","webpack:///./src/components/Streams/index.vue?8680","webpack:///./src/components/Content/index.vue","webpack:///./src/components/Content/Chapter.vue","webpack:///./src/components/Content/Message.vue","webpack:///./src/components/Content/Message.vue?3100","webpack:///./src/components/Content/Chapter.vue?28f3","webpack:///./src/components/Content/index.vue?4e8c","webpack:///./src/components/Rules/index.vue","webpack:///./src/components/Rules/Rule.vue","webpack:///./src/components/Rules/Rule.vue?1f70","webpack:///./src/components/Rules/index.vue?0ce9","webpack:///./src/views/Home.vue?c772","webpack:///./src/router/index.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/components/Content/Message.vue?e341","webpack:///./src/components/Content/Chapter.vue?e1bf","webpack:///./src/App.vue?0e91","webpack:///./src/components/Content/index.vue?c3f7","webpack:///./src/components/Streams/Stream.vue?6225","webpack:///./src/components/Streams/index.vue?88ed"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","id","class","isMobile","Component","zulip","require","config","username","process","apiKey","realm","init","Promise","resolve","reject","then","client","catch","error","getStreams","streams","retrieve","getMsgs","stream","topic","params","messages","anchor","num_before","num_after","narrow","operator","operand","getAllMsgs","listen","cb","callOnEachEvent","event","getSubs","subscriptions","addSub","users","me","add","JSON","stringify","sendMsg","send","to","type","content","methods","toEmojiCode","emoji","replace","codePointAt","toString","containsEmoji","str","regexExp","test","mixins","computed","el","generateStyleRules","styles","this","rules","map","className","startsWith","parentClassName","createStyleElement","style","document","createElement","innerText","mounted","head","appendChild","watch","console","log","newStyle","replaceChild","components","Styles","api","zulipClient","created","$store","commit","checkIfMobile","addEventListener","$router","afterEach","path","currentStream","setUpDoc","innerWidth","filter","pubStr","eventHandler","includes","message","subject","message_id","mid","rendered_content","op","reaction","emoji_code","emoji_name","reaction_type","render","for","classes","show_ui","toggle_ui","size","min-size","resizer","print","show_message_data","selected","props","state","__scopeId","Stream","sortedTopics","title","desiresContent","toggleSymbol","messagesToShow","sender_full_name","time","source","$mdOpts","reactions","String","fromCodePoint","EmojiConvertor","emojiConv","rawJSON","url","replaceAll","referrers","topics","find","responseTo","sender_id","quote","forEach","join","replace_colons","ts","timestamp","ts_ms","date_ob","Date","toLocaleString","Message","Chapter","rule","dec","Rule","Streams","Content","Rules","Splitpanes","Pane","panel_sizes","0","1","2","e","setTimeout","paged","evt","undefined","createRouter","history","createWebHistory","routes","component","Home","toCSS","regex","stripHtml","results","matchAll","Array","from","split","validateRule","match","handleMDReply","handleHTMLReply","createStore","strict","mutations","setMobile","mobile","setStreams","setCurStream","setTopics","addMessage","display_recipient","deleteMessage","indexOf","addReaction","flat","removeReaction","setRules","reduce","acc","cur","addRule","editMessage","newRules","updateTopic","orig_subject","actions","getters","sort","a","b","localeCompare","app","createApp","App","mdOpts","html","linkify","typographer","globalProperties","$http","Axios","$md","MarkdownIt","use","VueMarkdownIt","router","store","mount"],"mappings":"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","file":"js/app.76b5943d.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Home.vue?vue&type=style&index=0&id=1c72e2c3&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Rule.vue?vue&type=style&index=0&id=497ad388&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=16b43aee&scoped=true&lang=css\"","\n\n\n\n\n","const \n\n zulip = require(\"zulip-js\"),\n config = {\n username: process.env.VUE_APP_ZULIP_email,\n apiKey: process.env.VUE_APP_ZULIP_key,\n realm: process.env.VUE_APP_ZULIP_site,\n },\n \n init = () => ( new \n Promise((resolve, reject) => {\n zulip(config)\n .then(client => resolve(client))\n .catch(error => reject(error))\n })\n ),\n \n getStreams = client => ( new\n Promise((resolve, reject) => {\n client\n .streams\n .retrieve()\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n getMsgs = (client, stream, topic, params) => ( new\n Promise((resolve, reject) => {\n client\n .messages\n .retrieve(params || {\n anchor: \"newest\",\n num_before: 100,\n num_after: 0,\n // apply_markdown: false,\n narrow: [\n { operator: \"stream\", operand: stream },\n { operator: \"topic\", operand: topic },\n ],\n })\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n getAllMsgs = (client, stream, params) => ( new\n Promise((resolve, reject) => {\n client\n .messages\n .retrieve(params || {\n anchor: \"newest\",\n num_before: 100,\n num_after: 0,\n // apply_markdown: false,\n narrow: [{ operator: \"stream\", operand: stream }],\n })\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n listen = (client, cb) => {\n client\n .callOnEachEvent(\n event => cb(event), \n [ 'message' ],\n [ { operator: \"stream\", operand: \"chatty\" } ]\n )\n },\n \n getSubs = client => ( new\n Promise((resolve, reject) => {\n client\n .streams\n .subscriptions\n .retrieve()\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n addSub = (client, stream) => ( new\n Promise((resolve, reject) => {\n client\n .users\n .me\n .subscriptions\n .add(\n {\n subscriptions: JSON.stringify([{ name: stream }]),\n }\n )\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n sendMsg = (client, params) => ( new\n Promise((resolve, reject) => {\n client\n .messages\n .send(params || {\n to: \"chatty\",\n type: \"stream\",\n topic: \"content\",\n content: \"I come not, friends, to steal away your hearts.\",\n })\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n )\n\nexport default {\n init,\n config,\n getStreams,\n getMsgs,\n getAllMsgs,\n listen,\n sendMsg,\n getSubs,\n addSub,\n}\n","import zulip from './zulip'\n\nexport default {\n zulip\n}\n","// let toUTF16 = (codePoint) => {\n// var TEN_BITS = parseInt(\"1111111111\", 2);\n// if (codePoint <= 0xffff) {\n// return u(codePoint);\n// }\n// codePoint -= 0x10000;\n// // Shift right to get to most significant 10 bits\n// var leadSurrogate = 0xd800 + (codePoint >> 10);\n// // Mask to get least significant 10 bits\n// var tailSurrogate = 0xdc00 + (codePoint & TEN_BITS);\n// return u(leadSurrogate) + (tailSurrogate);\n// }\n\n// let u = (codeUnit) => {\n// return \"\\\\u\" + codeUnit.toString(16).toUpperCase();\n// }\n\nexport default {\n methods: {\n toEmojiCode: (emoji) => {\n // console.log(emoji);\n return emoji.replace(/\\p{Emoji}/gu, (m) => m.codePointAt(0).toString(16));\n },\n\n // toEmojiCode: (emoji) => {\n // console.log(emoji)\n // emoji.replace(/\\p{Emoji}/gu, function (m) {\n // toUTF16(m.codePointAt(0));\n // });\n // console.log(emoji)\n // return emoji;\n // },\n\n containsEmoji(str) {\n // Regular expression to match emoji\n const regexExp = /(\\u00a9|\\u00ae|[\\u2000-\\u3300]|\\ud83c[\\ud000-\\udfff]|\\ud83d[\\ud000-\\udfff]|\\ud83e[\\ud000-\\udfff])/gi;\n return regexExp.test(str); // true\n },\n }\n}","","import script from \"./Styles.vue?vue&type=script&lang=js\"\nexport * from \"./Styles.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=559798ba\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=559798ba&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n","\n\n\n\n","\n\n\n\n","import { render } from \"./Stream.vue?vue&type=template&id=1af39708&scoped=true\"\nimport script from \"./Stream.vue?vue&type=script&lang=js\"\nexport * from \"./Stream.vue?vue&type=script&lang=js\"\n\nimport \"./Stream.vue?vue&type=style&index=0&id=1af39708&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-1af39708\"\n\nexport default script","import { render } from \"./index.vue?vue&type=template&id=b5c7b5e8&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=b5c7b5e8&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-b5c7b5e8\"\n\nexport default script","\n\n\n\n","\n\n\n\n","\n\n\n\n","import { render } from \"./Message.vue?vue&type=template&id=4bf9e836\"\nimport script from \"./Message.vue?vue&type=script&lang=js\"\nexport * from \"./Message.vue?vue&type=script&lang=js\"\n\nimport \"./Message.vue?vue&type=style&index=0&id=4bf9e836&lang=css\"\nscript.render = render\n\nexport default script","import { render } from \"./Chapter.vue?vue&type=template&id=756f5686&scoped=true\"\nimport script from \"./Chapter.vue?vue&type=script&lang=js\"\nexport * from \"./Chapter.vue?vue&type=script&lang=js\"\n\nimport \"./Chapter.vue?vue&type=style&index=0&id=756f5686&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-756f5686\"\n\nexport default script","import { render } from \"./index.vue?vue&type=template&id=67c88b0b&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=67c88b0b&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-67c88b0b\"\n\nexport default script","\n\n\n\n","\n\n\n\n","import { render } from \"./Rule.vue?vue&type=template&id=497ad388&scoped=true\"\nimport script from \"./Rule.vue?vue&type=script&lang=js\"\nexport * from \"./Rule.vue?vue&type=script&lang=js\"\n\nimport \"./Rule.vue?vue&type=style&index=0&id=497ad388&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-497ad388\"\n\nexport default script","import { render } from \"./index.vue?vue&type=template&id=16b43aee&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=16b43aee&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-16b43aee\"\n\nexport default script","import { render } from \"./Home.vue?vue&type=template&id=1c72e2c3\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\nimport \"./Home.vue?vue&type=style&index=0&id=1c72e2c3&lang=css\"\nscript.render = render\n\nexport default script","import { createRouter, createWebHistory } from 'vue-router'\n\nimport Home from '../views/Home'\n\nconst path = '/' \n\nexport default createRouter({\n history: createWebHistory(path),\n routes: [\n {\n path: '/',\n name: 'Home',\n component: Home,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'Home',\n component: Home,\n },\n ],\n})\n\n\n","/*eslint no-unused-vars: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\n// import Vue from 'vue'\nimport { createStore } from 'vuex'\nimport emoji from \"../mixins/emoji\"\nimport { stripHtml } from \"string-strip-html\"\n\nvar EmojiConvertor = require('emoji-js');\nvar emojiConv = new EmojiConvertor();\n\nlet toCSS = (message, currentStream) => {\n // console.log(message)\n let className = \"\",\n emoji_code = \"\",\n rules = [],\n parentClassName = currentStream,\n id = message.id\n\n // let regex = /[/s]?(?.+)\\s*\\n?{\\n?(?[\\s\\w.~:>-]+\\s*:\\s*.+;?\\n?)*\\n?}/gm\n let regex = /\\s?(?.+)\\s*\\n?{\\n?(?(.*;\\n?)+)}/gm\n let content = stripHtml(message.content).result;\n let results = content.matchAll(regex);\n results = Array.from(results);\n //console.log(results)\n if (results.length > 0) {\n className = emojiConv.replace_colons(results[0]['groups']['selector']);\n if (emoji.methods.containsEmoji(className)) {\n emoji_code = emoji.methods.toEmojiCode(className);\n }\n rules = results[0]['groups']['props'].split(\"\\n\");\n rules = rules.filter((rule) => validateRule(rule))\n // console.log(className, emoji_code, rules, parentClassName, id)\n return { className, emoji_code, rules, parentClassName, id };\n }\n return null;\n}\n\nlet validateRule = (rule) => {\n return rule.match(/.+:.+;/gm);\n}\n\n// parsing replies, there are two scenarios:\n// we are either getting the message as plain markdown\n// or we are getting the message pre-rendered as HTML (default Zulip behaviour)\n// see /src/api/zulip/index.js line 36\n\nconst handleMDReply = message => {\n message.responseTo = {\n id: message.content\n .replace(/.*\\/near\\//gm, '')\n .replace(/\\):.*[^]+/gm, ''),\n sender_id: message.content\n .replace(/@_\\*\\*.*\\|/gm, '')\n .replace(/\\*\\*.\\[said\\].*[^]+/gm, ''),\n quote: message.content\n .replace(/[^]+.*```quote\\n/gm, '')\n .replace(/ \\n```/gm, '')\n }\n // console.log(message.responseTo)\n}\n\nconst handleHTMLReply = message => {\n message.responseTo = {\n id: message.content\n .replace(/.*\\/near\\//gm, '')\n .replace(/\".*[^]+/gm, ''),\n sender_id: message.content\n .replace(/[^]+data-user-id=\"/gm, '')\n .replace(/\">[^]+/gm, ''),\n quote: message.content\n .replace(/.*[^]+<\\/p>\\n

\\n

/gm, '')\n .replace(/ <\\/p>\\n<\\/blockquote>/gm, '')\n }\n // console.log(message.responseTo)\n}\n\nexport default createStore({\n\n strict: process.env.NODE_ENV !== 'production',\n\n state: {\n isMobile: false,\n streams: [],\n currentStream: '',\n rules: [],\n topics: [],\n pubStr: 'pub-',\n },\n\n mutations: {\n\n setMobile: (state, mobile) => state.isMobile = mobile,\n setStreams: (state, streams) => state.streams = streams,\n setCurStream: (state, stream) => state.currentStream = stream,\n setTopics: (state, topics) => state.topics = topics,\n addMessage: (state, message) => {\n if (message.display_recipient == state.currentStream) {\n if (message.content.startsWith('@_**')) {\n handleMDReply(message)\n } else if (\n message.content.includes('user-mention') &&\n message.content.includes('blockquote')\n ) {\n handleHTMLReply(message)\n }\n const topic = state.topics.find(topic => topic.title == message.subject)\n if (topic) {\n topic.messages.push(message)\n } else {\n state.topics.push({\n title: message.subject,\n messages: [ message ]\n })\n }\n }\n },\n deleteMessage: (state, { mid, subject }) => {\n const topic = state.topics.find(t => t.title == subject)\n if (topic) {\n const message = topic.messages.find(m => m.id == mid)\n if (message) {\n topic.messages.splice(topic.messages.indexOf(message), 1)\n }\n }\n },\n addReaction: (state, { mid, reaction }) => {\n const message = state.topics\n .map(t => t.messages)\n .flat()\n .find(m => m.id == mid)\n if (message) {\n message.reactions.push(reaction)\n }\n },\n removeReaction: (state, { mid, reaction }) => {\n const message = state.topics\n .map(t => t.messages)\n .flat()\n .find(m => m.id == mid)\n if (message) {\n message.reactions.splice(message.reactions.indexOf(reaction), 1)\n }\n },\n setRules: (state, rules) => {\n state.rules = rules.reduce((acc, cur) => {\n let rule = toCSS(cur, state.currentStream);\n if (rule !== null) {\n acc.push(rule);\n }\n return acc\n }, [])\n },\n addRule: (state, rule) => {\n if (toCSS(rule) !== null) {\n // state.rules.push(toCSS(rule, state.currentStream))\n // vue will not update if i use rules.push(rule)\n state.rules = [...state.rules,...[toCSS(rule, state.currentStream)]]\n }\n },\n editMessage: (state, { mid, content }) => {\n const message = state.topics\n .map(t => t.messages)\n .flat()\n .find(m => m.id == mid)\n const rule = state.rules.find(r => r.id == mid)\n if (message) {\n message.content = content\n if (message.content.startsWith('@_**')) {\n handleMDReply(message)\n } else if (\n message.content.includes('user-mention') &&\n message.content.includes('blockquote')\n ) {\n handleHTMLReply(message)\n }\n } else if (rule) {\n // state.rules[state.rules.indexOf(rule)] = toCSS({\n // id: mid, content: content,\n // }, state.currentStream)\n\n // vue will not update if i use rules.push(rule) \n const newRules = [...state.rules, ...[toCSS({\n id: mid, content: content,\n }, state.currentStream)]]\n state.rules = newRules\n }\n },\n\n updateTopic: (state, { orig_subject, subject }) => {\n const topic = state.topics.find(t => t.title == orig_subject)\n if (topic) {\n topic.title = subject\n topic.messages.forEach(m => m.subject = subject)\n }\n }\n\n },\n\n actions: {\n },\n\n getters: {\n rules: state => state.rules,\n sortedTopics: state => (\n [...state.topics]\n .sort((a, b) => a.title.localeCompare(b.title))\n .filter(t => t.messages.length > 0) \n )\n }\n\n})\n","import { createApp } from 'vue'\nimport App from './App'\nimport Axios from 'axios'\nimport MarkdownIt from 'markdown-it'\nimport VueMarkdownIt from 'vue3-markdown-it'\nimport router from './router'\nimport store from './store'\n\nimport 'highlight.js/styles/vs.css';\n\nconst app = createApp(App)\n\nconst mdOpts = {\n html: true,\n linkify: true,\n typographer: true\n}\n\napp.config.globalProperties.$http = Axios\napp.config.globalProperties.$mdOpts = mdOpts\napp.config.globalProperties.$md = new MarkdownIt(mdOpts)\n\napp\n .use(VueMarkdownIt)\n .use(router)\n .use(store)\n .mount('#app')\n\n\n\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Message.vue?vue&type=style&index=0&id=4bf9e836&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Chapter.vue?vue&type=style&index=0&id=756f5686&scoped=true&lang=css\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=559798ba&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=67c88b0b&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Stream.vue?vue&type=style&index=0&id=1af39708&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=b5c7b5e8&scoped=true&lang=css\""],"sourceRoot":""} \ No newline at end of file diff --git a/front/dist/js/app.f3e1da89.js.map b/front/dist/js/app.f3e1da89.js.map deleted file mode 100644 index 3a904bf..0000000 --- a/front/dist/js/app.f3e1da89.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Home.vue?97f4","webpack:///./src/components/Rules/Rule.vue?1f65","webpack:///./src/components/Rules/index.vue?03cd","webpack:///./src/App.vue","webpack:///./src/api/zulip/index.js","webpack:///./src/api/index.js","webpack:///./src/mixins/emoji.js","webpack:///./src/components/Rules/Styles.vue","webpack:///./src/components/Rules/Styles.vue?c5e6","webpack:///./src/App.vue?97f5","webpack:///./src/views/Home.vue","webpack:///./src/components/Streams/index.vue","webpack:///./src/components/Streams/Stream.vue","webpack:///./src/components/Streams/Stream.vue?fb31","webpack:///./src/components/Streams/index.vue?8680","webpack:///./src/components/Content/index.vue","webpack:///./src/components/Content/Chapter.vue","webpack:///./src/components/Content/Message.vue","webpack:///./src/components/Content/Message.vue?3100","webpack:///./src/components/Content/Chapter.vue?28f3","webpack:///./src/components/Content/index.vue?4e8c","webpack:///./src/components/Rules/index.vue","webpack:///./src/components/Rules/Rule.vue","webpack:///./src/components/Rules/Rule.vue?1f70","webpack:///./src/components/Rules/index.vue?0ce9","webpack:///./src/views/Home.vue?c772","webpack:///./src/router/index.js","webpack:///./src/store/index.js","webpack:///./src/main.js","webpack:///./src/components/Content/Message.vue?e341","webpack:///./src/components/Content/Chapter.vue?1d09","webpack:///./src/App.vue?0e91","webpack:///./src/components/Content/index.vue?c3f7","webpack:///./src/components/Streams/Stream.vue?6225","webpack:///./src/components/Streams/index.vue?88ed"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","id","class","isMobile","Component","zulip","require","config","username","process","apiKey","realm","init","Promise","resolve","reject","then","client","catch","error","getStreams","streams","retrieve","getMsgs","stream","topic","params","messages","anchor","num_before","num_after","narrow","operator","operand","getAllMsgs","listen","cb","callOnEachEvent","event","getSubs","subscriptions","addSub","users","me","add","JSON","stringify","sendMsg","send","to","type","content","methods","toEmojiCode","emoji","replace","codePointAt","toString","containsEmoji","str","regexExp","test","mixins","computed","el","generateStyleRules","styles","this","rules","map","className","startsWith","parentClassName","createStyleElement","style","document","createElement","innerText","mounted","head","appendChild","watch","console","log","newStyle","replaceChild","components","Styles","api","zulipClient","created","$store","commit","checkIfMobile","addEventListener","$router","afterEach","path","currentStream","setUpDoc","innerWidth","filter","pubStr","eventHandler","includes","message","subject","message_id","mid","rendered_content","op","reaction","emoji_code","emoji_name","reaction_type","render","for","classes","show_ui","toggle_ui","size","min-size","resizer","print","show_message_data","selected","props","state","__scopeId","Stream","sortedTopics","title","desiresContent","toggleSymbol","sender_full_name","time","source","$mdOpts","reactions","String","fromCodePoint","EmojiConvertor","emojiConv","rawJSON","url","replaceAll","referrers","topics","find","responseTo","sender_id","quote","forEach","join","replace_colons","ts","timestamp","ts_ms","date_ob","Date","toLocaleString","Message","Chapter","rule","dec","Rule","Streams","Content","Rules","Splitpanes","Pane","panel_sizes","0","1","2","e","setTimeout","paged","evt","undefined","createRouter","history","createWebHistory","routes","component","Home","toCSS","regex","stripHtml","results","matchAll","Array","from","split","validateRule","match","handleMDReply","handleHTMLReply","createStore","strict","mutations","setMobile","mobile","setStreams","setCurStream","setTopics","addMessage","display_recipient","deleteMessage","indexOf","addReaction","flat","removeReaction","setRules","reduce","acc","cur","addRule","editMessage","newRules","updateTopic","orig_subject","actions","getters","sort","a","b","localeCompare","app","createApp","App","mdOpts","html","linkify","typographer","globalProperties","$http","Axios","$md","MarkdownIt","use","VueMarkdownIt","router","store","mount"],"mappings":"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","file":"js/app.f3e1da89.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Home.vue?vue&type=style&index=0&id=1c72e2c3&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Rule.vue?vue&type=style&index=0&id=497ad388&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=16b43aee&scoped=true&lang=css\"","\n\n\n\n\n","const \n\n zulip = require(\"zulip-js\"),\n config = {\n username: process.env.VUE_APP_ZULIP_email,\n apiKey: process.env.VUE_APP_ZULIP_key,\n realm: process.env.VUE_APP_ZULIP_site,\n },\n \n init = () => ( new \n Promise((resolve, reject) => {\n zulip(config)\n .then(client => resolve(client))\n .catch(error => reject(error))\n })\n ),\n \n getStreams = client => ( new\n Promise((resolve, reject) => {\n client\n .streams\n .retrieve()\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n getMsgs = (client, stream, topic, params) => ( new\n Promise((resolve, reject) => {\n client\n .messages\n .retrieve(params || {\n anchor: \"newest\",\n num_before: 100,\n num_after: 0,\n // apply_markdown: false,\n narrow: [\n { operator: \"stream\", operand: stream },\n { operator: \"topic\", operand: topic },\n ],\n })\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n getAllMsgs = (client, stream, params) => ( new\n Promise((resolve, reject) => {\n client\n .messages\n .retrieve(params || {\n anchor: \"newest\",\n num_before: 100,\n num_after: 0,\n // apply_markdown: false,\n narrow: [{ operator: \"stream\", operand: stream }],\n })\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n listen = (client, cb) => {\n client\n .callOnEachEvent(\n event => cb(event), \n [ 'message' ],\n [ { operator: \"stream\", operand: \"chatty\" } ]\n )\n },\n \n getSubs = client => ( new\n Promise((resolve, reject) => {\n client\n .streams\n .subscriptions\n .retrieve()\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n addSub = (client, stream) => ( new\n Promise((resolve, reject) => {\n client\n .users\n .me\n .subscriptions\n .add(\n {\n subscriptions: JSON.stringify([{ name: stream }]),\n }\n )\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n ),\n \n sendMsg = (client, params) => ( new\n Promise((resolve, reject) => {\n client\n .messages\n .send(params || {\n to: \"chatty\",\n type: \"stream\",\n topic: \"content\",\n content: \"I come not, friends, to steal away your hearts.\",\n })\n .then(result => resolve(result))\n .catch(error => reject(error))\n })\n )\n\nexport default {\n init,\n config,\n getStreams,\n getMsgs,\n getAllMsgs,\n listen,\n sendMsg,\n getSubs,\n addSub,\n}\n","import zulip from './zulip'\n\nexport default {\n zulip\n}\n","// let toUTF16 = (codePoint) => {\n// var TEN_BITS = parseInt(\"1111111111\", 2);\n// if (codePoint <= 0xffff) {\n// return u(codePoint);\n// }\n// codePoint -= 0x10000;\n// // Shift right to get to most significant 10 bits\n// var leadSurrogate = 0xd800 + (codePoint >> 10);\n// // Mask to get least significant 10 bits\n// var tailSurrogate = 0xdc00 + (codePoint & TEN_BITS);\n// return u(leadSurrogate) + (tailSurrogate);\n// }\n\n// let u = (codeUnit) => {\n// return \"\\\\u\" + codeUnit.toString(16).toUpperCase();\n// }\n\nexport default {\n methods: {\n toEmojiCode: (emoji) => {\n // console.log(emoji);\n return emoji.replace(/\\p{Emoji}/gu, (m) => m.codePointAt(0).toString(16));\n },\n\n // toEmojiCode: (emoji) => {\n // console.log(emoji)\n // emoji.replace(/\\p{Emoji}/gu, function (m) {\n // toUTF16(m.codePointAt(0));\n // });\n // console.log(emoji)\n // return emoji;\n // },\n\n containsEmoji(str) {\n // Regular expression to match emoji\n const regexExp = /(\\u00a9|\\u00ae|[\\u2000-\\u3300]|\\ud83c[\\ud000-\\udfff]|\\ud83d[\\ud000-\\udfff]|\\ud83e[\\ud000-\\udfff])/gi;\n return regexExp.test(str); // true\n },\n }\n}","","import script from \"./Styles.vue?vue&type=script&lang=js\"\nexport * from \"./Styles.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=559798ba\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=559798ba&lang=css\"\nscript.render = render\n\nexport default script","\n\n\n\n","\n\n\n\n","\n\n\n\n","import { render } from \"./Stream.vue?vue&type=template&id=1af39708&scoped=true\"\nimport script from \"./Stream.vue?vue&type=script&lang=js\"\nexport * from \"./Stream.vue?vue&type=script&lang=js\"\n\nimport \"./Stream.vue?vue&type=style&index=0&id=1af39708&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-1af39708\"\n\nexport default script","import { render } from \"./index.vue?vue&type=template&id=b5c7b5e8&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=b5c7b5e8&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-b5c7b5e8\"\n\nexport default script","\n\n\n\n","\n\n\n\n","\n\n\n\n","import { render } from \"./Message.vue?vue&type=template&id=4bf9e836\"\nimport script from \"./Message.vue?vue&type=script&lang=js\"\nexport * from \"./Message.vue?vue&type=script&lang=js\"\n\nimport \"./Message.vue?vue&type=style&index=0&id=4bf9e836&lang=css\"\nscript.render = render\n\nexport default script","import { render } from \"./Chapter.vue?vue&type=template&id=d726f0d6&scoped=true\"\nimport script from \"./Chapter.vue?vue&type=script&lang=js\"\nexport * from \"./Chapter.vue?vue&type=script&lang=js\"\n\nimport \"./Chapter.vue?vue&type=style&index=0&id=d726f0d6&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-d726f0d6\"\n\nexport default script","import { render } from \"./index.vue?vue&type=template&id=67c88b0b&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=67c88b0b&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-67c88b0b\"\n\nexport default script","\n\n\n\n","\n\n\n\n","import { render } from \"./Rule.vue?vue&type=template&id=497ad388&scoped=true\"\nimport script from \"./Rule.vue?vue&type=script&lang=js\"\nexport * from \"./Rule.vue?vue&type=script&lang=js\"\n\nimport \"./Rule.vue?vue&type=style&index=0&id=497ad388&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-497ad388\"\n\nexport default script","import { render } from \"./index.vue?vue&type=template&id=16b43aee&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport \"./index.vue?vue&type=style&index=0&id=16b43aee&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-16b43aee\"\n\nexport default script","import { render } from \"./Home.vue?vue&type=template&id=1c72e2c3\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\n\nimport \"./Home.vue?vue&type=style&index=0&id=1c72e2c3&lang=css\"\nscript.render = render\n\nexport default script","import { createRouter, createWebHistory } from 'vue-router'\n\nimport Home from '../views/Home'\n\nconst path = '/' \n\nexport default createRouter({\n history: createWebHistory(path),\n routes: [\n {\n path: '/',\n name: 'Home',\n component: Home,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'Home',\n component: Home,\n },\n ],\n})\n\n\n","/*eslint no-unused-vars: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\n// import Vue from 'vue'\nimport { createStore } from 'vuex'\nimport emoji from \"../mixins/emoji\"\nimport { stripHtml } from \"string-strip-html\"\n\nvar EmojiConvertor = require('emoji-js');\nvar emojiConv = new EmojiConvertor();\n\nlet toCSS = (message, currentStream) => {\n // console.log(message)\n let className = \"\",\n emoji_code = \"\",\n rules = [],\n parentClassName = currentStream,\n id = message.id\n\n // let regex = /[/s]?(?.+)\\s*\\n?{\\n?(?[\\s\\w.~:>-]+\\s*:\\s*.+;?\\n?)*\\n?}/gm\n let regex = /\\s?(?.+)\\s*\\n?{\\n?(?(.*;\\n?)+)}/gm\n let content = stripHtml(message.content).result;\n let results = content.matchAll(regex);\n results = Array.from(results);\n //console.log(results)\n if (results.length > 0) {\n className = emojiConv.replace_colons(results[0]['groups']['selector']);\n if (emoji.methods.containsEmoji(className)) {\n emoji_code = emoji.methods.toEmojiCode(className);\n }\n rules = results[0]['groups']['props'].split(\"\\n\");\n rules = rules.filter((rule) => validateRule(rule))\n // console.log(className, emoji_code, rules, parentClassName, id)\n return { className, emoji_code, rules, parentClassName, id };\n }\n return null;\n}\n\nlet validateRule = (rule) => {\n return rule.match(/.+:.+;/gm);\n}\n\n// parsing replies, there are two scenarios:\n// we are either getting the message as plain markdown\n// or we are getting the message pre-rendered as HTML (default Zulip behaviour)\n// see /src/api/zulip/index.js line 36\n\nconst handleMDReply = message => {\n message.responseTo = {\n id: message.content\n .replace(/.*\\/near\\//gm, '')\n .replace(/\\):.*[^]+/gm, ''),\n sender_id: message.content\n .replace(/@_\\*\\*.*\\|/gm, '')\n .replace(/\\*\\*.\\[said\\].*[^]+/gm, ''),\n quote: message.content\n .replace(/[^]+.*```quote\\n/gm, '')\n .replace(/ \\n```/gm, '')\n }\n // console.log(message.responseTo)\n}\n\nconst handleHTMLReply = message => {\n message.responseTo = {\n id: message.content\n .replace(/.*\\/near\\//gm, '')\n .replace(/\".*[^]+/gm, ''),\n sender_id: message.content\n .replace(/[^]+data-user-id=\"/gm, '')\n .replace(/\">[^]+/gm, ''),\n quote: message.content\n .replace(/.*[^]+<\\/p>\\n

\\n

/gm, '')\n .replace(/ <\\/p>\\n<\\/blockquote>/gm, '')\n }\n // console.log(message.responseTo)\n}\n\nexport default createStore({\n\n strict: process.env.NODE_ENV !== 'production',\n\n state: {\n isMobile: false,\n streams: [],\n currentStream: '',\n rules: [],\n topics: [],\n pubStr: 'pub-',\n },\n\n mutations: {\n\n setMobile: (state, mobile) => state.isMobile = mobile,\n setStreams: (state, streams) => state.streams = streams,\n setCurStream: (state, stream) => state.currentStream = stream,\n setTopics: (state, topics) => state.topics = topics,\n addMessage: (state, message) => {\n if (message.display_recipient == state.currentStream) {\n if (message.content.startsWith('@_**')) {\n handleMDReply(message)\n } else if (\n message.content.includes('user-mention') &&\n message.content.includes('blockquote')\n ) {\n handleHTMLReply(message)\n }\n const topic = state.topics.find(topic => topic.title == message.subject)\n if (topic) {\n topic.messages.push(message)\n } else {\n state.topics.push({\n title: message.subject,\n messages: [ message ]\n })\n }\n }\n },\n deleteMessage: (state, { mid, subject }) => {\n const topic = state.topics.find(t => t.title == subject)\n if (topic) {\n const message = topic.messages.find(m => m.id == mid)\n if (message) {\n topic.messages.splice(topic.messages.indexOf(message), 1)\n }\n }\n },\n addReaction: (state, { mid, reaction }) => {\n const message = state.topics\n .map(t => t.messages)\n .flat()\n .find(m => m.id == mid)\n if (message) {\n message.reactions.push(reaction)\n }\n },\n removeReaction: (state, { mid, reaction }) => {\n const message = state.topics\n .map(t => t.messages)\n .flat()\n .find(m => m.id == mid)\n if (message) {\n message.reactions.splice(message.reactions.indexOf(reaction), 1)\n }\n },\n setRules: (state, rules) => {\n state.rules = rules.reduce((acc, cur) => {\n let rule = toCSS(cur, state.currentStream);\n if (rule !== null) {\n acc.push(rule);\n }\n return acc\n }, [])\n },\n addRule: (state, rule) => {\n if (toCSS(rule) !== null) {\n // state.rules.push(toCSS(rule, state.currentStream))\n // vue will not update if i use rules.push(rule)\n state.rules = [...state.rules,...[toCSS(rule, state.currentStream)]]\n }\n },\n editMessage: (state, { mid, content }) => {\n const message = state.topics\n .map(t => t.messages)\n .flat()\n .find(m => m.id == mid)\n const rule = state.rules.find(r => r.id == mid)\n if (message) {\n message.content = content\n if (message.content.startsWith('@_**')) {\n handleMDReply(message)\n } else if (\n message.content.includes('user-mention') &&\n message.content.includes('blockquote')\n ) {\n handleHTMLReply(message)\n }\n } else if (rule) {\n // state.rules[state.rules.indexOf(rule)] = toCSS({\n // id: mid, content: content,\n // }, state.currentStream)\n\n // vue will not update if i use rules.push(rule) \n const newRules = [...state.rules, ...[toCSS({\n id: mid, content: content,\n }, state.currentStream)]]\n state.rules = newRules\n }\n },\n\n updateTopic: (state, { orig_subject, subject }) => {\n const topic = state.topics.find(t => t.title == orig_subject)\n if (topic) {\n topic.title = subject\n topic.messages.forEach(m => m.subject = subject)\n }\n }\n\n },\n\n actions: {\n },\n\n getters: {\n rules: state => state.rules,\n sortedTopics: state => (\n [...state.topics]\n .sort((a, b) => a.title.localeCompare(b.title))\n .filter(t => t.messages.length > 0) \n )\n }\n\n})\n","import { createApp } from 'vue'\nimport App from './App'\nimport Axios from 'axios'\nimport MarkdownIt from 'markdown-it'\nimport VueMarkdownIt from 'vue3-markdown-it'\nimport router from './router'\nimport store from './store'\n\nimport 'highlight.js/styles/vs.css';\n\nconst app = createApp(App)\n\nconst mdOpts = {\n html: true,\n linkify: true,\n typographer: true\n}\n\napp.config.globalProperties.$http = Axios\napp.config.globalProperties.$mdOpts = mdOpts\napp.config.globalProperties.$md = new MarkdownIt(mdOpts)\n\napp\n .use(VueMarkdownIt)\n .use(router)\n .use(store)\n .mount('#app')\n\n\n\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Message.vue?vue&type=style&index=0&id=4bf9e836&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Chapter.vue?vue&type=style&index=0&id=d726f0d6&scoped=true&lang=css\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=559798ba&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=67c88b0b&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Stream.vue?vue&type=style&index=0&id=1af39708&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=b5c7b5e8&scoped=true&lang=css\""],"sourceRoot":""} \ No newline at end of file diff --git a/front/docs/Workshop.md b/front/docs/Workshop.md index f78e89d..a15fa93 100644 --- a/front/docs/Workshop.md +++ b/front/docs/Workshop.md @@ -17,7 +17,8 @@ This script aims to provide the necessary instructions to host a workshop around - Learn and/or practice styling with CSS & Emojis ## Requirements -- an account for the Hackers & Designers Zulip instance: https://chat.hackersanddesigners.nl/. +- a computer, web-browser, and connection to the internet +- an account for the Hackers & Designers Zulip instance: https://chat.hackersanddesigners.nl/ - a printer @@ -43,11 +44,12 @@ Zulip allows you to react to messages using emoji's as well. We will make heavy There are several ways to engage with Zulip, including a web-client, a desktop app, and a mobile app. ### ChattyPub -https://chattypub.hackersanddesigners.nl +http://chattypub.hackersanddesigners.nl ChattyPub is a website that acts as a different interface to the same Zulip service. ChattyPub takes a stream from Zulip, combines messages into long-form articles and uses a design system combining Emojis and CSS syntax to style the messages, effectively turning the stream into a (printable!) webpage. ## Making a publication with Zulip & ChattyPub +### Content 1. Create a stream on Zulip - Ensure that the stream name starts with `pub-`. @@ -58,12 +60,31 @@ ChattyPub is a website that acts as a different interface to the same Zulip serv - Your stream name (which will be the name of your publication) - The topics of your stream (which will act as "Chapters" in your publication) - Topics are collapsed by default, click the expand button next to a topic to display it's messages as an article. - - To create a new topic, return to Zulip and type a message to your stream, making sure to send it to the topic you want to create. -5. The right-hand side of the interface is reserved for one topic in your stream: "rules". - - Go back to Zulip and create a topic in your stream called "rules" - - This topic will house definitions for styles you want to apply to messges in your stream. - - +5. To create a new topic (chapter), return to Zulip and type a message to your stream, making sure to send it to the topic you want to create. +### Rules + +The right-hand side of the ChattyPub interface is reserved for one topic in your stream: "rules". This topic will house definitions for styles you want to apply to messages in your stream. + +Go back to Zulip and create the topic in your stream called "rules". + +Every message you send to this topic should consist of a single emoji followed by a set of styles you'd like applied to messages. For example: + +```CSS +🍓 { + color: red; + text-decoration: underline; +} +``` +These messages should be unique and follow the CSS syntax, as described in the [introduction to CSS](https://github.com/hackersanddesigners/chatty-pub/blob/master/front/docs/CSS.md). If you are comfortable with CSS, you can skip to the part of the document that describes [how CSS is used in ChattyPub](https://github.com/hackersanddesigners/chatty-pub/blob/master/front/docs/CSS.md#css-in-chatty-pub). + +To apply these styles to the contents of your publication, head back to any other topic in your stream, select a message you'd like to style, and react to it with the emoji whose styles you want to apply. On ChattyPub, the message should be rendered with these styles. + +If you'd like to style only a part of a message, select the message in Zulip and quote and respond to it (in the 3-dot menu). This will produce a text in your input box on the bottom of the interface. Delete the parts of the quoted message that you don't want the styles applied to, and send your response. When you react with an emoji to your own response, the part of the message you quoted will inherit the styles defined for that emoji. + +### Printing + +TBD ## Workshop diff --git a/front/src/components/Content/Chapter.vue b/front/src/components/Content/Chapter.vue index 0f43dc5..2f5d55c 100644 --- a/front/src/components/Content/Chapter.vue +++ b/front/src/components/Content/Chapter.vue @@ -5,7 +5,7 @@ {{ topic.title }}

- +   @@ -37,6 +37,9 @@ export default { } return r; }, + messagesToShow() { + return this.topic.messages.filter(m => !m.responseTo) + } }, };