mirror of
https://github.com/antos-rde/antosdk-apps.git
synced 2024-12-26 04:08:21 +01:00
Initial add OnlyOffice
This commit is contained in:
parent
3f819d1bbc
commit
5f90daf079
@ -1,21 +0,0 @@
|
|||||||
# Blogger
|
|
||||||
|
|
||||||
Blackend for my blog at https://blog.iohub.dev
|
|
||||||
|
|
||||||
|
|
||||||
## Change logs
|
|
||||||
|
|
||||||
### v0.2.x-a
|
|
||||||
* Patch 7: Fix sendmail API security bug
|
|
||||||
* Patch 6: Chage libraries load order
|
|
||||||
* Patch 5: Add user photo to portfolio
|
|
||||||
* Patch 4: Add package dependencies
|
|
||||||
* Patch 3: Correct JSON text decoding
|
|
||||||
* Patch 2: Bug fix rendering content
|
|
||||||
* Patch 0-1 Important change: Store raw post content to the database instead of base64 string as before
|
|
||||||
|
|
||||||
### v0.1.x-a
|
|
||||||
* Patch 3-4: Enhance youtube video embedding feature in markdown
|
|
||||||
* Patch 2: CV Category now can be created when database is not created yet
|
|
||||||
* Patch 1: Fix package archive broken
|
|
||||||
* Patch 0: Change default email of the sender
|
|
@ -1,32 +0,0 @@
|
|||||||
<afx-app-window data-id = "blogger-cv-sec-win" apptitle="Porforlio section" width="450" height="400">
|
|
||||||
<afx-vbox >
|
|
||||||
<div data-height="5"></div>
|
|
||||||
<afx-hbox data-height = "30" >
|
|
||||||
<afx-label data-width= "70" text = "__(Title)"></afx-label>
|
|
||||||
<input type = "text" name="title" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30" >
|
|
||||||
<afx-label text = "__(Subtitle)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="subtitle" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30" >
|
|
||||||
<afx-label text = "__(Location)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="location" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30" >
|
|
||||||
<afx-label text = "__(From)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="start" input-class = "user-input"/>
|
|
||||||
<afx-label text = "To:" style="text-align:center;" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="end" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-label data-height = "30" text = "Content" style = "margin-left:5px;"></afx-label>
|
|
||||||
<div data-id="editor-container">
|
|
||||||
<textarea name="content" data-id = "contentarea" ></textarea>
|
|
||||||
</div>
|
|
||||||
<afx-hbox data-height = "35">
|
|
||||||
<div></div>
|
|
||||||
<afx-switch data-id = "section-publish" data-width="30"></afx-switch>
|
|
||||||
<afx-button iconclass = "fa fa-save" data-id = "bt-cv-sec-save" data-width="60" text = "__(Save)"></afx-button>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-vbox>
|
|
||||||
</afx-app-window>
|
|
@ -1,93 +0,0 @@
|
|||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-tab-container[data-id="tabcontainer"] afx-tab-bar afx-list-view > div.list-container {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
border-right: 1px solid #292929;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-tab-container[data-id="tabcontainer"] afx-tab-bar afx-list-view > div.list-container > ul li{
|
|
||||||
font-size: 15px;
|
|
||||||
padding:0;
|
|
||||||
width: 100%;
|
|
||||||
border-radius: 0;
|
|
||||||
border:0;
|
|
||||||
margin: 0;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-tab-container[data-id="tabcontainer"] afx-tab-bar afx-list-view > div.list-container > ul li.selected {
|
|
||||||
background-color: #116cd6;
|
|
||||||
color:white;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-hbox[data-id="user-container"] afx-label i.label-text{
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window .lbl-header i.label-text{
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-hbox[data-id="cv-container"] .cat-header{
|
|
||||||
border-bottom: 1px solid #cbcbcb;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] > .list-container > ul .afx-cv-sec-title .label-text{
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] afx-blogger-cvsection-item afx-label {
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
}
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] afx-blogger-cvsection-item p {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] afx-blogger-cvsection-item .afx-cv-sec-period,
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] afx-blogger-cvsection-item .afx-cv-sec-loc {
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] afx-blogger-cvsection-item afx-cv-sec-content{
|
|
||||||
text-align: justify;
|
|
||||||
overflow-wrap: break-word;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] > div.list-container > ul li.selected {
|
|
||||||
border: 1px solid #116cd6;
|
|
||||||
background-color: transparent;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] .closable::before{
|
|
||||||
content: "\f014";
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "cv-sec-list"] .period-end::before{
|
|
||||||
content: "-";
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id ='blogger-win'] .editor-toolbar{
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "blog-list"] > div.list-container > ul li afx-label {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "blog-list"] > div.list-container > ul .afx-blogpost-title .label-text{
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "blog-list"] > div.list-container > ul .blog-dates .label-text{
|
|
||||||
font-size: 10px;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
afx-app-window[data-id="blogger-win"] afx-list-view[ data-id = "blog-list"] > div.list-container > ul li.selected {
|
|
||||||
background-color: #116cd6;
|
|
||||||
color:white;
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
"app":"Blogger",
|
|
||||||
"name":"Blogging application",
|
|
||||||
"description":"Backend manager for blogging",
|
|
||||||
"info":{
|
|
||||||
"author": "Xuan Sang LE",
|
|
||||||
"email": "xsang.le@gmail.com"
|
|
||||||
},
|
|
||||||
"version":"0.2.7-a",
|
|
||||||
"category":"Internet",
|
|
||||||
"iconclass":"fa fa-book",
|
|
||||||
"dependencies": ["SimpleMDE@1.11.2-r","Katex@0.11.1-r"],
|
|
||||||
"mimes":["none"]
|
|
||||||
}
|
|
@ -1,86 +0,0 @@
|
|||||||
<afx-app-window data-id = "blogger-win" apptitle="Blogger" width="600" height="500">
|
|
||||||
<afx-hbox >
|
|
||||||
<afx-tab-container data-id = "tabcontainer" dir = "row" tabbarwidth= "22">
|
|
||||||
|
|
||||||
<afx-hbox data-id="user-container" data-height="100%" iconclass="fa fa-user-circle">
|
|
||||||
<afx-vbox>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<afx-label data-width= "70" text = "__(Full name)"></afx-label>
|
|
||||||
<input type = "text" name="fullname" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<afx-label text = "__(Address)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="address" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<afx-label text = "__(Phone)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="Phone" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<afx-label text = "__(Email)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="email" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<afx-label text = "__(Url)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="url" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<afx-label text = "__(Photo)" data-width= "70"></afx-label>
|
|
||||||
<input type = "text" name="photo" data-id="photo" readonly="readonly" input-class = "user-input"/>
|
|
||||||
</afx-hbox>
|
|
||||||
<afx-label data-height = "30" text = "__(Short biblio)"></afx-label>
|
|
||||||
<textarea name="shortbiblio" input-class = "user-input"></textarea>
|
|
||||||
<afx-hbox data-height = "35">
|
|
||||||
<div></div>
|
|
||||||
<afx-button iconclass = "fa fa-save" data-id = "bt-user-save" data-width="60" text = "__(Save)"></afx-button>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-vbox>
|
|
||||||
</afx-hbox>
|
|
||||||
|
|
||||||
<afx-hbox data-id="cv-container" data-height="100%" iconclass="fa fa-info-circle">
|
|
||||||
<div data-width="5"></div>
|
|
||||||
<afx-vbox data-width="150" min-width="100">
|
|
||||||
<afx-label class="lbl-header" data-height = "23" text = "__(Categories)" iconclass = "fa fa-bars"></afx-label>
|
|
||||||
<afx-tree-view data-id = "cv-list" ></afx-tree-view>
|
|
||||||
<afx-hbox data-height="30" class = "cv-side-bar-btn">
|
|
||||||
<afx-button data-id = "cv-cat-add" data-width = "25" text = "" iconclass = "fa fa-plus-circle"></afx-button>
|
|
||||||
<afx-button data-id = "cv-cat-del" data-width = "25" text = "" iconclass = "fa fa-minus-circle"></afx-button>
|
|
||||||
<afx-button data-id = "cv-cat-edit" data-width = "25" text = "" iconclass = "fa fa-pencil-square-o"></afx-button>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-vbox>
|
|
||||||
<afx-resizer data-width = "2"></afx-resizer>
|
|
||||||
<afx-vbox>
|
|
||||||
<afx-list-view data-id = "cv-sec-list" ></afx-list-view>
|
|
||||||
<afx-hbox data-height="30" class = "cv-side-bar-btn">
|
|
||||||
<afx-label data-id = "cv-sec-status"></afx-label>
|
|
||||||
<afx-button data-id = "cv-sec-add" data-width = "25" text = "" iconclass = "fa fa-plus-circle"></afx-button>
|
|
||||||
<afx-button data-id = "cv-sec-edit" data-width = "25" text = "" iconclass = "fa fa-pencil-square-o"></afx-button>
|
|
||||||
<afx-button data-id = "cv-sec-move" data-width = "25" text = "" iconclass = "fa fa-exchange"></afx-button>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-vbox>
|
|
||||||
<div data-width="5"></div>
|
|
||||||
</afx-hbox>
|
|
||||||
|
|
||||||
|
|
||||||
<afx-hbox data-id = "blog-container" data-height="100%" iconclass="fa fa-book">
|
|
||||||
<afx-list-view data-id = "blog-list" min-width="100" data-width="200"></afx-list-view>
|
|
||||||
<afx-resizer data-width = "3"></afx-resizer>
|
|
||||||
<afx-vbox>
|
|
||||||
<div data-id = "editor-container">
|
|
||||||
<textarea data-id="markarea" ></textarea>
|
|
||||||
</div>
|
|
||||||
<afx-label text = "__(Tags)" style="font-weight:bold;" data-height="25" ></afx-label>
|
|
||||||
<afx-hbox data-height="25">
|
|
||||||
<input type = "text" data-id = "input-tags" />
|
|
||||||
<div data-width="5"></div>
|
|
||||||
<afx-switch data data-id = "blog-publish" data-width="30"></afx-switch>
|
|
||||||
<div data-width="5"></div>
|
|
||||||
</afx-hbox>
|
|
||||||
|
|
||||||
<div data-height="5"></div>
|
|
||||||
</afx-vbox>
|
|
||||||
</afx-hbox>
|
|
||||||
|
|
||||||
</afx-tab-container>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-app-window>
|
|
@ -1,20 +0,0 @@
|
|||||||
<afx-app-window data-id = "blogger-send-mail-win" apptitle="Send mail" width="500" height="400" resizable = "false">
|
|
||||||
<afx-hbox>
|
|
||||||
<afx-menu data-width="150" data-id="email-list"></afx-menu>
|
|
||||||
<afx-resizer data-width="3"></afx-resizer>
|
|
||||||
<div data-width="5"></div>
|
|
||||||
<afx-vbox >
|
|
||||||
<div data-height="5"></div>
|
|
||||||
<afx-label data-height="20" text = "__(Title)"></afx-label>
|
|
||||||
<input type = "text" data-height="20" name="title" data-id = "mail-title"/>
|
|
||||||
<afx-label data-height = "20" text = "Content" ></afx-label>
|
|
||||||
<textarea name="content" data-id = "contentarea" ></textarea>
|
|
||||||
<div data-height="5"></div>
|
|
||||||
<afx-hbox data-height = "30">
|
|
||||||
<div></div>
|
|
||||||
<afx-button iconclass = "fa fa-paper-plane" data-id = "bt-sendmail" data-width="60" text = "__(Send)"></afx-button>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-vbox>
|
|
||||||
<div data-width="5"></div>
|
|
||||||
</afx-hbox>
|
|
||||||
</afx-app-window>
|
|
@ -1,32 +0,0 @@
|
|||||||
|
|
||||||
local data = ...
|
|
||||||
-- print(data.content)
|
|
||||||
local error_msg = {}
|
|
||||||
local iserror = false
|
|
||||||
local tmp_name = "/tmp/"..os.time(os.date("!*t"))
|
|
||||||
local file = io.open (tmp_name , "w")
|
|
||||||
if file then
|
|
||||||
file:write("From: mrsang@lxsang.me\n")
|
|
||||||
file:write("Subject: " .. data.title .. "\n")
|
|
||||||
file:write( data.content.."\n")
|
|
||||||
file:close()
|
|
||||||
for k,v in pairs(data.to) do
|
|
||||||
print("sent to:"..v)
|
|
||||||
local to = v
|
|
||||||
local cmd = 'cat ' ..tmp_name .. '| sendmail ' .. to
|
|
||||||
--print(cmd)
|
|
||||||
local r = os.execute(cmd)
|
|
||||||
if not r then
|
|
||||||
iserror = true
|
|
||||||
table.insert(error_msg, v)
|
|
||||||
print("Unable to send mail to: "..v)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
iserror = true
|
|
||||||
table.insert(error_msg, "Cannot create mail file")
|
|
||||||
end
|
|
||||||
local result = {}
|
|
||||||
result.error = iserror
|
|
||||||
result.result = error_msg
|
|
||||||
return result
|
|
7
OnlyOffice/README.md
Normal file
7
OnlyOffice/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# OnlyOffice
|
||||||
|
|
||||||
|
This application is the front-end connector of the OnlyOffice suite.
|
||||||
|
It needs to connect to a working OnlyOffice document server.
|
||||||
|
|
||||||
|
The application allows to open/edit document, presentation, and spreedsheet
|
||||||
|
|
5
OnlyOffice/assets/scheme.html
Normal file
5
OnlyOffice/assets/scheme.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<afx-app-window apptitle="OnlyOffice" width="500" height="400" data-id="OnlyOffice">
|
||||||
|
<afx-hbox >
|
||||||
|
<div data-id="editor-area"></div>
|
||||||
|
</afx-hbox>
|
||||||
|
</afx-app-window>
|
7
OnlyOffice/build/debug/README.md
Normal file
7
OnlyOffice/build/debug/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# OnlyOffice
|
||||||
|
|
||||||
|
This application is the front-end connector of the OnlyOffice suite.
|
||||||
|
It needs to connect to a working OnlyOffice document server.
|
||||||
|
|
||||||
|
The application allows to open/edit document, presentation, and spreedsheet
|
||||||
|
|
36
OnlyOffice/build/debug/main.js
Normal file
36
OnlyOffice/build/debug/main.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
(function() {
|
||||||
|
var OnlyOffice;
|
||||||
|
|
||||||
|
OnlyOffice = class OnlyOffice extends this.OS.application.BaseApplication {
|
||||||
|
constructor(args) {
|
||||||
|
super("OnlyOffice", args);
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
var placeholder;
|
||||||
|
placeholder = this.find("editor-area");
|
||||||
|
return this.editor = new DocsAPI.DocEditor(placeholder, {
|
||||||
|
"document": {
|
||||||
|
"fileType": "docx",
|
||||||
|
"key": "Khirz6zTPdfd7",
|
||||||
|
"title": "Example Document Title.docx",
|
||||||
|
"url": "https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.doc"
|
||||||
|
},
|
||||||
|
"documentType": "word"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
if (this.editor) {
|
||||||
|
this.editor.destroyEditor();
|
||||||
|
}
|
||||||
|
return this.editor = void 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
OnlyOffice.dependencies = ["http://192.168.1.91/web-apps/apps/api/documents/api.js"];
|
||||||
|
|
||||||
|
this.OS.register("OnlyOffice", OnlyOffice);
|
||||||
|
|
||||||
|
}).call(this);
|
16
OnlyOffice/build/debug/package.json
Normal file
16
OnlyOffice/build/debug/package.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"pkgname": "OnlyOffice",
|
||||||
|
"app":"OnlyOffice",
|
||||||
|
"name":"OnlyOffice",
|
||||||
|
"description":"OnlyOffice",
|
||||||
|
"info":{
|
||||||
|
"author": "",
|
||||||
|
"email": ""
|
||||||
|
},
|
||||||
|
"version":"0.0.1-a",
|
||||||
|
"category":"Other",
|
||||||
|
"iconclass":"fa fa-adn",
|
||||||
|
"mimes":["none"],
|
||||||
|
"dependencies":[],
|
||||||
|
"locale": {}
|
||||||
|
}
|
5
OnlyOffice/build/debug/scheme.html
Normal file
5
OnlyOffice/build/debug/scheme.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<afx-app-window apptitle="OnlyOffice" width="500" height="400" data-id="OnlyOffice">
|
||||||
|
<afx-hbox >
|
||||||
|
<div data-id="editor-area"></div>
|
||||||
|
</afx-hbox>
|
||||||
|
</afx-app-window>
|
25
OnlyOffice/coffees/main.coffee
Normal file
25
OnlyOffice/coffees/main.coffee
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
class OnlyOffice extends this.OS.application.BaseApplication
|
||||||
|
constructor: ( args ) ->
|
||||||
|
super "OnlyOffice", args
|
||||||
|
|
||||||
|
main: () ->
|
||||||
|
placeholder = @find "editor-area"
|
||||||
|
@editor = new DocsAPI.DocEditor(placeholder, {
|
||||||
|
"document": {
|
||||||
|
"fileType": "docx",
|
||||||
|
"key": "Khirz6zTPdfd7",
|
||||||
|
"title": "Example Document Title.docx",
|
||||||
|
"url": "https://file-examples-com.github.io/uploads/2017/02/file-sample_100kB.doc"
|
||||||
|
},
|
||||||
|
"documentType": "word"
|
||||||
|
});
|
||||||
|
|
||||||
|
cleanup: () ->
|
||||||
|
@editor.destroyEditor() if @editor
|
||||||
|
@editor = undefined
|
||||||
|
|
||||||
|
OnlyOffice.dependencies = [
|
||||||
|
"http://192.168.1.91/web-apps/apps/api/documents/api.js"
|
||||||
|
]
|
||||||
|
|
||||||
|
this.OS.register "OnlyOffice", OnlyOffice
|
16
OnlyOffice/package.json
Normal file
16
OnlyOffice/package.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"pkgname": "OnlyOffice",
|
||||||
|
"app":"OnlyOffice",
|
||||||
|
"name":"OnlyOffice",
|
||||||
|
"description":"OnlyOffice",
|
||||||
|
"info":{
|
||||||
|
"author": "",
|
||||||
|
"email": ""
|
||||||
|
},
|
||||||
|
"version":"0.0.1-a",
|
||||||
|
"category":"Other",
|
||||||
|
"iconclass":"fa fa-adn",
|
||||||
|
"mimes":["none"],
|
||||||
|
"dependencies":[],
|
||||||
|
"locale": {}
|
||||||
|
}
|
7
OnlyOffice/project.json
Normal file
7
OnlyOffice/project.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name": "OnlyOffice",
|
||||||
|
"css": [],
|
||||||
|
"javascripts": [],
|
||||||
|
"coffees": ["coffees/main.coffee"],
|
||||||
|
"copies": ["assets/scheme.html", "package.json", "README.md"]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user