commit 7e8edd430dbe93448cccf2705cf67f2a039ad539 Author: Struchkov Mark Date: Mon Mar 13 16:01:28 2023 +0000 Deployed 71ff043 to develop in gitlab-notification/ru with MkDocs 1.4.2 and mike 1.1.2 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/gitlab-notification/ru/develop/404.html b/gitlab-notification/ru/develop/404.html new file mode 100644 index 0000000..354dc2c --- /dev/null +++ b/gitlab-notification/ru/develop/404.html @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ +

404 - Not found

+ +
+
+ + + +
+ +
+ +
+ + + + +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/architecture/concept/index.html b/gitlab-notification/ru/develop/architecture/concept/index.html new file mode 100644 index 0000000..cc65a09 --- /dev/null +++ b/gitlab-notification/ru/develop/architecture/concept/index.html @@ -0,0 +1,646 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Concept - GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ + + + + + + + + + + + + + + +

Concept

+ + + + + + + + + + + + + +

Комментарии

+
+ + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/assets/favicon.ico b/gitlab-notification/ru/develop/assets/favicon.ico new file mode 100644 index 0000000..032718b Binary files /dev/null and b/gitlab-notification/ru/develop/assets/favicon.ico differ diff --git a/gitlab-notification/ru/develop/assets/images/favicon.png b/gitlab-notification/ru/develop/assets/images/favicon.png new file mode 100644 index 0000000..1cf13b9 Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/favicon.png differ diff --git a/gitlab-notification/ru/develop/assets/images/social/architecture/concept.png b/gitlab-notification/ru/develop/assets/images/social/architecture/concept.png new file mode 100644 index 0000000..342a242 Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/social/architecture/concept.png differ diff --git a/gitlab-notification/ru/develop/assets/images/social/blog/index.png b/gitlab-notification/ru/develop/assets/images/social/blog/index.png new file mode 100644 index 0000000..a9f700a Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/social/blog/index.png differ diff --git a/gitlab-notification/ru/develop/assets/images/social/getting-started/configuration.png b/gitlab-notification/ru/develop/assets/images/social/getting-started/configuration.png new file mode 100644 index 0000000..9ea4d3c Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/social/getting-started/configuration.png differ diff --git a/gitlab-notification/ru/develop/assets/images/social/getting-started/index.png b/gitlab-notification/ru/develop/assets/images/social/getting-started/index.png new file mode 100644 index 0000000..e69de29 diff --git a/gitlab-notification/ru/develop/assets/images/social/getting-started/installing-dependencies.png b/gitlab-notification/ru/develop/assets/images/social/getting-started/installing-dependencies.png new file mode 100644 index 0000000..8073525 Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/social/getting-started/installing-dependencies.png differ diff --git a/gitlab-notification/ru/develop/assets/images/social/guides/index.png b/gitlab-notification/ru/develop/assets/images/social/guides/index.png new file mode 100644 index 0000000..a9f700a Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/social/guides/index.png differ diff --git a/gitlab-notification/ru/develop/assets/images/social/index.png b/gitlab-notification/ru/develop/assets/images/social/index.png new file mode 100644 index 0000000..a11fd91 Binary files /dev/null and b/gitlab-notification/ru/develop/assets/images/social/index.png differ diff --git a/gitlab-notification/ru/develop/assets/javascripts/bundle.a3170f90.min.js b/gitlab-notification/ru/develop/assets/javascripts/bundle.a3170f90.min.js new file mode 100644 index 0000000..ac6bcb6 --- /dev/null +++ b/gitlab-notification/ru/develop/assets/javascripts/bundle.a3170f90.min.js @@ -0,0 +1,3 @@ +"use strict";(()=>{var Wi=Object.create;var Ar=Object.defineProperty;var Di=Object.getOwnPropertyDescriptor;var Ni=Object.getOwnPropertyNames,Vt=Object.getOwnPropertySymbols,zi=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty,mn=Object.prototype.propertyIsEnumerable;var un=(e,t,r)=>t in e?Ar(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Cr.call(t,r)&&un(e,r,t[r]);if(Vt)for(var r of Vt(t))mn.call(t,r)&&un(e,r,t[r]);return e};var dn=(e,t)=>{var r={};for(var n in e)Cr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Vt)for(var n of Vt(e))t.indexOf(n)<0&&mn.call(e,n)&&(r[n]=e[n]);return r};var qt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Vi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ni(t))!Cr.call(e,o)&&o!==r&&Ar(e,o,{get:()=>t[o],enumerable:!(n=Di(t,o))||n.enumerable});return e};var Lt=(e,t,r)=>(r=e!=null?Wi(zi(e)):{},Vi(t||!e||!e.__esModule?Ar(r,"default",{value:e,enumerable:!0}):r,e));var bn=qt((kr,hn)=>{(function(e,t){typeof kr=="object"&&typeof hn!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(kr,function(){"use strict";function e(r){var n=!0,o=!1,i=null,a={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function s(M){return!!(M&&M!==document&&M.nodeName!=="HTML"&&M.nodeName!=="BODY"&&"classList"in M&&"contains"in M.classList)}function p(M){var Ne=M.type,H=M.tagName;return!!(H==="INPUT"&&a[Ne]&&!M.readOnly||H==="TEXTAREA"&&!M.readOnly||M.isContentEditable)}function c(M){M.classList.contains("focus-visible")||(M.classList.add("focus-visible"),M.setAttribute("data-focus-visible-added",""))}function l(M){M.hasAttribute("data-focus-visible-added")&&(M.classList.remove("focus-visible"),M.removeAttribute("data-focus-visible-added"))}function f(M){M.metaKey||M.altKey||M.ctrlKey||(s(r.activeElement)&&c(r.activeElement),n=!0)}function m(M){n=!1}function d(M){s(M.target)&&(n||p(M.target))&&c(M.target)}function h(M){s(M.target)&&(M.target.classList.contains("focus-visible")||M.target.hasAttribute("data-focus-visible-added"))&&(o=!0,window.clearTimeout(i),i=window.setTimeout(function(){o=!1},100),l(M.target))}function v(M){document.visibilityState==="hidden"&&(o&&(n=!0),Q())}function Q(){document.addEventListener("mousemove",K),document.addEventListener("mousedown",K),document.addEventListener("mouseup",K),document.addEventListener("pointermove",K),document.addEventListener("pointerdown",K),document.addEventListener("pointerup",K),document.addEventListener("touchmove",K),document.addEventListener("touchstart",K),document.addEventListener("touchend",K)}function ae(){document.removeEventListener("mousemove",K),document.removeEventListener("mousedown",K),document.removeEventListener("mouseup",K),document.removeEventListener("pointermove",K),document.removeEventListener("pointerdown",K),document.removeEventListener("pointerup",K),document.removeEventListener("touchmove",K),document.removeEventListener("touchstart",K),document.removeEventListener("touchend",K)}function K(M){M.target.nodeName&&M.target.nodeName.toLowerCase()==="html"||(n=!1,ae())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",m,!0),document.addEventListener("pointerdown",m,!0),document.addEventListener("touchstart",m,!0),document.addEventListener("visibilitychange",v,!0),Q(),r.addEventListener("focus",d,!0),r.addEventListener("blur",h,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var vn=qt(Hr=>{(function(e){var t=function(){try{return!!Symbol.iterator}catch(c){return!1}},r=t(),n=function(c){var l={next:function(){var f=c.shift();return{done:f===void 0,value:f}}};return r&&(l[Symbol.iterator]=function(){return l}),l},o=function(c){return encodeURIComponent(c).replace(/%20/g,"+")},i=function(c){return decodeURIComponent(String(c).replace(/\+/g," "))},a=function(){var c=function(f){Object.defineProperty(this,"_entries",{writable:!0,value:{}});var m=typeof f;if(m!=="undefined")if(m==="string")f!==""&&this._fromString(f);else if(f instanceof c){var d=this;f.forEach(function(ae,K){d.append(K,ae)})}else if(f!==null&&m==="object")if(Object.prototype.toString.call(f)==="[object Array]")for(var h=0;hd[0]?1:0}),c._entries&&(c._entries={});for(var f=0;f1?i(d[1]):"")}})})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Hr);(function(e){var t=function(){try{var o=new e.URL("b","http://a");return o.pathname="c d",o.href==="http://a/c%20d"&&o.searchParams}catch(i){return!1}},r=function(){var o=e.URL,i=function(p,c){typeof p!="string"&&(p=String(p)),c&&typeof c!="string"&&(c=String(c));var l=document,f;if(c&&(e.location===void 0||c!==e.location.href)){c=c.toLowerCase(),l=document.implementation.createHTMLDocument(""),f=l.createElement("base"),f.href=c,l.head.appendChild(f);try{if(f.href.indexOf(c)!==0)throw new Error(f.href)}catch(M){throw new Error("URL unable to set base "+c+" due to "+M)}}var m=l.createElement("a");m.href=p,f&&(l.body.appendChild(m),m.href=m.href);var d=l.createElement("input");if(d.type="url",d.value=p,m.protocol===":"||!/:/.test(m.href)||!d.checkValidity()&&!c)throw new TypeError("Invalid URL");Object.defineProperty(this,"_anchorElement",{value:m});var h=new e.URLSearchParams(this.search),v=!0,Q=!0,ae=this;["append","delete","set"].forEach(function(M){var Ne=h[M];h[M]=function(){Ne.apply(h,arguments),v&&(Q=!1,ae.search=h.toString(),Q=!0)}}),Object.defineProperty(this,"searchParams",{value:h,enumerable:!0});var K=void 0;Object.defineProperty(this,"_updateSearchParams",{enumerable:!1,configurable:!1,writable:!1,value:function(){this.search!==K&&(K=this.search,Q&&(v=!1,this.searchParams._fromString(this.search),v=!0))}})},a=i.prototype,s=function(p){Object.defineProperty(a,p,{get:function(){return this._anchorElement[p]},set:function(c){this._anchorElement[p]=c},enumerable:!0})};["hash","host","hostname","port","protocol"].forEach(function(p){s(p)}),Object.defineProperty(a,"search",{get:function(){return this._anchorElement.search},set:function(p){this._anchorElement.search=p,this._updateSearchParams()},enumerable:!0}),Object.defineProperties(a,{toString:{get:function(){var p=this;return function(){return p.href}}},href:{get:function(){return this._anchorElement.href.replace(/\?$/,"")},set:function(p){this._anchorElement.href=p,this._updateSearchParams()},enumerable:!0},pathname:{get:function(){return this._anchorElement.pathname.replace(/(^\/?)/,"/")},set:function(p){this._anchorElement.pathname=p},enumerable:!0},origin:{get:function(){var p={"http:":80,"https:":443,"ftp:":21}[this._anchorElement.protocol],c=this._anchorElement.port!=p&&this._anchorElement.port!=="";return this._anchorElement.protocol+"//"+this._anchorElement.hostname+(c?":"+this._anchorElement.port:"")},enumerable:!0},password:{get:function(){return""},set:function(p){},enumerable:!0},username:{get:function(){return""},set:function(p){},enumerable:!0}}),i.createObjectURL=function(p){return o.createObjectURL.apply(o,arguments)},i.revokeObjectURL=function(p){return o.revokeObjectURL.apply(o,arguments)},e.URL=i};if(t()||r(),e.location!==void 0&&!("origin"in e.location)){var n=function(){return e.location.protocol+"//"+e.location.hostname+(e.location.port?":"+e.location.port:"")};try{Object.defineProperty(e.location,"origin",{get:n,enumerable:!0})}catch(o){setInterval(function(){e.location.origin=n()},100)}}})(typeof global!="undefined"?global:typeof window!="undefined"?window:typeof self!="undefined"?self:Hr)});var on=qt((Ut,nn)=>{(function(t,r){typeof Ut=="object"&&typeof nn=="object"?nn.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Ut=="object"?Ut.ClipboardJS=r():t.ClipboardJS=r()})(Ut,function(){return function(){var e={686:function(n,o,i){"use strict";i.d(o,{default:function(){return Ui}});var a=i(279),s=i.n(a),p=i(370),c=i.n(p),l=i(817),f=i.n(l);function m(D){try{return document.execCommand(D)}catch(A){return!1}}var d=function(A){var L=f()(A);return m("cut"),L},h=d;function v(D){var A=document.documentElement.getAttribute("dir")==="rtl",L=document.createElement("textarea");L.style.fontSize="12pt",L.style.border="0",L.style.padding="0",L.style.margin="0",L.style.position="absolute",L.style[A?"right":"left"]="-9999px";var I=window.pageYOffset||document.documentElement.scrollTop;return L.style.top="".concat(I,"px"),L.setAttribute("readonly",""),L.value=D,L}var Q=function(A,L){var I=v(A);L.container.appendChild(I);var U=f()(I);return m("copy"),I.remove(),U},ae=function(A){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},I="";return typeof A=="string"?I=Q(A,L):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?I=Q(A.value,L):(I=f()(A),m("copy")),I},K=ae;function M(D){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?M=function(L){return typeof L}:M=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},M(D)}var Ne=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},L=A.action,I=L===void 0?"copy":L,U=A.container,G=A.target,Pe=A.text;if(I!=="copy"&&I!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(G!==void 0)if(G&&M(G)==="object"&&G.nodeType===1){if(I==="copy"&&G.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(I==="cut"&&(G.hasAttribute("readonly")||G.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Pe)return K(Pe,{container:U});if(G)return I==="cut"?h(G):K(G,{container:U})},H=Ne;function B(D){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?B=function(L){return typeof L}:B=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},B(D)}function se(D,A){if(!(D instanceof A))throw new TypeError("Cannot call a class as a function")}function me(D,A){for(var L=0;L0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof U.action=="function"?U.action:this.defaultAction,this.target=typeof U.target=="function"?U.target:this.defaultTarget,this.text=typeof U.text=="function"?U.text:this.defaultText,this.container=B(U.container)==="object"?U.container:document.body}},{key:"listenClick",value:function(U){var G=this;this.listener=c()(U,"click",function(Pe){return G.onClick(Pe)})}},{key:"onClick",value:function(U){var G=U.delegateTarget||U.currentTarget,Pe=this.action(G)||"copy",zt=H({action:Pe,container:this.container,target:this.target(G),text:this.text(G)});this.emit(zt?"success":"error",{action:Pe,text:zt,trigger:G,clearSelection:function(){G&&G.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(U){return Lr("action",U)}},{key:"defaultTarget",value:function(U){var G=Lr("target",U);if(G)return document.querySelector(G)}},{key:"defaultText",value:function(U){return Lr("text",U)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(U){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return K(U,G)}},{key:"cut",value:function(U){return h(U)}},{key:"isSupported",value:function(){var U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],G=typeof U=="string"?[U]:U,Pe=!!document.queryCommandSupported;return G.forEach(function(zt){Pe=Pe&&!!document.queryCommandSupported(zt)}),Pe}}]),L}(s()),Ui=Fi},828:function(n){var o=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function a(s,p){for(;s&&s.nodeType!==o;){if(typeof s.matches=="function"&&s.matches(p))return s;s=s.parentNode}}n.exports=a},438:function(n,o,i){var a=i(828);function s(l,f,m,d,h){var v=c.apply(this,arguments);return l.addEventListener(m,v,h),{destroy:function(){l.removeEventListener(m,v,h)}}}function p(l,f,m,d,h){return typeof l.addEventListener=="function"?s.apply(null,arguments):typeof m=="function"?s.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(v){return s(v,f,m,d,h)}))}function c(l,f,m,d){return function(h){h.delegateTarget=a(h.target,f),h.delegateTarget&&d.call(l,h)}}n.exports=p},879:function(n,o){o.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},o.nodeList=function(i){var a=Object.prototype.toString.call(i);return i!==void 0&&(a==="[object NodeList]"||a==="[object HTMLCollection]")&&"length"in i&&(i.length===0||o.node(i[0]))},o.string=function(i){return typeof i=="string"||i instanceof String},o.fn=function(i){var a=Object.prototype.toString.call(i);return a==="[object Function]"}},370:function(n,o,i){var a=i(879),s=i(438);function p(m,d,h){if(!m&&!d&&!h)throw new Error("Missing required arguments");if(!a.string(d))throw new TypeError("Second argument must be a String");if(!a.fn(h))throw new TypeError("Third argument must be a Function");if(a.node(m))return c(m,d,h);if(a.nodeList(m))return l(m,d,h);if(a.string(m))return f(m,d,h);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function c(m,d,h){return m.addEventListener(d,h),{destroy:function(){m.removeEventListener(d,h)}}}function l(m,d,h){return Array.prototype.forEach.call(m,function(v){v.addEventListener(d,h)}),{destroy:function(){Array.prototype.forEach.call(m,function(v){v.removeEventListener(d,h)})}}}function f(m,d,h){return s(document.body,m,d,h)}n.exports=p},817:function(n){function o(i){var a;if(i.nodeName==="SELECT")i.focus(),a=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var s=i.hasAttribute("readonly");s||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),s||i.removeAttribute("readonly"),a=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var p=window.getSelection(),c=document.createRange();c.selectNodeContents(i),p.removeAllRanges(),p.addRange(c),a=p.toString()}return a}n.exports=o},279:function(n){function o(){}o.prototype={on:function(i,a,s){var p=this.e||(this.e={});return(p[i]||(p[i]=[])).push({fn:a,ctx:s}),this},once:function(i,a,s){var p=this;function c(){p.off(i,c),a.apply(s,arguments)}return c._=a,this.on(i,c,s)},emit:function(i){var a=[].slice.call(arguments,1),s=((this.e||(this.e={}))[i]||[]).slice(),p=0,c=s.length;for(p;p{"use strict";var bs=/["'&<>]/;ai.exports=vs;function vs(e){var t=""+e,r=bs.exec(t);if(!r)return t;var n,o="",i=0,a=0;for(i=r.index;i{function e(n,o){parent.postMessage(n,o||"*")}function t(...n){return n.reduce((o,i)=>o.then(()=>new Promise(a=>{let s=document.createElement("script");s.src=i,s.onload=a,document.body.appendChild(s)})),Promise.resolve())}var r=class extends EventTarget{constructor(n){super(),this.url=n,this.m=i=>{i.source===this.w&&(this.dispatchEvent(new MessageEvent("message",{data:i.data})),this.onmessage&&this.onmessage(i))},this.e=(i,a,s,p,c)=>{if(a===`${this.url}`){let l=new ErrorEvent("error",{message:i,filename:a,lineno:s,colno:p,error:c});this.dispatchEvent(l),this.onerror&&this.onerror(l)}};let o=document.createElement("iframe");o.hidden=!0,document.body.appendChild(this.iframe=o),this.w.document.open(),this.w.document.write(` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ + + + + + + + + + + + + + + +

Hello Mutiny!⚓︎

+

Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program:

+

Test⚓︎

+

Test 2⚓︎

+

Test 3⚓︎

+ + + + + + + + + + + +

Комментарии

+
+ + + + +
+
+ + + +
+ +
+ +
+ + + + +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/getting-started/configuration/index.html b/gitlab-notification/ru/develop/getting-started/configuration/index.html new file mode 100644 index 0000000..8f47aae --- /dev/null +++ b/gitlab-notification/ru/develop/getting-started/configuration/index.html @@ -0,0 +1,663 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Configuration - GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ + + + + + + + + + + + + + + +

Configuration

+ + + + + + + + + + + + + +

Комментарии

+
+ + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/getting-started/index.html b/gitlab-notification/ru/develop/getting-started/index.html new file mode 100644 index 0000000..e5070a6 --- /dev/null +++ b/gitlab-notification/ru/develop/getting-started/index.html @@ -0,0 +1,621 @@ + + + + + + + + + + + + + + + + + + + + + + + + Hello Mutiny! - GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ + + + + + + + + + + + + + + +

Hello Mutiny!⚓︎

+

Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program:

+

Test⚓︎

+

Test 2⚓︎

+

Test 3⚓︎

+ + + + + + + + + + + +

Комментарии

+
+ + + + +
+
+ + + +
+ +
+ +
+ + + + +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/getting-started/installing-dependencies/index.html b/gitlab-notification/ru/develop/getting-started/installing-dependencies/index.html new file mode 100644 index 0000000..22da0de --- /dev/null +++ b/gitlab-notification/ru/develop/getting-started/installing-dependencies/index.html @@ -0,0 +1,869 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Варианты добавления в проект - GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ + + + + + + + + + + + + + + + + +

Варианты добавления в проект⚓︎

+

Есть несколько вариантов добавить фреймворк в проект. Изучите их все и выберете подходящий под ваши задачи.

+

Spring Boot Starter⚓︎

+

Самый простой способ, если у вас небольшой монолитный Spring Boot проект.

+
+
+
+
<dependency>
+    <groupId>dev.struchkov.godfather.telegram</groupId>
+    <artifactId>telegram-bot-spring-boot-starter</artifactId>
+    <version>0.0.50-SNAPSHOT</version>
+</dependency>
+
+
+
+
#include <iostream>
+
+int main(void) {
+  std::cout << "Hello world!" << std::endl;
+  return 0;
+}
+
+
+
+
+

Quarkus Extension⚓︎

+

На данный момент раздел находится в разработке.

+
+
+
+

+
+
+
+

+
+
+
+
+

Reactive⚓︎

+

На данный момент раздел находится в разработке.

+

Основные зависимости проекта⚓︎

+

Вы можете добавить основные зависимости в свой проект и сконфигурировать его более тонко под ваши нужды. Однако для этого потребуется хорошее знание архитектуры проекта.

+

Этот вариант подойдет вам, если у вас используется микросервисная архитектура. Так как логично разделить стадии получения, обработки и отправки сообщений на разные сервисы.

+

Также этот вариант подойдет вам, если вы используете менее популярный фреймворк, так как основные зависимости написаны без привязки к какому-то конкретному фреймворку.

+

Всего основных зависимостей три:

+
+
+
+

Эти зависимости подойдут вам, если вы используете SpringBoot 3.0.0+

+
+
+
+
Позволяет получать сообщения

+
+
Содержит всю логику работы

+
+
Позволяет отправлять сообщения

+
+
+
+
Позволяет получать сообщения

+
+
Содержит всю логику работы

+
+
Позволяет отправлять сообщения

+
+
+
+
+
+
+

Эти зависимости подойдут вам, если вы используете Quarkus 2.16.0+

+
+
+
+
Позволяет получать сообщения

+
+
Содержит всю логику работы

+
+
Позволяет отправлять сообщения

+
+
+
+
Позволяет получать сообщения

+
+
Содержит всю логику работы

+
+
Позволяет отправлять сообщения

+
+
+
+
+
+
+
+ + + + + + + + + + + + + +

Комментарии

+
+ + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/guides/index.html b/gitlab-notification/ru/develop/guides/index.html new file mode 100644 index 0000000..f40c063 --- /dev/null +++ b/gitlab-notification/ru/develop/guides/index.html @@ -0,0 +1,621 @@ + + + + + + + + + + + + + + + + + + + + + + + + Hello Mutiny! - GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + + + +
+
+
+ + + + +
+ +
+ + + + + + + + + + + + + + + +

Hello Mutiny!⚓︎

+

Once you made Mutiny available to your classpath, you can start writing code. +Let's start with this simple program:

+

Test⚓︎

+

Test 2⚓︎

+

Test 3⚓︎

+ + + + + + + + + + + +

Комментарии

+
+ + + + +
+
+ + + +
+ +
+ +
+ + + + +
+ +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/index.html b/gitlab-notification/ru/develop/index.html new file mode 100644 index 0000000..c601615 --- /dev/null +++ b/gitlab-notification/ru/develop/index.html @@ -0,0 +1,643 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Home - GodFather Telegram + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + +

Godfather Telegram – Фреймворк для создания Telegram ботов⚓︎

+ + + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/search/search_index.json b/gitlab-notification/ru/develop/search/search_index.json new file mode 100644 index 0000000..a8c81f8 --- /dev/null +++ b/gitlab-notification/ru/develop/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["ru"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Godfather Telegram \u2013 \u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Telegram \u0431\u043e\u0442\u043e\u0432","text":""},{"location":"blog/","title":"Hello Mutiny!","text":"

Once you made Mutiny available to your classpath, you can start writing code. Let's start with this simple program:

"},{"location":"blog/#test","title":"Test","text":""},{"location":"blog/#test-2","title":"Test 2","text":""},{"location":"blog/#test-3","title":"Test 3","text":""},{"location":"getting-started/","title":"Hello Mutiny!","text":"

Once you made Mutiny available to your classpath, you can start writing code. Let's start with this simple program:

"},{"location":"getting-started/#test","title":"Test","text":""},{"location":"getting-started/#test-2","title":"Test 2","text":""},{"location":"getting-started/#test-3","title":"Test 3","text":""},{"location":"getting-started/installing-dependencies/","title":"\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442","text":"

\u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0432 \u043f\u0440\u043e\u0435\u043a\u0442. \u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0438\u0445 \u0432\u0441\u0435 \u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u043f\u043e\u0434 \u0432\u0430\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0438.

"},{"location":"getting-started/installing-dependencies/#spring-boot-starter","title":"Spring Boot Starter","text":"

\u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u044b\u0439 Spring Boot \u043f\u0440\u043e\u0435\u043a\u0442.

Maven Gradle
<dependency>\n<groupId>dev.struchkov.godfather.telegram</groupId>\n<artifactId>telegram-bot-spring-boot-starter</artifactId>\n<version>0.0.50-SNAPSHOT</version>\n</dependency>\n
#include <iostream>\nint main(void) {\nstd::cout << \"Hello world!\" << std::endl;\nreturn 0;\n}\n
"},{"location":"getting-started/installing-dependencies/#quarkus-extension","title":"Quarkus Extension","text":"

\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435.

Maven Gradle"},{"location":"getting-started/installing-dependencies/#reactive","title":"Reactive","text":"

\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435.

"},{"location":"getting-started/installing-dependencies/#_2","title":"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430","text":"

\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u043d\u043a\u043e \u043f\u043e\u0434 \u0432\u0430\u0448\u0438 \u043d\u0443\u0436\u0434\u044b. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0437\u043d\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0430.

\u042d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u0432\u0430\u043c, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0422\u0430\u043a \u043a\u0430\u043a \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u0442\u0430\u0434\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b.

\u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u0432\u0430\u043c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0443.

\u0412\u0441\u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0442\u0440\u0438:

Spring Quarkus

\u042d\u0442\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u0432\u0430\u043c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 SpringBoot 3.0.0+

Maven Gradle \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0441\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0441\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f

\u042d\u0442\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u0432\u0430\u043c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 Quarkus 2.16.0+

Maven Gradle \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0441\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432\u0441\u044e \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f"},{"location":"guides/","title":"Hello Mutiny!","text":"

Once you made Mutiny available to your classpath, you can start writing code. Let's start with this simple program:

"},{"location":"guides/#test","title":"Test","text":""},{"location":"guides/#test-2","title":"Test 2","text":""},{"location":"guides/#test-3","title":"Test 3","text":""}]} \ No newline at end of file diff --git a/gitlab-notification/ru/develop/sitemap.xml b/gitlab-notification/ru/develop/sitemap.xml new file mode 100644 index 0000000..894ef3b --- /dev/null +++ b/gitlab-notification/ru/develop/sitemap.xml @@ -0,0 +1,38 @@ + + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/ + 2023-03-13 + daily + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/architecture/concept/ + 2023-03-13 + daily + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/blog/ + 2023-03-13 + daily + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/getting-started/ + 2023-03-13 + daily + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/getting-started/configuration/ + 2023-03-13 + daily + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/getting-started/installing-dependencies/ + 2023-03-13 + daily + + + https://docs.struchkov.dev/godfather-telegram/ru/develop/guides/ + 2023-03-13 + daily + + \ No newline at end of file diff --git a/gitlab-notification/ru/develop/sitemap.xml.gz b/gitlab-notification/ru/develop/sitemap.xml.gz new file mode 100644 index 0000000..820c19b Binary files /dev/null and b/gitlab-notification/ru/develop/sitemap.xml.gz differ diff --git a/gitlab-notification/ru/develop/stylesheets/extra.css b/gitlab-notification/ru/develop/stylesheets/extra.css new file mode 100644 index 0000000..841f6aa --- /dev/null +++ b/gitlab-notification/ru/develop/stylesheets/extra.css @@ -0,0 +1,77 @@ +.md-typeset .admonition, .md-typeset details { + font-size: 0.75rem; +} + +.md-typeset h1, .md-typeset h2 { + font-weight: 500; +} + +.md-typeset h2 { + margin-top: 4rem; +} + +.md-typeset h3 { + margin-top: 2.2rem; +} + +.md-typeset mark { + background-color: #fff3bc; + margin: -4px -4px -6px; + padding: 4px 4px 6px; +} + +@keyframes heart { + 0%, 40%, 80%, 100% { + transform: scale(1); + } + 20%, 60% { + transform: scale(1.15); + } +} +.heart { + animation: heart 1000ms infinite; +} + +@keyframes ninja-disappear { + 0% { + opacity: 1; + } + 50% { + opacity: 0.3; + } + 100% { + opacity: 1; + } +} + +.ninja-disappear { + animation: ninja-disappear 3000ms infinite; + animation-delay: 1500ms; +} + +@keyframes jingle-bell-swing { + 0% { + transform: rotate(0deg); + } + 50% { + transform: rotate(10deg); + } + 100% { + transform: rotate(0deg); + } +} + +.jingle-bell { + animation: jingle-bell-swing 2s ease-in-out infinite; + transform-origin: center; +} + + +@media(min-width: 768px) { + .frontpage-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + column-gap: 2em; + row-gap: 1em; + } +} \ No newline at end of file diff --git a/gitlab-notification/ru/versions.json b/gitlab-notification/ru/versions.json new file mode 100644 index 0000000..2f2b2a9 --- /dev/null +++ b/gitlab-notification/ru/versions.json @@ -0,0 +1 @@ +[{"version": "develop", "title": "develop", "aliases": []}] \ No newline at end of file