mirror of
https://github.com/lxsang/antos-frontend.git
synced 2025-07-16 22:09:54 +02:00
Compare commits
32 Commits
Author | SHA1 | Date | |
---|---|---|---|
80de4fcf5b | |||
2ef18dbb3d | |||
be33f05d61 | |||
8f1335bca9 | |||
89d6b307ec | |||
88e95e819a | |||
e47a424a9f | |||
9b75bc4ca2 | |||
8a9941f6ed | |||
5db6901770 | |||
cd6d10910b | |||
3e008c472b | |||
10024d8613 | |||
028417b4f9 | |||
4552840440 | |||
eb4e52a31a | |||
fa15f3c3b4 | |||
4ce83df4bb | |||
5b6e68116b | |||
aec5457a31 | |||
7659438138 | |||
205a3c0d5b | |||
b6100b2d07 | |||
e8cdeaedb6 | |||
8446f1874b | |||
4378723fff | |||
46cec340e2 | |||
b2db12e42f | |||
3cad7be3bf | |||
ab084d9e79 | |||
7a4ba008b0 | |||
59cde330da |
@ -1,9 +1,11 @@
|
||||
language: javascript
|
||||
node_js:
|
||||
- 7
|
||||
install:
|
||||
- npm install -g coffeescript@1.9.3
|
||||
- npm install -g uglify-js
|
||||
- npm install -g coffeescript
|
||||
- npm install -g uglify-es
|
||||
- npm install -g uglifycss
|
||||
- npm install -g riot
|
||||
- npm install -g riot-cli
|
||||
script:
|
||||
- make
|
||||
- make release
|
||||
|
7
Makefile
7
Makefile
@ -1,6 +1,6 @@
|
||||
|
||||
|
||||
BUILDDIR = build/htdocs/os
|
||||
BUILDDIR?=build/htdocs/os
|
||||
BLUE=\033[1;34m
|
||||
NC=\033[0m
|
||||
|
||||
@ -113,14 +113,15 @@ pkgar:
|
||||
test -f $(BUILDDIR)/packages/$$PKG/main.js && uglifyjs $(BUILDDIR)/packages/$$PKG/main.js --compress --mangle --output $(BUILDDIR)/packages/$$PKG/main.js;\
|
||||
test -f $(BUILDDIR)/packages/$$PKG/main.css && uglifycss --output $(BUILDDIR)/packages/$$PKG/main.css $(BUILDDIR)/packages/$$PKG/main.css;\
|
||||
cd $(BUILDDIR)/packages/$$PKG && zip -r "$$PKG.zip" ./ ; \
|
||||
cd ../../ && (mkdir repo/$$PKG || true) && mv packages/$$PKG/"$$PKG.zip" repo/$$PKG && touch repo/$$PKG/$$PKG.md && rm -r packages/$$PKG
|
||||
cd ../../ && (test -d repo/$$PKG || mkdir repo/$$PKG) && mv packages/$$PKG/"$$PKG.zip" repo/$$PKG && touch repo/$$PKG/$$PKG.md && rm -r packages/$$PKG
|
||||
|
||||
uglify:
|
||||
# uglify antos.js
|
||||
# npm install uglify-es -g
|
||||
# npm install uglify-js -g
|
||||
uglifyjs $(BUILDDIR)/scripts/antos.js --compress --mangle --output $(BUILDDIR)/scripts/antos.js
|
||||
# uglify tags
|
||||
# npm install riot -g
|
||||
# npm install riot-cli -g
|
||||
riot --ext js $(BUILDDIR)/resources/antos_tags.js $(BUILDDIR)/resources/antos_tags.js
|
||||
uglifyjs $(BUILDDIR)/resources/antos_tags.js --compress --mangle --output $(BUILDDIR)/resources/antos_tags.js
|
||||
$(GSED) -i 's/resources\/antos_tags.js/scripts\/riot.min.js/g' $(BUILDDIR)/index.html
|
||||
|
@ -2,7 +2,7 @@
|
||||
[](https://travis-ci.org/lxsang/antos)
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Flxsang%2Fantos?ref=badge_shield)
|
||||
|
||||
Server or Embedded Linux are often headless, so accessing the resource on these systems is not always obvious. The aim of this project is to develop a client core API that provides a desktop like experience to remotely access resource on the server using web technologies. AntOS is based on jQuery and Riot, it is designed to be used along with our antd server and Lua based server side app, but can be adapted to be used with any server side languages (PHP, etc) and server, by implementing all the system calls API defined in core/handlers/RemoteHandler.coffee. Basically, application design for the web os relies on these system calls to communicating with the server. The API defines the core UI, system calls (to server), Virtual File system, virtual database and the necessary libraries for easing the development of webOS's applications. Applications can be developped with coffee/javascript/css without the need of a server side script.
|
||||
Server or Embedded Linux are often headless, so accessing the resource on these systems is not always obvious. The aim of this project is to develop a client core API that enables desktop like experience to remote server's resource accessing using web technologies. AntOS is based on jQuery and Riot, it is designed to be used along with our [**antd**](https://github.com/lxsang/ant-http) server and Lua based server side app, but it can also be adapted to any server side languages (PHP, etc) and server, by implementing all the system calls API defined in core/handlers/RemoteHandler.coffee. Basically, application design for the web os relies on these system calls to communicating with the server. The API defines the core UI, system calls (to server), Virtual File system, virtual database and the necessary libraries for easing the development of webOS's applications. Applications can be developped with coffee/javascript/css without the need of a server side script.
|
||||
|
||||
Note that, the development of the project is in early alpha state, so bugs are very welcome :)
|
||||
The WebOS is tested on recent Firefox, Chrome and Safari, however i did not test it on IE or Edge since i have no Windows device :)
|
||||
@ -11,6 +11,9 @@ The WebOS is tested on recent Firefox, Chrome and Safari, however i did not test
|
||||
A demo of the web desktop is available at my page [https://os.lxsang.me](https://os.lxsang.me) using username: demo and password: demo
|
||||
|
||||

|
||||
|
||||
## AntOS applications
|
||||
[https://github.com/lxsang/antosdk-apps](https://github.com/lxsang/antosdk-apps)
|
||||
|
||||
## Build
|
||||
|
||||
|
4
TODO
4
TODO
@ -1,2 +1,2 @@
|
||||
# SDK for application development right on the OS
|
||||
# bug tracking app
|
||||
# Remove riot dependecies
|
||||
# Rewrite the UI system
|
||||
|
@ -18,7 +18,8 @@
|
||||
class BaseApplication extends this.OS.GUI.BaseModel
|
||||
constructor: (name, args) ->
|
||||
super name, args
|
||||
_OS.setting.applications[@name] = {} if not _OS.setting.applications[@name]
|
||||
if (not _OS.setting.applications[@name]) or (Array.isArray OS.setting.applications[@name])
|
||||
_OS.setting.applications[@name] = {}
|
||||
@setting = _OS.setting.applications[@name]
|
||||
@keycomb =
|
||||
ALT: {}
|
||||
@ -26,8 +27,6 @@ class BaseApplication extends this.OS.GUI.BaseModel
|
||||
SHIFT: {}
|
||||
META: {}
|
||||
me = @
|
||||
@subscribe "appregistry", ( m ) ->
|
||||
me.applySetting m.data.m if (m.name is me.name)
|
||||
init: ->
|
||||
me = @
|
||||
@off "*"
|
||||
@ -71,6 +70,8 @@ class BaseApplication extends this.OS.GUI.BaseModel
|
||||
return false
|
||||
|
||||
applySetting: (k) ->
|
||||
applyAllSetting: () ->
|
||||
@applySetting k for k, v of @setting
|
||||
registry: (k, v) ->
|
||||
@setting[k] = v
|
||||
@publish "appregistry", k
|
||||
@ -121,8 +122,7 @@ class BaseApplication extends this.OS.GUI.BaseModel
|
||||
data:->
|
||||
#implement by subclasses
|
||||
# to return app data
|
||||
update:->
|
||||
#implement by subclasses
|
||||
|
||||
cleanup: (e) ->
|
||||
#implement by subclasses
|
||||
# to handle the exit event
|
||||
|
@ -121,6 +121,7 @@ class PromptDialog extends BasicDialog
|
||||
return unless d.data
|
||||
(d.find "content0").set "text", d.data.label
|
||||
(d.find "content1").value = d.data.value if d.data.value
|
||||
$(d.find "content1").attr("type", d.data.type) if d.data.type
|
||||
xtra: (d) ->
|
||||
$( d.find "content1" ).keyup (e) ->
|
||||
(d.find "bt0").trigger() if e.which is 13
|
||||
@ -157,9 +158,9 @@ this.OS.register "CalendarDialog", CalendarDialog
|
||||
class ColorPickerDialog extends BasicDialog
|
||||
constructor: () ->
|
||||
super "ColorPickerDialog", {
|
||||
tags: [{ tag: 'afx-color-picker' }],
|
||||
tags: [{ tag: 'afx-color-picker' }, {tag:'div', att: 'data-height="5"' }],
|
||||
width: 313,
|
||||
height: 220,
|
||||
height: 250,
|
||||
resizable: false,
|
||||
buttons: [
|
||||
{
|
||||
|
@ -27,8 +27,6 @@ class BaseModel
|
||||
@on "exit", () -> me.quit()
|
||||
@host = "#desktop"
|
||||
@dialog = undefined
|
||||
@subscribe "systemlocalechange", (name) ->
|
||||
me.scheme.update() if me.scheme
|
||||
render: (p) ->
|
||||
_GUI.loadScheme p, @, @host
|
||||
|
||||
@ -45,7 +43,15 @@ class BaseModel
|
||||
mt = @meta()
|
||||
return mt.path if mt and mt.path
|
||||
return null
|
||||
|
||||
|
||||
# call a server side script
|
||||
call: (cmd, func) ->
|
||||
@_api.apigateway cmd, false, func
|
||||
|
||||
# get a stream
|
||||
stream: () ->
|
||||
return @_api.apigateway null, true, null
|
||||
|
||||
init: ->
|
||||
#implement by sub class
|
||||
onexit: (e) ->
|
||||
@ -87,7 +93,9 @@ class BaseModel
|
||||
|
||||
publish: (t, m, e) ->
|
||||
mt = @meta()
|
||||
_courrier.trigger t, { id: @pid, name: @name, data: { m: m, icon: mt.icon, iconclass: mt.iconclass }, error: e }
|
||||
icon = undefined
|
||||
icon = "#{mt.path}/#{mt.icon}" if mt.icon
|
||||
_courrier.trigger t, { id: @pid, name: @name, data: { m: m, icon: icon, iconclass: mt.iconclass }, error: e }
|
||||
|
||||
notify: (m) ->
|
||||
@publish "notification", m
|
||||
@ -104,6 +112,9 @@ class BaseModel
|
||||
throwe: () ->
|
||||
@_api.throwe @name
|
||||
|
||||
update:->
|
||||
@scheme.update() if @scheme
|
||||
|
||||
find: (id) -> ($ "[data-id='#{id}']", @scheme)[0] if @scheme
|
||||
|
||||
select: (sel) -> $ sel, @scheme if @scheme
|
||||
|
@ -34,7 +34,9 @@ class BaseService extends this.OS.GUI.BaseModel
|
||||
attach: (h) ->
|
||||
@holder = h
|
||||
|
||||
update: () -> @holder.update() if @holder
|
||||
update: () ->
|
||||
@holder.update() if @holder
|
||||
@scheme.update() if @scheme
|
||||
|
||||
watch: ( t, f) ->
|
||||
me = @
|
||||
|
@ -337,6 +337,8 @@ self.OS.API =
|
||||
}, f
|
||||
setting: (f) ->
|
||||
_API.handler.setting f
|
||||
apigateway: (d, ws, c) ->
|
||||
return _API.handler.apigateway d, ws, c
|
||||
search: (text) ->
|
||||
r = []
|
||||
|
||||
|
@ -52,7 +52,7 @@ self.OS or=
|
||||
return unless _courrier.listeners[app.pid] and _courrier.listeners[app.pid].length > 0
|
||||
_courrier.observable.off i.e, i.f for i in _courrier.listeners[app.pid]
|
||||
delete _courrier.listeners[app.pid]
|
||||
_courrier.listeners[app.pid] = []
|
||||
# _courrier.listeners[app.pid]
|
||||
getMID: () ->
|
||||
_courrier.quota += 1
|
||||
_courrier.quota
|
||||
|
@ -27,12 +27,23 @@ self.OS.GUI =
|
||||
META: {}
|
||||
SYS_MENU: [
|
||||
{
|
||||
text: "__(Applications)",
|
||||
child: [],
|
||||
dataid: "sys-apps"
|
||||
iconclass: "fa fa-adn",
|
||||
text: "",
|
||||
iconclass: "fa fa-eercast",
|
||||
dataid: "sys-menu-root",
|
||||
child: [
|
||||
{
|
||||
text: "__(Applications)",
|
||||
child: [],
|
||||
dataid: "sys-apps"
|
||||
iconclass: "fa fa-adn",
|
||||
onmenuselect: (d) ->
|
||||
_GUI.launch d.item.data.app
|
||||
}
|
||||
],
|
||||
onmenuselect: (d) ->
|
||||
_GUI.launch d.item.data.app
|
||||
return _OS.exit() if d.item.data.dataid is "sys-logout"
|
||||
return _GUI.toggleFullscreen() if d.item.data.dataid is "os-fullsize"
|
||||
_GUI.launch d.item.data.app unless d.item.data.dataid
|
||||
}
|
||||
]
|
||||
htmlToScheme: (html, app, parent) ->
|
||||
@ -155,7 +166,8 @@ self.OS.GUI =
|
||||
#load css file
|
||||
css = "#{path}/main.css"
|
||||
css.asFileHandler().onready (d) ->
|
||||
el = $ '<link>', { rel: 'stylesheet', type: 'text/css', 'href': "#{_API.handler.get}/#{css}" }
|
||||
stamp = (new Date).timestamp()
|
||||
el = $ '<link>', { rel: 'stylesheet', type: 'text/css', 'href': "#{_API.handler.get}/#{css}?stamp=#{stamp}" }
|
||||
.appendTo 'head'
|
||||
_OS.APP[app].style = el[0] if _OS.APP[app]
|
||||
ok app
|
||||
@ -196,6 +208,9 @@ self.OS.GUI =
|
||||
dock.get(0).newapp data
|
||||
app.sysdock = dock.get(0)
|
||||
app.appmenu = ($ "[data-id = 'appmenu']", "#syspanel")[0]
|
||||
app.subscribe "systemlocalechange", (name) -> app.update()
|
||||
app.subscribe "appregistry", ( m ) ->
|
||||
app.applySetting m.data.m if (m.name is app.name)
|
||||
|
||||
toggleFullscreen: () ->
|
||||
el = ($ "body")[0]
|
||||
@ -216,6 +231,7 @@ self.OS.GUI =
|
||||
attachservice: (srv) ->
|
||||
($ "#syspanel")[0].attachservice srv
|
||||
srv.init()
|
||||
srv.subscribe "systemlocalechange", (name) -> srv.update()
|
||||
detachservice: (srv) ->
|
||||
($ "#syspanel")[0].detachservice srv
|
||||
bindContextMenu: (event) ->
|
||||
@ -398,31 +414,23 @@ self.OS.GUI =
|
||||
console.log s, e
|
||||
refreshDesktop: () ->
|
||||
($ "#desktop")[0].fetch()
|
||||
|
||||
refreshSystemMenu: () ->
|
||||
_GUI.SYS_MENU.length = 1
|
||||
_GUI.SYS_MENU[0].child.length = 0
|
||||
_GUI.SYS_MENU[0].child.push v for k, v of _OS.setting.system.packages when (v and v.app)
|
||||
_GUI.SYS_MENU.push v for k, v of _OS.setting.system.menu
|
||||
_GUI.SYS_MENU.push
|
||||
_GUI.SYS_MENU[0].child.length = 1
|
||||
_GUI.SYS_MENU[0].child[0].child.length = 0
|
||||
_GUI.SYS_MENU[0].child[0].child.push v for k, v of _OS.setting.system.packages when (v and v.app)
|
||||
_GUI.SYS_MENU[0].child.push v for k, v of _OS.setting.system.menu
|
||||
_GUI.SYS_MENU[0].child.push
|
||||
text: "__(Toggle Full screen)",
|
||||
dataid: "os-fullsize",
|
||||
iconclass: "fa fa-tv"
|
||||
_GUI.SYS_MENU.push
|
||||
_GUI.SYS_MENU[0].child.push
|
||||
text: "__(Log out)",
|
||||
dataid: "sys-logout",
|
||||
iconclass: "fa fa-user-times"
|
||||
($ "[data-id = 'os_menu']", "#syspanel")[0].update()
|
||||
buildSystemMenu: () ->
|
||||
menu =
|
||||
text: ""
|
||||
iconclass: "fa fa-eercast"
|
||||
dataid: "sys-menu-root"
|
||||
child: _GUI.SYS_MENU
|
||||
menu.onmenuselect = (d) ->
|
||||
return _OS.exit() if d.item.data.dataid is "sys-logout"
|
||||
return _GUI.toggleFullscreen() if d.item.data.dataid is "os-fullsize"
|
||||
_GUI.launch d.item.data.app unless d.item.data.dataid
|
||||
menu = [menu]
|
||||
($ "[data-id = 'os_menu']", "#syspanel")[0].set "items", menu
|
||||
($ "[data-id = 'os_menu']", "#syspanel")[0].set "items", _GUI.SYS_MENU
|
||||
|
||||
#console.log menu
|
||||
|
||||
|
@ -16,50 +16,51 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
#along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
self.OS.API.HOST = self.location.hostname+ (if self.location.port then":#{self.location.port}" else "")
|
||||
self.OS.API.REST = "#{self.location.protocol}//#{self.OS.API.HOST}/lua-api/os"
|
||||
self.OS.API.REST = "#{self.location.protocol}//#{self.OS.API.HOST}"
|
||||
|
||||
_REST = self.OS.API.REST
|
||||
_HOST = self.OS.API.HOST
|
||||
self.OS.API.handler =
|
||||
# get file, require authentification
|
||||
get: "#{_REST}/fs/get"
|
||||
get: "#{_REST}/VFS/get"
|
||||
# get shared file with publish
|
||||
shared: "#{_REST}/fs/shared"
|
||||
shared: "#{_REST}/VFS/shared"
|
||||
scandir: (p, c ) ->
|
||||
path = "#{_REST}/fs/scandir"
|
||||
path = "#{_REST}/VFS/scandir"
|
||||
_API.post path, { path: p }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to scan directory: {0}", p), e, s
|
||||
mkdir: (p, c ) ->
|
||||
path = "#{_REST}/fs/mkdir"
|
||||
path = "#{_REST}/VFS/mkdir"
|
||||
_API.post path, { path: p }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to create directory: {0}", p), e, s
|
||||
sharefile: (p, pub , c) ->
|
||||
path = "#{_REST}/fs/publish"
|
||||
path = "#{_REST}/VFS/publish"
|
||||
_API.post path, { path: p , publish: pub }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to publish file: {0}", p), e, s
|
||||
|
||||
fileinfo: (p, c) ->
|
||||
path = "#{_REST}/fs/fileinfo"
|
||||
path = "#{_REST}/VFS/fileinfo"
|
||||
_API.post path, { path: p }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to get file meta data: {0}", p), e, s
|
||||
|
||||
readfile: (p, c, t) ->
|
||||
path = "#{_REST}/fs/get/"
|
||||
path = "#{_REST}/VFS/get/"
|
||||
_API.get path + p, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to read file: {0}", p), e, s
|
||||
, t
|
||||
|
||||
move: (s, d, c) ->
|
||||
path = "#{_REST}/fs/move"
|
||||
path = "#{_REST}/VFS/move"
|
||||
_API.post path, { src: s, dest: d }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to move file: {0} -> {1}", s, d), e, s
|
||||
|
||||
delete: (p , c) ->
|
||||
path = "#{_REST}/fs/delete"
|
||||
path = "#{_REST}/VFS/delete"
|
||||
_API.post path, { path: p }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to delete: {0}", p), e, s
|
||||
|
||||
fileblob: (p, c) ->
|
||||
path = "#{_REST}/fs/get/"
|
||||
path = "#{_REST}/VFS/get/"
|
||||
_API.blob path + p, c, (e, s) ->
|
||||
_courrier.osfail "Fail to read file: #{p}", e, s
|
||||
|
||||
@ -69,28 +70,41 @@ self.OS.API.handler =
|
||||
_courrier.osfail __("Fail to {0} package", d.command), e, s
|
||||
|
||||
upload: (d, c) ->
|
||||
path = "#{_REST}/fs/upload"
|
||||
path = "#{_REST}/VFS/upload"
|
||||
_API.upload path, d, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to upload file to: {0}", d), e, s
|
||||
|
||||
write: (p, d , c) ->
|
||||
path = "#{_REST}/fs/write"
|
||||
path = "#{_REST}/VFS/write"
|
||||
_API.post path, { path: p, data: d }, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to write to file: {0}", p), e, s
|
||||
|
||||
scanapp: (p, c ) ->
|
||||
path = "#{_REST}/system/application"
|
||||
|
||||
apigateway: (d, ws, c) ->
|
||||
if ws
|
||||
path = "#{_HOST}/system/apigateway?ws=1"
|
||||
proto = if window.location.protocol is "https:" then "wss://" else "ws://"
|
||||
socket = new WebSocket proto + path
|
||||
if c then c(socket)
|
||||
return socket
|
||||
else
|
||||
path = "#{_REST}/system/apigateway?ws=0"
|
||||
_API.post path, d, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to invoke gateway api"), e, s
|
||||
|
||||
auth: (c) ->
|
||||
p = "#{_REST}/system/auth"
|
||||
p = "#{_REST}/user/auth"
|
||||
_API.post p, {}, c, (e, s) ->
|
||||
console.log e, s
|
||||
alert __("Resource not found: {0}", p)
|
||||
login: (d, c) ->
|
||||
p = "#{_REST}/system/login"
|
||||
p = "#{_REST}/user/login"
|
||||
_API.post p, d, c, () ->
|
||||
alert __("Resource not found: {0}", p)
|
||||
logout: () ->
|
||||
p = "#{_REST}/system/logout"
|
||||
p = "#{_REST}/user/logout"
|
||||
_API.post p, {}, (d) ->
|
||||
_OS.boot()
|
||||
, () ->
|
||||
@ -106,6 +120,6 @@ self.OS.API.handler =
|
||||
f({ error: m }) if f
|
||||
|
||||
dbquery: (cmd, d, c) ->
|
||||
path = "#{_REST}/db/#{cmd}"
|
||||
path = "#{_REST}/VDB/#{cmd}"
|
||||
_API.post path, d, c, (e, s) ->
|
||||
_courrier.osfail __("Fail to query data from database: {0}", path), e, s
|
@ -245,4 +245,63 @@
|
||||
"Theme":"Thème",
|
||||
"VFS":"VFS",
|
||||
"Wallpaper":"Fond d'écran"
|
||||
|
||||
,
|
||||
"add {0} to zip":"add {0} to zip",
|
||||
"Add files to build target":"Add files to build target",
|
||||
"and unsaved project":"and unsaved project",
|
||||
"Build and Run":"Build and Run",
|
||||
"Build":"Build",
|
||||
"Build done":"Build done",
|
||||
"Build Options":"Build Options",
|
||||
"Build release":"Build release",
|
||||
"Cannot create file: {0}":"Cannot create file: {0}",
|
||||
"Cannot export: {0}":"Cannot export: {0}",
|
||||
"Cannot export to {0}: {1}":"Cannot export to {0}: {1}",
|
||||
"Cannot export to PNG in this browser: {0}":"Cannot export to PNG in this browser: {0}",
|
||||
"Cannot save project: {0}":"Cannot save project: {0}",
|
||||
"Cannot save the zip file {0} : {1}":"Cannot save the zip file {0} : {1}",
|
||||
"Coffees":"Coffees",
|
||||
"Compiled successful":"Compiled successful",
|
||||
"Copied {0} -> {1}":"Copied {0} -> {1}",
|
||||
"Copied files":"Copied files",
|
||||
"Created directory: {0}":"Created directory: {0}",
|
||||
"Created file: {0}":"Created file: {0}",
|
||||
"Css":"Css",
|
||||
"Error when create directory: {0}":"Error when create directory: {0}",
|
||||
"Export as":"Export as",
|
||||
"File exported":"File exported",
|
||||
"Generated {0}":"Generated {0}",
|
||||
"Graph editor":"Graph editor",
|
||||
"Hide":"Hide",
|
||||
"Ignore: {0} unsaved files {1}?":"Ignore: {0} unsaved files {1}?",
|
||||
"Ignore unsaved project ?":"Ignore unsaved project ?",
|
||||
"Installing...":"Installing...",
|
||||
"Javascripts":"Javascripts",
|
||||
"Metadata found...":"Metadata found...",
|
||||
"New Project at":"New Project at",
|
||||
"New project":"New project",
|
||||
"Opening {0}":"Opening {0}",
|
||||
"Open project":"Open project",
|
||||
"Open Project":"Open Project",
|
||||
"Output":"Output",
|
||||
"Please select {0} only":"Please select {0} only",
|
||||
"Please select a file/fofler":"Please select a file/fofler",
|
||||
"Preparing for release":"Preparing for release",
|
||||
"ProjectName":"ProjectName",
|
||||
"Project":"Project",
|
||||
"project saved":"project saved",
|
||||
"Render":"Render",
|
||||
"Running {0}...":"Running {0}...",
|
||||
"Select a file":"Select a file",
|
||||
"Show":"Show",
|
||||
"Syntax error: {0}":"Syntax error: {0}",
|
||||
"Uninstall: {0}?":"Uninstall: {0}?",
|
||||
"Unsaved project":"Unsaved project",
|
||||
"Update":"Update",
|
||||
"Verifying {0}":"Verifying {0}",
|
||||
"Version string is in invalid format: {0}":"Version string is in invalid format: {0}",
|
||||
"Welcome to AntOSDK":"Welcome to AntOSDK",
|
||||
"Your application version is older ({0} < {1})":"Your application version is older ({0} < {1})",
|
||||
"zip file generated in release folder":"zip file generated in release folder"
|
||||
}
|
||||
|
@ -1,219 +1,248 @@
|
||||
{
|
||||
"About":"About",
|
||||
"About: {0}":"About: {0}",
|
||||
"Add category":"Add category",
|
||||
"Add repository":"Add repository",
|
||||
"Address":"Address",
|
||||
"Alive (ms)":"Alive (ms)",
|
||||
"Application installed":"Application installed",
|
||||
"Application {0} is not executable":"Application {0} is not executable",
|
||||
"About":"À propos de",
|
||||
"About: {0}":"À propos de: {0}",
|
||||
"Add category":"Ajouter une catégorie",
|
||||
"Add repository":"Ajouter un dépôt",
|
||||
"Address":"Adresse",
|
||||
"Alive (ms)":"Actif (ms)",
|
||||
"Application installed":"Application installée",
|
||||
"Application {0} is not executable":"L'application {0} n'est pas exécutable",
|
||||
"Application":"Application",
|
||||
"Applications":"Applications",
|
||||
"Authentication":"Authentication",
|
||||
"Cancel":"Cancel",
|
||||
"Cannot Edit category":"Cannot Edit category",
|
||||
"Cannot add new category":"Cannot add new category",
|
||||
"Cannot create {0}":"Cannot create {0}",
|
||||
"Cannot delete all content of: {0} [{1}]":"Cannot delete all content of: {0} [{1}]",
|
||||
"Cannot delete the category: {0} [{1}]":"Cannot delete the category: {0} [{1}]",
|
||||
"Cannot delete the section: {0}":"Cannot delete the section: {0}",
|
||||
"Cannot delete: {0}":"Cannot delete: {0}",
|
||||
"Cannot down load the app {0}":"Cannot down load the app {0}",
|
||||
"Cannot export file for embedding to text":"Cannot export file for embedding to text",
|
||||
"Cannot fetch CV categories":"Cannot fetch CV categories",
|
||||
"Cannot fetch the entry content":"Cannot fetch the entry content",
|
||||
"Cannot fetch user data":"Cannot fetch user data",
|
||||
"Cannot install {0}":"Cannot install {0}",
|
||||
"Cannot load 3rd library at: {0}":"Cannot load 3rd library at: {0}",
|
||||
"Cannot move section":"Cannot move section",
|
||||
"Cannot read service script: {0}":"Cannot read service script: {0}",
|
||||
"Cannot render the PDF file":"Cannot render the PDF file",
|
||||
"Cannot save blog: {0}":"Cannot save blog: {0}",
|
||||
"Cannot save section: {0}":"Cannot save section: {0}",
|
||||
"Cannot save system setting":"Cannot save system setting",
|
||||
"Cannot save user data":"Cannot save user data",
|
||||
"Cannot share file: {0}":"Cannot share file: {0}",
|
||||
"Cannot uninstall package: {0}":"Cannot uninstall package: {0}",
|
||||
"Categories":"Categories",
|
||||
"Clear all":"Clear all",
|
||||
"Close tab":"Close tab",
|
||||
"Close without saving ?":"Close without saving ?",
|
||||
"Close":"Close",
|
||||
"Copy not yet implemented":"Copy not yet implemented",
|
||||
"Copy":"Copy",
|
||||
"Created: {0}":"Created: {0}",
|
||||
"Cut":"Cut",
|
||||
"Delete a post":"Delete a post",
|
||||
"Delete category":"Delete category",
|
||||
"Delete section":"Delete section",
|
||||
"Delete":"Delete",
|
||||
"Desktop":"Desktop",
|
||||
"Dialog {0} not found":"Dialog {0} not found",
|
||||
"Do you really want to delete this post ?":"Do you really want to delete this post ?",
|
||||
"Do you really want to delete: {0}?":"Do you really want to delete: {0}?",
|
||||
"Download":"Download",
|
||||
"Edit category":"Edit category",
|
||||
"Edit repository":"Edit repository",
|
||||
"Edit":"Edit",
|
||||
"Authentication":"Authentification",
|
||||
"Cancel":"Annuler",
|
||||
"Cannot Edit category":"Impossible d'éditer la catégorie",
|
||||
"Cannot add new category":"Impossible d'ajouter une nouvelle catégorie",
|
||||
"Cannot create {0}":"Impossible de créer {0}",
|
||||
"Cannot delete all content of: {0} [{1}]":"Impossible de supprimer tout le contenu de: {0} [{1}]",
|
||||
"Cannot delete the category: {0} [{1}]":"Impossible de supprimer la catégorie: {0} [{1}]",
|
||||
"Cannot delete the section: {0}":"Impossible de supprimer la section: {0}",
|
||||
"Cannot delete: {0}":"Impossible de supprimer: {0}",
|
||||
"Cannot down load the app {0}":"Impossible de télécharger l'application {0}",
|
||||
"Cannot export file for embedding to text":"Impossible d'exporter le fichier pour l'intégrer au texte",
|
||||
"Cannot fetch CV categories":"Impossible d'extraire les catégories de CV",
|
||||
"Cannot fetch the entry content":"Impossible d'extraire le contenu",
|
||||
"Cannot fetch user data":"Impossible d'extraire les données utilisateur",
|
||||
"Cannot install {0}":"Impossible d'installer {0}",
|
||||
"Cannot load 3rd library at: {0}":"Impossible de charger la bibliothèque à: {0}",
|
||||
"Cannot move section":"Impossible de déplacer la section",
|
||||
"Cannot read service script: {0}":"Impossible de lire le script de service: {0}",
|
||||
"Cannot render the PDF file":"Impossible de rendre le fichier PDF",
|
||||
"Cannot save blog: {0}":"Impossible d'enregistrer le blog: {0}",
|
||||
"Cannot save section: {0}":"Impossible d'enregistrer la section: {0}",
|
||||
"Cannot save system setting":"Impossible d'enregistrer les paramètres du système",
|
||||
"Cannot save user data":"Impossible d'enregistrer les données utilisateur",
|
||||
"Cannot share file: {0}":"Impossible de partager le fichier: {0}",
|
||||
"Cannot uninstall package: {0}":"Impossible de désinstaller le package: {0}",
|
||||
"Categories":"Catégories",
|
||||
"Clear all":"Tout effacer",
|
||||
"Close tab":"Fermer l'onglet",
|
||||
"Close without saving ?":"Fermer sans enregistrer?",
|
||||
"Close":"Fermer",
|
||||
"Copy not yet implemented":"Copie non encore implémentée",
|
||||
"Copy":"Copier",
|
||||
"Created: {0}":"Créé: {0}",
|
||||
"Cut":"Couper",
|
||||
"Delete a post":"Supprimer le text",
|
||||
"Delete category":"Supprimer la catégorie",
|
||||
"Delete section":"Supprimer la section",
|
||||
"Delete":"Supprimer",
|
||||
"Desktop":"Bureau",
|
||||
"Dialog {0} not found":"La boîte de dialogue {0} n'a pas été trouvée",
|
||||
"Do you really want to delete this post ?":"Voulez-vous vraiment supprimer ce texte ?",
|
||||
"Do you really want to delete: {0}?":"Voulez-vous vraiment supprimer: {0}?",
|
||||
"Download":"Télécharger",
|
||||
"Edit category":"Modifier la catégorie",
|
||||
"Edit repository":"Modifier le dépôt",
|
||||
"Edit":"Modifier",
|
||||
"Email":"Email",
|
||||
"Error find app by mimes {0}":"Error find app by mimes {0}",
|
||||
"Error reading package meta data: {0}":"Error reading package meta data: {0}",
|
||||
"Error saving file {0}":"Error saving file {0}",
|
||||
"Exit":"Exit",
|
||||
"Fail to create directory: {0}":"Fail to create directory: {0}",
|
||||
"Fail to create {0}: {1}":"Fail to create {0}: {1}",
|
||||
"Fail to delete {0}: {1}":"Fail to delete {0}: {1}",
|
||||
"Fail to delete: {0}":"Fail to delete: {0}",
|
||||
"Fail to fetch packages list from: {0}":"Fail to fetch packages list from: {0}",
|
||||
"Fail to get file meta data: {0}":"Fail to get file meta data: {0}",
|
||||
"Fail to make request: {0}":"Fail to make request: {0}",
|
||||
"Fail to move file: {0} -> {1}":"Fail to move file: {0} -> {1}",
|
||||
"Fail to paste: {0}":"Fail to paste: {0}",
|
||||
"Fail to publish file: {0}":"Fail to publish file: {0}",
|
||||
"Fail to query data from database: {0}":"Fail to query data from database: {0}",
|
||||
"Fail to read file: {0}":"Fail to read file: {0}",
|
||||
"Fail to rename to {0}: {1}":"Fail to rename to {0}: {1}",
|
||||
"Fail to scan directory: {0}":"Fail to scan directory: {0}",
|
||||
"Fail to upload file to: {0}":"Fail to upload file to: {0}",
|
||||
"Fail to upload to {0}: {1}":"Fail to upload to {0}: {1}",
|
||||
"Fail to write to file: {0}":"Fail to write to file: {0}",
|
||||
"Fail to {0} package":"Fail to {0} package",
|
||||
"File name":"File name",
|
||||
"File not found {0}":"File not found {0}",
|
||||
"File {0} copied":"File {0} copied",
|
||||
"File {0} cut":"File {0} cut",
|
||||
"File":"File",
|
||||
"Folder name":"Folder name",
|
||||
"Format : [name] url":"Format : [name] url",
|
||||
"Found {0} sections":"Found {0} sections",
|
||||
"From":"From",
|
||||
"Full name must be entered":"Full name must be entered",
|
||||
"Full name":"Full name",
|
||||
"Error find app by mimes {0}":"Erreur lors de la recherche d'application par mimes {0}",
|
||||
"Error reading package meta data: {0}":"Erreur lors de la lecture des métadonnées du package: {0}",
|
||||
"Error saving file {0}":"Erreur lors de l'enregistrement du fichier {0}",
|
||||
"Exit":"Quitter",
|
||||
"Fail to create directory: {0}":"Impossible de créer le répertoire: {0}",
|
||||
"Fail to create {0}: {1}":"Échec de la création de {0}: {1}",
|
||||
"Fail to delete {0}: {1}":"Échec de la suppression de {0}: {1}",
|
||||
"Fail to delete: {0}":"Échec de la suppression: {0}",
|
||||
"Fail to fetch packages list from: {0}":"Impossible d'extraire la liste des paquets de: {0}",
|
||||
"Fail to get file meta data: {0}":"Échec d'obtention des métadonnées de fichier: {0}",
|
||||
"Fail to make request: {0}":"Echec de la demande: {0}",
|
||||
"Fail to move file: {0} -> {1}":"Échec du déplacement du fichier: {0} -> {1}",
|
||||
"Fail to paste: {0}":"Impossible de coller: {0}",
|
||||
"Fail to publish file: {0}":"Échec de la publication du fichier: {0}",
|
||||
"Fail to query data from database: {0}":"Impossible d'interroger les données de la base de données: {0}",
|
||||
"Fail to read file: {0}":"Impossible de lire le fichier: {0}",
|
||||
"Fail to rename to {0}: {1}":"Impossible de renommer en {0}: {1}",
|
||||
"Fail to scan directory: {0}":"Échec de l'analyse du répertoire: {0}",
|
||||
"Fail to upload file to: {0}":"Impossible de télécharger le fichier vers: {0}",
|
||||
"Fail to upload to {0}: {1}":"Impossible de télécharger vers {0}: {1}",
|
||||
"Fail to write to file: {0}":"Échec de l'écriture dans le fichier: {0}",
|
||||
"Fail to {0} package":"Échec du {0} paquet",
|
||||
"File name":"Nom de fichier",
|
||||
"File not found {0}":"Fichier introuvable {0}",
|
||||
"File {0} copied":"Fichier {0} copié",
|
||||
"File {0} cut":"Fichier {0} coupé",
|
||||
"File":"Fichier",
|
||||
"Folder name":"Nom de dossier",
|
||||
"Format : [name] url":"Format: [nom] url",
|
||||
"Found {0} sections":"{0} sections trouvées",
|
||||
"From":"De",
|
||||
"Full name must be entered":"Le nom complet doit être entré",
|
||||
"Full name":"Nom complet",
|
||||
"Google Drive":"Google Drive",
|
||||
"Hidden files":"Hidden files",
|
||||
"Home":"Home",
|
||||
"Icon view":"Icon view",
|
||||
"Ignore all {0} unsaved files ?":"Ignore all {0} unsaved files ?",
|
||||
"Install":"Install",
|
||||
"Invalid package: Meta data file not found":"Invalid package: Meta data file not found",
|
||||
"Kill process":"Kill process",
|
||||
"Language file {0} not found":"Language file {0} not found",
|
||||
"Launch":"Launch",
|
||||
"List view":"List view",
|
||||
"Location":"Location",
|
||||
"Log out":"Log out",
|
||||
"Logout":"Logout",
|
||||
"Mime type {0} is not supported":"Mime type {0} is not supported",
|
||||
"Modify section entry":"Modify section entry",
|
||||
"Move to":"Move to",
|
||||
"Name":"Name",
|
||||
"Navigation bar":"Navigation bar",
|
||||
"New file":"New file",
|
||||
"New folder":"New folder",
|
||||
"New section entry for {0}":"New section entry for {0}",
|
||||
"New":"New",
|
||||
"No application available to open {0}":"No application available to open {0}",
|
||||
"No post found: {0}":"No post found: {0}",
|
||||
"No":"No",
|
||||
"Hidden files":"Fichiers cachés",
|
||||
"Home":"Accueil",
|
||||
"Icon view":"Vue d'icône",
|
||||
"Ignore all {0} unsaved files ?":"Ignorer tous les {0} fichiers non enregistrés?",
|
||||
"Install":"Installer",
|
||||
"Invalid package: Meta data file not found":"Paquet invalide: Fichier de métadonnées non trouvé",
|
||||
"Kill process":"Tuer le processus",
|
||||
"Language file {0} not found":"Fichier de langue {0} introuvable",
|
||||
"Launch":"Lancer",
|
||||
"List view":"Vue de liste",
|
||||
"Location":"Localisation",
|
||||
"Log out":"Déconnecter",
|
||||
"Logout":"Déconnecter",
|
||||
"Mime type {0} is not supported":"Le type MIME {0} n'est pas supporté",
|
||||
"Modify section entry":"Modifier le texte",
|
||||
"Move to":"Déplacer vers",
|
||||
"Name":"Nom",
|
||||
"Navigation bar":"Barre de navigation",
|
||||
"New file":"Nouveau fichier",
|
||||
"New folder":"Nouveau dossier",
|
||||
"New section entry for {0}":"Nouvelle entrée de section pour {0}",
|
||||
"New":"Nouveau",
|
||||
"No application available to open {0}":"Aucune application disponible pour ouvrir {0}",
|
||||
"No post found: {0}":"Aucun texte trouvé: {0}",
|
||||
"No":"Non",
|
||||
"OS":"OS",
|
||||
"Ok":"Ok",
|
||||
"Only {0} could be selected":"Only {0} could be selected",
|
||||
"Open file":"Open file",
|
||||
"Open with":"Open with",
|
||||
"Open":"Open",
|
||||
"Ok":"Oui",
|
||||
"Only {0} could be selected":"Seul {0} peut être sélectionné",
|
||||
"Open file":"Ouvrir un fichier",
|
||||
"Open with":"Ouvrir avec",
|
||||
"Open":"Ouvrir",
|
||||
"Options":"Options",
|
||||
"Package uninstalled":"Package uninstalled",
|
||||
"Parent can not be the category itself":"Parent can not be the category itself",
|
||||
"Paste":"Paste",
|
||||
"Package uninstalled":"Package désinstallé",
|
||||
"Parent can not be the category itself":"Parent ne peut pas être la catégorie elle-même",
|
||||
"Paste":"Coller",
|
||||
"Phone":"Phone",
|
||||
"Pid":"Pid",
|
||||
"Please enter category name":"Please enter category name",
|
||||
"Please enter tags":"Please enter tags",
|
||||
"Please insert a title in the text: beginning with heading":"Please insert a title in the text: beginning with heading",
|
||||
"Please select a category":"Please select a category",
|
||||
"Please select a date":"Please select a date",
|
||||
"Please select a file":"Please select a file",
|
||||
"Please select a parent category":"Please select a parent category",
|
||||
"Please select a section to edit":"Please select a section to edit",
|
||||
"Please select a section to move":"Please select a section to move",
|
||||
"Preview":"Preview",
|
||||
"Properties":"Properties",
|
||||
"Quit without saving ?":"Quit without saving ?",
|
||||
"Quit":"Quit",
|
||||
"Read more":"Read more",
|
||||
"Refresh":"Refresh",
|
||||
"Rename":"Rename",
|
||||
"Repositories":"Repositories",
|
||||
"Resource not found {0}":"Resource not found {0}",
|
||||
"Resource not found: {0}":"Resource not found: {0}",
|
||||
"Row {0}, col {1}, lines: {2}":"Row {0}, col {1}, lines: {2}",
|
||||
"Save as":"Save as",
|
||||
"Save":"Save",
|
||||
"Section list is empty, please add one":"Section list is empty, please add one",
|
||||
"Select image file":"Select image file",
|
||||
"Please enter category name":"Veuillez entrer le nom de la catégorie",
|
||||
"Please enter tags":"Veuillez entrer les tags",
|
||||
"Please insert a title in the text: beginning with heading":"Veuillez insérer un titre dans le texte: en commençant par le heading",
|
||||
"Please select a category":"Veuillez sélectionner une catégorie",
|
||||
"Please select a date":"Veuillez sélectionner une date",
|
||||
"Please select a file":"Veuillez sélectionner un fichier",
|
||||
"Please select a parent category":"Veuillez sélectionner une catégorie parente",
|
||||
"Please select a section to edit":"Veuillez sélectionner une section à modifier",
|
||||
"Please select a section to move":"Veuillez sélectionner une section à déplacer",
|
||||
"Preview":"Aperçu",
|
||||
"Properties":"Propriétés",
|
||||
"Quit without saving ?":"Quitter sans sauvegarder ?",
|
||||
"Quit":"Quitter",
|
||||
"Read more":"Lire la suite",
|
||||
"Refresh":"Rafraîchir",
|
||||
"Rename":"Renommer",
|
||||
"Repositories":"Dépôts",
|
||||
"Resource not found {0}":"Ressource non trouvée {0}",
|
||||
"Resource not found: {0}":"Ressource non trouvée: {0}",
|
||||
"Row {0}, col {1}, lines: {2}":"Range {0}, col {1}, lignes: {2}",
|
||||
"Save as":"Enregistrer sous",
|
||||
"Save":"sauvegarder",
|
||||
"Section list is empty, please add one":"La liste des sections est vide, veuillez en ajouter une",
|
||||
"Select image file":"Sélectionnez le fichier image",
|
||||
"Service":"Service",
|
||||
"Share file":"Share file",
|
||||
"Shared url: {0}":"Shared url: {0}",
|
||||
"Shared":"Shared",
|
||||
"Short biblio":"Short biblio",
|
||||
"Sidebar":"Sidebar",
|
||||
"Subtitle":"Subtitle",
|
||||
"System fail: Cannot init desktop manager":"System fail: Cannot init desktop manager",
|
||||
"System fail: Cannot init login screen":"System fail: Cannot init login screen",
|
||||
"Share file":"Partagez le fichier",
|
||||
"Shared url: {0}":"URL partagée: {0}",
|
||||
"Shared":"partagé",
|
||||
"Short biblio":"Biblio court",
|
||||
"Sidebar":"Barre latérale",
|
||||
"Subtitle":"Sous-titre",
|
||||
"System fail: Cannot init desktop manager":"Échec du système: impossible de démarrer le gestionnaire de bureau",
|
||||
"System fail: Cannot init login screen":"Echec du système: Impossible de se connecter à l'écran de connexion",
|
||||
"Tags":"Tags",
|
||||
"This feature is not implemented yet":"This feature is not implemented yet",
|
||||
"Title or content must not be blank":"Title or content must not be blank",
|
||||
"Title":"Title",
|
||||
"Toggle Full screen":"Toggle Full screen",
|
||||
"Tree view":"Tree view",
|
||||
"This feature is not implemented yet":"Cette fonctionnalité n'est pas encore implémentée",
|
||||
"Title or content must not be blank":"Le titre ou le contenu ne doit pas être vide",
|
||||
"Title":"Titre",
|
||||
"Toggle Full screen":"Basculer en plein écran",
|
||||
"Tree view":"Vue de l'arbre",
|
||||
"Type":"Type",
|
||||
"Uninstall : {0}?":"Uninstall : {0}?",
|
||||
"Uninstall":"Uninstall",
|
||||
"Unknown API setting for {0}":"Unknown API setting for {0}",
|
||||
"Updated: {0}":"Updated: {0}",
|
||||
"Upload":"Upload",
|
||||
"Uninstall : {0}?":"Désinstaller: {0}?",
|
||||
"Uninstall":"Désinstaller",
|
||||
"Unknown API setting for {0}":"Paramètre d'API inconnu pour {0}",
|
||||
"Updated: {0}":"Actualisé: {0}",
|
||||
"Upload":"Télécharger",
|
||||
"Url":"Url",
|
||||
"User abort the authentication":"User abort the authentication",
|
||||
"User data updated":"User data updated",
|
||||
"VDB Unknown condition for delete command":"VDB Unknown condition for delete command",
|
||||
"VFS Cannot encode file: {0}":"VFS Cannot encode file: {0}",
|
||||
"VFS cannot create : {0}":"VFS cannot create : {0}",
|
||||
"VFS cannot delete : {0}":"VFS cannot delete : {0}",
|
||||
"VFS cannot download file : {0}":"VFS cannot download file : {0}",
|
||||
"VFS cannot get meta data for {0}":"VFS cannot get meta data for {0}",
|
||||
"VFS cannot init {0}: {1}":"VFS cannot init {0}: {1}",
|
||||
"VFS cannot move : {0}":"VFS cannot move : {0}",
|
||||
"VFS cannot read : {0}":"VFS cannot read : {0}",
|
||||
"VFS cannot save : {0}":"VFS cannot save : {0}",
|
||||
"VFS cannot write : {0}":"VFS cannot write : {0}",
|
||||
"VFS unknown action: {0}":"VFS unknown action: {0}",
|
||||
"VFS unknown handler: {0}":"VFS unknown handler: {0}",
|
||||
"View":"View",
|
||||
"Would you like to login to {0}?":"Would you like to login to {0}?",
|
||||
"Wrong format: it should be [name] url":"Wrong format: it should be [name] url",
|
||||
"Yes":"Yes",
|
||||
"{0} is not a directory":"{0} is not a directory"
|
||||
"User abort the authentication":"L'utilisateur annule l'authentification",
|
||||
"User data updated":"Données utilisateur mises à jour",
|
||||
"VDB Unknown condition for delete command":"VDB Condition inconnue pour la commande de suppression",
|
||||
"VFS Cannot encode file: {0}":"VFS Impossible de coder le fichier: {0}",
|
||||
"VFS cannot create : {0}":"VFS ne peut pas créer: {0}",
|
||||
"VFS cannot delete : {0}":"VFS ne peut pas supprimer: {0}",
|
||||
"VFS cannot download file : {0}":"VFS ne peut pas télécharger le fichier: {0}",
|
||||
"VFS cannot get meta data for {0}":"VFS ne peut pas obtenir de métadonnées pour {0}",
|
||||
"VFS cannot init {0}: {1}":"VFS ne peut pas init {0}: {1}",
|
||||
"VFS cannot move : {0}":"VFS ne peut pas déplacer: {0}",
|
||||
"VFS cannot read : {0}":"VFS ne peut pas lire: {0}",
|
||||
"VFS cannot save : {0}":"VFS ne peut pas enregistrer: {0}",
|
||||
"VFS cannot write : {0}":"VFS ne peut pas écrire: {0}",
|
||||
"VFS unknown action: {0}":"Action inconnue VFS: {0}",
|
||||
"VFS unknown handler: {0}":"Gestionnaire inconnu VFS: {0}",
|
||||
"View":"Vue",
|
||||
"Would you like to login to {0}?":"Voulez-vous vous connecter à {0}?",
|
||||
"Wrong format: it should be [name] url":"Mauvais format: il devrait être [nom] url",
|
||||
"Yes":"Oui",
|
||||
"{0} is not a directory":"{0} n'est pas un répertoire"
|
||||
|
||||
,
|
||||
"April":"April",
|
||||
"August":"August",
|
||||
"December":"December",
|
||||
"February":"February",
|
||||
"Fri":"Fri",
|
||||
"January":"January",
|
||||
"July":"July",
|
||||
"June":"June",
|
||||
"March":"March",
|
||||
"May":"May",
|
||||
"Mon":"Mon",
|
||||
"November":"November",
|
||||
"October":"October",
|
||||
"Sat":"Sat",
|
||||
"Selected: {0} ({1} bytes)":"Selected: {0} ({1} bytes)",
|
||||
"September":"September",
|
||||
"Size":"Size",
|
||||
"Sun":"Sun",
|
||||
"Thu":"Thu",
|
||||
"Tue":"Tue",
|
||||
"Wed":"Wed"
|
||||
"April":"Avril",
|
||||
"August":"août",
|
||||
"December":"Décembre",
|
||||
"February":"Février",
|
||||
"Fri":"Ven",
|
||||
"January":"Janvier",
|
||||
"July":"Juillet",
|
||||
"June":"Juin",
|
||||
"March":"Mars",
|
||||
"May":"Mai",
|
||||
"Mon":"Lun",
|
||||
"November":"Novembre",
|
||||
"October":"Octobre",
|
||||
"Sat":"Sam",
|
||||
"Selected: {0} ({1} bytes)":"Sélectionné: {0} ({1} octets)",
|
||||
"September":"Septembre",
|
||||
"Size":"Taille",
|
||||
"Sun":"Dim",
|
||||
"Thu":"Jeu",
|
||||
"Tue":"Mar",
|
||||
"Wed":"Mer"
|
||||
|
||||
,
|
||||
"Add application":"Ajouter une application",
|
||||
"Add mount point":"Ajouter un point de montage",
|
||||
"Add service":"Ajouter un service",
|
||||
"Appearance":"Apparence",
|
||||
"Cannot fetch system locales: {0}":"Impossible d'extraire les paramètres régionaux du système: {0}",
|
||||
"Cannot read wallpaper list from {0}":"Impossible de lire la liste des fonds d'écran à partir de {0}",
|
||||
"Cannot save system setting: {0}":"Impossible d'enregistrer le paramètre système: {0}",
|
||||
"Desktop path":"Chemin du bureau",
|
||||
"Edit mount point":"Modifier le point de montage",
|
||||
"Languages":"Langues",
|
||||
"Local packages path":"Chemin d'accès aux packages locaux",
|
||||
"Mount points":"Points de montage",
|
||||
"Path":"Chemin",
|
||||
"Please enter mount point name":"Veuillez entrer le nom du point de montage",
|
||||
"Please select a directory":"Veuillez sélectionner un répertoire",
|
||||
"Please select an entry":"Veuillez sélectionner une entrée",
|
||||
"Remove: {0}?":"Supprimer: {0}?",
|
||||
"Remove":"Supprimer",
|
||||
"Select a directory":"Sélectionnez un répertoire",
|
||||
"Startup applications":"Applications de démarrage",
|
||||
"Startup services":"Services de démarrage",
|
||||
"Startup":"Démarrage",
|
||||
"System locale":"Paramètres régionaux du système",
|
||||
"System setting saved":"Paramètre système enregistré",
|
||||
"Theme":"Thème",
|
||||
"VFS":"VFS",
|
||||
"Wallpaper":"Fond d'écran"
|
||||
}
|
||||
|
0
src/core/languages/gen.sh
Executable file → Normal file
0
src/core/languages/gen.sh
Executable file → Normal file
@ -267,4 +267,55 @@
|
||||
,
|
||||
"Graph editor":"Graph editor",
|
||||
"Render":"Render"
|
||||
|
||||
,
|
||||
"add {0} to zip":"add {0} to zip",
|
||||
"Add files to build target":"Add files to build target",
|
||||
"and unsaved project":"and unsaved project",
|
||||
"Build and Run":"Build and Run",
|
||||
"Build":"Build",
|
||||
"Build done":"Build done",
|
||||
"Build Options":"Build Options",
|
||||
"Build release":"Build release",
|
||||
"Cannot create file: {0}":"Cannot create file: {0}",
|
||||
"Cannot save project: {0}":"Cannot save project: {0}",
|
||||
"Cannot save the zip file {0} : {1}":"Cannot save the zip file {0} : {1}",
|
||||
"Coffees":"Coffees",
|
||||
"Compiled successful":"Compiled successful",
|
||||
"Copied {0} -> {1}":"Copied {0} -> {1}",
|
||||
"Copied files":"Copied files",
|
||||
"Created directory: {0}":"Created directory: {0}",
|
||||
"Created file: {0}":"Created file: {0}",
|
||||
"Css":"Css",
|
||||
"Error when create directory: {0}":"Error when create directory: {0}",
|
||||
"Generated {0}":"Generated {0}",
|
||||
"Hide":"Hide",
|
||||
"Ignore: {0} unsaved files {1}?":"Ignore: {0} unsaved files {1}?",
|
||||
"Ignore unsaved project ?":"Ignore unsaved project ?",
|
||||
"Installing...":"Installing...",
|
||||
"Javascripts":"Javascripts",
|
||||
"Metadata found...":"Metadata found...",
|
||||
"New Project at":"New Project at",
|
||||
"New project":"New project",
|
||||
"Opening {0}":"Opening {0}",
|
||||
"Open project":"Open project",
|
||||
"Open Project":"Open Project",
|
||||
"Output":"Output",
|
||||
"Please select {0} only":"Please select {0} only",
|
||||
"Please select a file/fofler":"Please select a file/fofler",
|
||||
"Preparing for release":"Preparing for release",
|
||||
"ProjectName":"ProjectName",
|
||||
"Project":"Project",
|
||||
"project saved":"project saved",
|
||||
"Running {0}...":"Running {0}...",
|
||||
"Select a file":"Select a file",
|
||||
"Show":"Show",
|
||||
"Uninstall: {0}?":"Uninstall: {0}?",
|
||||
"Unsaved project":"Unsaved project",
|
||||
"Update":"Update",
|
||||
"Verifying {0}":"Verifying {0}",
|
||||
"Version string is in invalid format: {0}":"Version string is in invalid format: {0}",
|
||||
"Welcome to AntOSDK":"Welcome to AntOSDK",
|
||||
"Your application version is older ({0} < {1})":"Your application version is older ({0} < {1})",
|
||||
"zip file generated in release folder":"zip file generated in release folder"
|
||||
}
|
||||
|
@ -263,4 +263,8 @@
|
||||
"Export as":"Export as",
|
||||
"File exported":"File exported",
|
||||
"Syntax error: {0}":"Syntax error: {0}"
|
||||
|
||||
,
|
||||
"Graph editor":"Graph editor",
|
||||
"Render":"Render"
|
||||
}
|
||||
|
@ -25,6 +25,7 @@
|
||||
repeat: "repeat"
|
||||
} unless _OS.setting.appearance.wp
|
||||
_OS.setting.appearance.wps = [] unless _OS.setting.appearance.wps
|
||||
_OS.setting.applications = {} unless _OS.setting.applications
|
||||
_OS.setting.user = conf.user
|
||||
_OS.setting.VFS = conf.VFS if conf.VFS
|
||||
_OS.setting.desktop.path = "home://.desktop" unless _OS.setting.desktop.path
|
||||
|
@ -63,7 +63,7 @@
|
||||
self.root.contextmenuHandler = function(e, m)
|
||||
{
|
||||
if(e.target == self.root) return;
|
||||
var appidx = $(e.target).parent().attr("appindex")
|
||||
var appidx = $(e.target).closest( "afx-button" ).attr("appindex")
|
||||
var app = self.items[appidx].app
|
||||
m.set("items", [
|
||||
{ text: "__(Show)", dataid:"show" },
|
||||
|
@ -1,13 +1,16 @@
|
||||
<afx-button>
|
||||
<button disabled={ enable == "false" } onclick="{ _onbtclick }" ref = "mybtn" >
|
||||
<afx-button >
|
||||
<button class= { btactive: selected } disabled={ enable == false } onclick="{ _onbtclick }" ref = "mybtn" >
|
||||
<afx-label color = {color} icon={icon} iconclass = {iconclass} text = {text} ></afx-label>
|
||||
</button>
|
||||
<script>
|
||||
this.enable = opts.enable
|
||||
opts.enable = opts.enable || "true"
|
||||
this.enable = eval(opts.enable) || false
|
||||
this.icon = opts.icon
|
||||
this.iconclass = opts.iconclass
|
||||
this.color = opts.color
|
||||
this.text = opts.text || ""
|
||||
this.selected = eval(opts.selected) || false
|
||||
this.toggle = eval(opts.toggle) || false
|
||||
var self = this
|
||||
this.onbtclick = opts.onbtclick
|
||||
self.root.set = function(k,v)
|
||||
@ -37,6 +40,8 @@
|
||||
{
|
||||
self.root.observable.trigger("btclick",{id:$(self.root).attr("data-id"),data:self.root})
|
||||
}
|
||||
if(self.toggle)
|
||||
self.root.set("selected",!self.selected)
|
||||
}
|
||||
</script>
|
||||
</afx-button>
|
@ -218,6 +218,9 @@
|
||||
self.root.observable.on("calibrate", function(e){
|
||||
calibre_size()
|
||||
})
|
||||
/*self.root.observable.on("*", function(e){
|
||||
console.log(e)
|
||||
})*/
|
||||
})
|
||||
</script>
|
||||
</afx-file-view>
|
@ -118,11 +118,15 @@
|
||||
{
|
||||
if(opts.context == "true")
|
||||
{
|
||||
if(event.button == 2 || event.originalEvent.button == 2)
|
||||
{
|
||||
return
|
||||
}
|
||||
if(!$(event.target).closest(self.root).length) {
|
||||
$(self.root).hide()
|
||||
$(document).unbind("click",mnhide)
|
||||
}
|
||||
return;
|
||||
return
|
||||
}
|
||||
if(!$(event.target).closest(self.refs.container).length && self.refs.container) {
|
||||
var arr = self.refs.container.length?self.refs.container:[self.refs.container]
|
||||
|
100
src/core/tags/afx-nspinner.tag
Normal file
100
src/core/tags/afx-nspinner.tag
Normal file
@ -0,0 +1,100 @@
|
||||
<afx-nspinner>
|
||||
<input ref = "holder" type="text" value = {value}></input>
|
||||
<ul ref = "spinner">
|
||||
<li class = "incr" ref= "incr" onclick="{ _incr }"> <i></i> </li>
|
||||
<li class = "decr" ref = "decr" onclick="{ _decr }"> <i></i> </li>
|
||||
</ul>
|
||||
<script>
|
||||
|
||||
this.value = eval(opts.value) || 0
|
||||
this.step = Number(opts.step) || 1
|
||||
this.onchange = opts.onchange
|
||||
var self = this
|
||||
this.rid = $(self.root).attr("data-id") || Math.floor(Math.random() * 100000) + 1
|
||||
self.root.set = function(k,v)
|
||||
{
|
||||
if(k == "*")
|
||||
for(var i in v)
|
||||
self[i] = v[i]
|
||||
else
|
||||
self[k] = v
|
||||
self.update()
|
||||
}
|
||||
self.root.get = function(k)
|
||||
{
|
||||
return self[k]
|
||||
}
|
||||
|
||||
self._incr = function(e)
|
||||
{
|
||||
self.value = self.value + self.step;
|
||||
self.update();
|
||||
if(self.onchange) self.onchange(self.value);
|
||||
}
|
||||
|
||||
self.on("mount", function(){
|
||||
self.root.observable = opts.observable || (self.parent && self.parent.root && self.parent.root.observable) || riot.observable()
|
||||
$(self.refs.spinner).css("width", "20px" );
|
||||
var cl = function()
|
||||
{
|
||||
$(self.refs.holder).css("width", $(self.root).width() - 20 + "px" )
|
||||
$(self.refs.holder).css("height", $(self.root).height() + "px" )
|
||||
$(self.refs.spinner)
|
||||
.css("width","20px")
|
||||
.css("height", $(self.root).height() + "px" )
|
||||
|
||||
$(self.refs.incr)
|
||||
.css("height", $(self.root).height()/2 - 2 + "px")
|
||||
.css("position", "relative")
|
||||
$(self.refs.decr).css("height", $(self.root).height()/2 -2 + "px")
|
||||
.css("position", "relative")
|
||||
$(self.refs.spinner).find("li")
|
||||
.css("display","block")
|
||||
.css("text-align", "center")
|
||||
.css("vertical-align", "middle")
|
||||
$(self.refs.spinner).find("i")
|
||||
.css("font-size", "16px")
|
||||
.css("position", "absolute")
|
||||
var fn = function(ie, pos)
|
||||
{
|
||||
var el = $(ie).find("i")
|
||||
el
|
||||
.css(pos,($(ie).height()-el.height()) /2 + "px" )
|
||||
.css("left", ($(ie).width()-el.width())/2 + "px" )
|
||||
}
|
||||
fn(self.refs.decr, "bottom")
|
||||
fn(self.refs.incr, "top")
|
||||
}
|
||||
cl()
|
||||
self.root.observable.on("calibrate", function(){
|
||||
cl()
|
||||
})
|
||||
self.root.observable.on("resize", function(){
|
||||
cl()
|
||||
});
|
||||
$(self.refs.holder).on('keyup', function (e) {
|
||||
if (e.keyCode == 13) {
|
||||
var val = self.refs.holder.value;
|
||||
if(!isNaN(val))
|
||||
{
|
||||
val = eval(val)
|
||||
if(val < 0)
|
||||
val = self.value;
|
||||
self.value = val;
|
||||
}
|
||||
self.refs.holder.value = self.value;
|
||||
if(self.onchange) self.onchange(self.value);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
self._decr = function(e)
|
||||
{
|
||||
if(self.value == 0) return;
|
||||
self.value = self.value - self.step;
|
||||
self.update();
|
||||
if(self.onchange) self.onchange(self.value);
|
||||
}
|
||||
|
||||
</script>
|
||||
</afx-nspinner>
|
@ -69,6 +69,7 @@
|
||||
$(window).on("mouseup", function(e){
|
||||
if(self.onchange) self.onchange(self.value)
|
||||
$(window).unbind("mousemove", null)
|
||||
$(window).unbind("mouseup", null)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
@ -4,9 +4,6 @@
|
||||
var self = this
|
||||
this.closable = opts.closable || false
|
||||
self.ontabselect = opts.ontabselect
|
||||
get_observable(){
|
||||
return self.root.observable
|
||||
}
|
||||
|
||||
self.root.get = function (k) {
|
||||
return self.refs.list.root.get(k)
|
||||
|
0
src/libs/jszip.min.js
vendored
Executable file → Normal file
0
src/libs/jszip.min.js
vendored
Executable file → Normal file
@ -35,7 +35,7 @@ class BuildDialog extends this.OS.GUI.BasicDialog
|
||||
{
|
||||
text: "+",
|
||||
onbtclick: (e) ->
|
||||
d.selectFile ["text/coffeescript"], (f) ->
|
||||
d.selectFile ["text/.*coffeescript"], (f) ->
|
||||
lv.push { text: f }, true if f
|
||||
},
|
||||
{
|
||||
|
@ -130,7 +130,6 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
@tabarea.set "onitemclose", (e) ->
|
||||
it = e.item.item
|
||||
return false unless it
|
||||
me.fileview.set "preventUpdate", true
|
||||
return me.closeTab it unless it.dirty
|
||||
me.openDialog "YesNoDialog", (d) ->
|
||||
return me.closeTab it if d
|
||||
@ -200,7 +199,7 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
"author": "",
|
||||
"email": ""
|
||||
},
|
||||
"version":"0.1a",
|
||||
"version":"0.0.1-a",
|
||||
"category":"Other",
|
||||
"iconclass":"fa fa-adn",
|
||||
"mimes":["none"]
|
||||
@ -263,7 +262,7 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
{
|
||||
path: "#{rpath}/assets/scheme.html",
|
||||
content: """
|
||||
<afx-app-window apptitle="" width="600" height="500" data-id="#{n}">
|
||||
<afx-app-window apptitle="#{n}" width="600" height="500" data-id="#{n}">
|
||||
<afx-hbox ></afx-hbox>
|
||||
</afx-app-window>
|
||||
"""
|
||||
@ -285,16 +284,29 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
me = @
|
||||
me.prjfile = file
|
||||
if(me.tabarea)
|
||||
file.read (d) ->
|
||||
file.read (data) ->
|
||||
me.log "INFO", __("Opening {0}", me.prjfile.path)
|
||||
me.tabarea.set "selected", -1
|
||||
me.tabarea.set "items", []
|
||||
me.currfile = "#{d.root}/README.md".asFileHandler()
|
||||
me.currfile.dirty = false
|
||||
me.chdir d.root if d.root
|
||||
me.prjfile.cache = d
|
||||
me.log "INFO", __("Opening {0}", me.currfile.path)
|
||||
me.open me.currfile
|
||||
fn = (d, dt) ->
|
||||
me.tabarea.set "selected", -1
|
||||
me.tabarea.set "items", []
|
||||
me.currfile = "#{d.root}/README.md".asFileHandler()
|
||||
me.currfile.dirty = dt
|
||||
me.chdir d.root if d.root
|
||||
me.prjfile.cache = d
|
||||
me.log "INFO", __("Opening {0}", me.currfile.path)
|
||||
me.open me.currfile
|
||||
# verify if the path is ok
|
||||
data.root.asFileHandler().onready () ->
|
||||
fn(data, false)
|
||||
, (e) ->
|
||||
# try the current folder of the project file
|
||||
pr = file.parent()
|
||||
me.log "INFO", __("Project root folder not found, try {0}", pr)
|
||||
pr.asFileHandler().onready () ->
|
||||
data.root = pr
|
||||
fn(data, true)
|
||||
, (e) ->
|
||||
me.error __("Cannot find the project root, please modify the project file")
|
||||
,"json"
|
||||
else
|
||||
me.init()
|
||||
@ -302,7 +314,6 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
open: (file) ->
|
||||
#find table
|
||||
i = @findTabByFile file
|
||||
@fileview.set "preventUpdate", true
|
||||
return @tabarea.set "selected", i if i isnt -1
|
||||
return @newtab file if file.path.toString() is "Untitled"
|
||||
me = @
|
||||
@ -391,6 +402,7 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
#return if i is @tabarea.get "selidx"
|
||||
file = (@tabarea.get "items")[i]
|
||||
return unless file
|
||||
@fileview.set "preventUpdate", true
|
||||
@scheme.set "apptitle", file.text.toString()
|
||||
#return if file is @currfile
|
||||
if @currfile isnt file
|
||||
@ -684,7 +696,7 @@ class AntOSDK extends this.OS.GUI.BaseApplication
|
||||
me.systemsetting.system.packages[me.prjfile.cache.name] = v
|
||||
# todo: auto matic refresh menu
|
||||
me._gui.refreshSystemMenu()
|
||||
me._gui.buildSystemMenu()
|
||||
#me._gui.buildSystemMenu()
|
||||
me.log "INFO", __("Running {0}...", me.prjfile.cache.name)
|
||||
me._gui.forceLaunch me.prjfile.cache.name
|
||||
, "json"
|
||||
|
@ -6,7 +6,7 @@
|
||||
"author": "Xuan Sang LE",
|
||||
"email": "xsang.le@gmail.com"
|
||||
},
|
||||
"version":"0.0.1-a",
|
||||
"version":"0.0.5-a",
|
||||
"category":"System",
|
||||
"iconclass":"fa fa-cubes",
|
||||
"mimes":[
|
||||
|
@ -1,10 +1,10 @@
|
||||
coffee_files = dialogs.coffee main.coffee
|
||||
|
||||
jsfiles =
|
||||
jsfiles = katex/katex.js katex/auto-render.js
|
||||
|
||||
cssfiles = main.css
|
||||
cssfiles = main.css katex/katex.css
|
||||
|
||||
copyfiles = scheme.html cvsection.html package.json
|
||||
copyfiles = scheme.html cvsection.html package.json katex/fonts api/sendmail.lua sendmail.html
|
||||
|
||||
|
||||
PKG_NAME=Blogger
|
||||
|
17
src/packages/Blogger/api/sendmail.lua
Normal file
17
src/packages/Blogger/api/sendmail.lua
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
local data = ...
|
||||
print(data.content)
|
||||
for k,v in pairs(data.to) do
|
||||
print("sent to:"..v)
|
||||
local to = v
|
||||
local from = "From: xsang.le@gmail.com\n"
|
||||
local suject = "Subject: " .. data.title .. "\n"
|
||||
local content = data.content.."\n"
|
||||
local cmd = 'echo "' .. utils.escape(from .. suject .. content) .. '"| sendmail ' .. to
|
||||
--print(cmd)
|
||||
local r = os.execute(cmd)
|
||||
if not r then
|
||||
print("Cannot send mail to: "..v)
|
||||
end
|
||||
end
|
||||
return "Email sent"
|
@ -25,6 +25,7 @@
|
||||
</div>
|
||||
<afx-hbox data-height = "35">
|
||||
<div></div>
|
||||
<afx-switch data 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-hbox>
|
||||
</afx-vbox>
|
||||
|
@ -84,6 +84,7 @@ class BloggerCVSectionDiaglog extends this.OS.GUI.BaseDialog
|
||||
inputs = me.select "[input-class='user-input']"
|
||||
(($ v).val me.data[v.name] for v in inputs ) if me.data
|
||||
@editor.value me.data.content if me.data and me.data.content
|
||||
(me.find "section-publish").set "swon", (if Number(me.data.publish) then true else false)
|
||||
(@find "bt-cv-sec-save").set "onbtclick", (e) ->
|
||||
data = {}
|
||||
console.log inputs
|
||||
@ -92,6 +93,11 @@ class BloggerCVSectionDiaglog extends this.OS.GUI.BaseDialog
|
||||
return me.notify __("Title or content must not be blank") if data.title is "" and data.content is ""
|
||||
#return me.notify "Content must not be blank" if data.content is ""
|
||||
data.id = me.data.id if me.data and me.data.id
|
||||
if (me.find "section-publish").get "swon"
|
||||
data.publish = 1
|
||||
else
|
||||
data.publish = 0
|
||||
|
||||
me.handler data if me.handler
|
||||
me.quit()
|
||||
me.resizeContent()
|
||||
@ -99,4 +105,72 @@ class BloggerCVSectionDiaglog extends this.OS.GUI.BaseDialog
|
||||
container = @find "editor-container"
|
||||
children = ($ container).children()
|
||||
cheight = ($ container).height() - 30
|
||||
($ children[1]).css("height", cheight + "px")
|
||||
($ children[1]).css("height", cheight + "px")
|
||||
|
||||
# this dialog is for send mail
|
||||
class BloggerSendmailDiaglog extends this.OS.GUI.BaseDialog
|
||||
constructor: () ->
|
||||
super "BloggerCVSectionDiaglog"
|
||||
|
||||
init: () ->
|
||||
@render "#{@path()}/sendmail.html"
|
||||
@subdb = new @.parent._api.DB("subscribers")
|
||||
|
||||
main: () ->
|
||||
# get db
|
||||
me = @
|
||||
@maillinglist = @find "email-list"
|
||||
title = (new RegExp "^#+(.*)\n", "g").exec @data.content
|
||||
(@find "mail-title").value = title[1]
|
||||
content = (@data.content.substring 0, 500) + "..."
|
||||
(@find "contentarea").value = BloggerSendmailDiaglog.template.format @data.id, content, @data.id
|
||||
|
||||
@subdb.find {}, (d) ->
|
||||
return me.error __("Cannot fetch subscribers data: {0}", d.error) if d.error
|
||||
for v in d.result
|
||||
v.text = v.name
|
||||
v.switch = true
|
||||
v.checked = true
|
||||
|
||||
me.maillinglist.set "items", d.result
|
||||
|
||||
(@find "bt-sendmail").set "onbtclick", (e) ->
|
||||
items = me.maillinglist.get "items"
|
||||
emails = []
|
||||
emails.push v.email for v in items when v.checked is true
|
||||
return me.notify __("No email selected") if emails.length is 0
|
||||
# send the email
|
||||
data =
|
||||
path: "#{me.parent.path()}/sendmail.lua",
|
||||
parameters:
|
||||
to: emails,
|
||||
title: (me.find "mail-title").value,
|
||||
content: (me.find "contentarea").value
|
||||
me._api.post "system/apigateway", data, (d) ->
|
||||
me.notify "Sendmail: {0}".format d
|
||||
me.quit()
|
||||
, (e, s) ->
|
||||
console.log e
|
||||
me.error __("Error sending mail: {0}", e.responseText)
|
||||
|
||||
|
||||
|
||||
BloggerSendmailDiaglog.template = """
|
||||
Hello,
|
||||
|
||||
Xuan Sang LE has just published a new post on his blog: https://blog.lxsang.me/post/id/{0}
|
||||
|
||||
==========
|
||||
{1}
|
||||
==========
|
||||
|
||||
|
||||
Read the full article via:
|
||||
https://blog.lxsang.me/post/id/{2}
|
||||
|
||||
You receive this email because you have been subscribed to his blog.
|
||||
|
||||
Have a nice day,
|
||||
|
||||
Sent from Blogger, an AntOS application
|
||||
"""
|
790
src/packages/Blogger/katex/auto-render.js
Normal file
790
src/packages/Blogger/katex/auto-render.js
Normal file
@ -0,0 +1,790 @@
|
||||
(function webpackUniversalModuleDefinition(root, factory) {
|
||||
if(typeof exports === 'object' && typeof module === 'object')
|
||||
module.exports = factory(require("katex"));
|
||||
else if(typeof define === 'function' && define.amd)
|
||||
define(["katex"], factory);
|
||||
else if(typeof exports === 'object')
|
||||
exports["renderMathInElement"] = factory(require("katex"));
|
||||
else
|
||||
root["renderMathInElement"] = factory(root["katex"]);
|
||||
})(this, function(__WEBPACK_EXTERNAL_MODULE_38__) {
|
||||
return /******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, {
|
||||
/******/ configurable: false,
|
||||
/******/ enumerable: true,
|
||||
/******/ get: getter
|
||||
/******/ });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 9);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([
|
||||
/* 0 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
||||
var global = module.exports = typeof window != 'undefined' && window.Math == Math
|
||||
? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
|
||||
if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
|
||||
|
||||
/***/ }),
|
||||
/* 1 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = function(it){
|
||||
return typeof it === 'object' ? it !== null : typeof it === 'function';
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 2 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// Thank's IE8 for his funny defineProperty
|
||||
module.exports = !__webpack_require__(3)(function(){
|
||||
return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
/* 3 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = function(exec){
|
||||
try {
|
||||
return !!exec();
|
||||
} catch(e){
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 4 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
var core = module.exports = {version: '2.4.0'};
|
||||
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
|
||||
|
||||
/***/ }),
|
||||
/* 5 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// to indexed object, toObject with fallback for non-array-like ES3 strings
|
||||
var IObject = __webpack_require__(6)
|
||||
, defined = __webpack_require__(7);
|
||||
module.exports = function(it){
|
||||
return IObject(defined(it));
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 6 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
||||
var cof = __webpack_require__(27);
|
||||
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
|
||||
return cof(it) == 'String' ? it.split('') : Object(it);
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 7 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
// 7.2.1 RequireObjectCoercible(argument)
|
||||
module.exports = function(it){
|
||||
if(it == undefined)throw TypeError("Can't call method on " + it);
|
||||
return it;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 8 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
// 7.1.4 ToInteger
|
||||
var ceil = Math.ceil
|
||||
, floor = Math.floor;
|
||||
module.exports = function(it){
|
||||
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 9 */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_assign__ = __webpack_require__(10);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_assign___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_assign__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_katex__ = __webpack_require__(38);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_katex___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_katex__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__splitAtDelimiters__ = __webpack_require__(39);
|
||||
|
||||
/* eslint no-console:0 */
|
||||
|
||||
|
||||
|
||||
|
||||
var splitWithDelimiters = function splitWithDelimiters(text, delimiters) {
|
||||
var data = [{ type: "text", data: text }];
|
||||
for (var i = 0; i < delimiters.length; i++) {
|
||||
var delimiter = delimiters[i];
|
||||
data = Object(__WEBPACK_IMPORTED_MODULE_2__splitAtDelimiters__["a" /* default */])(data, delimiter.left, delimiter.right, delimiter.display || false);
|
||||
}
|
||||
return data;
|
||||
};
|
||||
|
||||
/* Note: optionsCopy is mutated by this method. If it is ever exposed in the
|
||||
* API, we should copy it before mutating.
|
||||
*/
|
||||
var renderMathInText = function renderMathInText(text, optionsCopy) {
|
||||
var data = splitWithDelimiters(text, optionsCopy.delimiters);
|
||||
var fragment = document.createDocumentFragment();
|
||||
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
if (data[i].type === "text") {
|
||||
fragment.appendChild(document.createTextNode(data[i].data));
|
||||
} else {
|
||||
var span = document.createElement("span");
|
||||
var math = data[i].data;
|
||||
// Override any display mode defined in the settings with that
|
||||
// defined by the text itself
|
||||
optionsCopy.displayMode = data[i].display;
|
||||
try {
|
||||
__WEBPACK_IMPORTED_MODULE_1_katex___default.a.render(math, span, optionsCopy);
|
||||
} catch (e) {
|
||||
if (!(e instanceof __WEBPACK_IMPORTED_MODULE_1_katex___default.a.ParseError)) {
|
||||
throw e;
|
||||
}
|
||||
optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e);
|
||||
fragment.appendChild(document.createTextNode(data[i].rawData));
|
||||
continue;
|
||||
}
|
||||
fragment.appendChild(span);
|
||||
}
|
||||
}
|
||||
|
||||
return fragment;
|
||||
};
|
||||
|
||||
var renderElem = function renderElem(elem, optionsCopy) {
|
||||
for (var i = 0; i < elem.childNodes.length; i++) {
|
||||
var childNode = elem.childNodes[i];
|
||||
if (childNode.nodeType === 3) {
|
||||
// Text node
|
||||
var frag = renderMathInText(childNode.textContent, optionsCopy);
|
||||
i += frag.childNodes.length - 1;
|
||||
elem.replaceChild(frag, childNode);
|
||||
} else if (childNode.nodeType === 1) {
|
||||
// Element node
|
||||
var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1;
|
||||
|
||||
if (shouldRender) {
|
||||
renderElem(childNode, optionsCopy);
|
||||
}
|
||||
}
|
||||
// Otherwise, it's something else, and ignore it.
|
||||
}
|
||||
};
|
||||
|
||||
var defaultAutoRenderOptions = {
|
||||
delimiters: [{ left: "$$", right: "$$", display: true }, { left: "\\[", right: "\\]", display: true }, { left: "\\(", right: "\\)", display: false }],
|
||||
|
||||
ignoredTags: ["script", "noscript", "style", "textarea", "pre", "code"],
|
||||
|
||||
errorCallback: function errorCallback(msg, err) {
|
||||
console.error(msg, err);
|
||||
}
|
||||
};
|
||||
|
||||
var renderMathInElement = function renderMathInElement(elem, options) {
|
||||
if (!elem) {
|
||||
throw new Error("No element provided to render");
|
||||
}
|
||||
|
||||
var optionsCopy = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_assign___default()({}, defaultAutoRenderOptions, options);
|
||||
renderElem(elem, optionsCopy);
|
||||
};
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = (renderMathInElement);
|
||||
|
||||
/***/ }),
|
||||
/* 10 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = { "default": __webpack_require__(11), __esModule: true };
|
||||
|
||||
/***/ }),
|
||||
/* 11 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
__webpack_require__(12);
|
||||
module.exports = __webpack_require__(4).Object.assign;
|
||||
|
||||
/***/ }),
|
||||
/* 12 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// 19.1.3.1 Object.assign(target, source)
|
||||
var $export = __webpack_require__(13);
|
||||
|
||||
$export($export.S + $export.F, 'Object', {assign: __webpack_require__(23)});
|
||||
|
||||
/***/ }),
|
||||
/* 13 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var global = __webpack_require__(0)
|
||||
, core = __webpack_require__(4)
|
||||
, ctx = __webpack_require__(14)
|
||||
, hide = __webpack_require__(16)
|
||||
, PROTOTYPE = 'prototype';
|
||||
|
||||
var $export = function(type, name, source){
|
||||
var IS_FORCED = type & $export.F
|
||||
, IS_GLOBAL = type & $export.G
|
||||
, IS_STATIC = type & $export.S
|
||||
, IS_PROTO = type & $export.P
|
||||
, IS_BIND = type & $export.B
|
||||
, IS_WRAP = type & $export.W
|
||||
, exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
|
||||
, expProto = exports[PROTOTYPE]
|
||||
, target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
|
||||
, key, own, out;
|
||||
if(IS_GLOBAL)source = name;
|
||||
for(key in source){
|
||||
// contains in native
|
||||
own = !IS_FORCED && target && target[key] !== undefined;
|
||||
if(own && key in exports)continue;
|
||||
// export native or passed
|
||||
out = own ? target[key] : source[key];
|
||||
// prevent global pollution for namespaces
|
||||
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
|
||||
// bind timers to global for call from export context
|
||||
: IS_BIND && own ? ctx(out, global)
|
||||
// wrap global constructors for prevent change them in library
|
||||
: IS_WRAP && target[key] == out ? (function(C){
|
||||
var F = function(a, b, c){
|
||||
if(this instanceof C){
|
||||
switch(arguments.length){
|
||||
case 0: return new C;
|
||||
case 1: return new C(a);
|
||||
case 2: return new C(a, b);
|
||||
} return new C(a, b, c);
|
||||
} return C.apply(this, arguments);
|
||||
};
|
||||
F[PROTOTYPE] = C[PROTOTYPE];
|
||||
return F;
|
||||
// make static versions for prototype methods
|
||||
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
|
||||
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
|
||||
if(IS_PROTO){
|
||||
(exports.virtual || (exports.virtual = {}))[key] = out;
|
||||
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
|
||||
if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);
|
||||
}
|
||||
}
|
||||
};
|
||||
// type bitmap
|
||||
$export.F = 1; // forced
|
||||
$export.G = 2; // global
|
||||
$export.S = 4; // static
|
||||
$export.P = 8; // proto
|
||||
$export.B = 16; // bind
|
||||
$export.W = 32; // wrap
|
||||
$export.U = 64; // safe
|
||||
$export.R = 128; // real proto method for `library`
|
||||
module.exports = $export;
|
||||
|
||||
/***/ }),
|
||||
/* 14 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// optional / simple context binding
|
||||
var aFunction = __webpack_require__(15);
|
||||
module.exports = function(fn, that, length){
|
||||
aFunction(fn);
|
||||
if(that === undefined)return fn;
|
||||
switch(length){
|
||||
case 1: return function(a){
|
||||
return fn.call(that, a);
|
||||
};
|
||||
case 2: return function(a, b){
|
||||
return fn.call(that, a, b);
|
||||
};
|
||||
case 3: return function(a, b, c){
|
||||
return fn.call(that, a, b, c);
|
||||
};
|
||||
}
|
||||
return function(/* ...args */){
|
||||
return fn.apply(that, arguments);
|
||||
};
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 15 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = function(it){
|
||||
if(typeof it != 'function')throw TypeError(it + ' is not a function!');
|
||||
return it;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 16 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var dP = __webpack_require__(17)
|
||||
, createDesc = __webpack_require__(22);
|
||||
module.exports = __webpack_require__(2) ? function(object, key, value){
|
||||
return dP.f(object, key, createDesc(1, value));
|
||||
} : function(object, key, value){
|
||||
object[key] = value;
|
||||
return object;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 17 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var anObject = __webpack_require__(18)
|
||||
, IE8_DOM_DEFINE = __webpack_require__(19)
|
||||
, toPrimitive = __webpack_require__(21)
|
||||
, dP = Object.defineProperty;
|
||||
|
||||
exports.f = __webpack_require__(2) ? Object.defineProperty : function defineProperty(O, P, Attributes){
|
||||
anObject(O);
|
||||
P = toPrimitive(P, true);
|
||||
anObject(Attributes);
|
||||
if(IE8_DOM_DEFINE)try {
|
||||
return dP(O, P, Attributes);
|
||||
} catch(e){ /* empty */ }
|
||||
if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
|
||||
if('value' in Attributes)O[P] = Attributes.value;
|
||||
return O;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 18 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var isObject = __webpack_require__(1);
|
||||
module.exports = function(it){
|
||||
if(!isObject(it))throw TypeError(it + ' is not an object!');
|
||||
return it;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 19 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = !__webpack_require__(2) && !__webpack_require__(3)(function(){
|
||||
return Object.defineProperty(__webpack_require__(20)('div'), 'a', {get: function(){ return 7; }}).a != 7;
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
/* 20 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var isObject = __webpack_require__(1)
|
||||
, document = __webpack_require__(0).document
|
||||
// in old IE typeof document.createElement is 'object'
|
||||
, is = isObject(document) && isObject(document.createElement);
|
||||
module.exports = function(it){
|
||||
return is ? document.createElement(it) : {};
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 21 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// 7.1.1 ToPrimitive(input [, PreferredType])
|
||||
var isObject = __webpack_require__(1);
|
||||
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
||||
// and the second argument - flag - preferred type is a string
|
||||
module.exports = function(it, S){
|
||||
if(!isObject(it))return it;
|
||||
var fn, val;
|
||||
if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
|
||||
if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
|
||||
if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
|
||||
throw TypeError("Can't convert object to primitive value");
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 22 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = function(bitmap, value){
|
||||
return {
|
||||
enumerable : !(bitmap & 1),
|
||||
configurable: !(bitmap & 2),
|
||||
writable : !(bitmap & 4),
|
||||
value : value
|
||||
};
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 23 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
// 19.1.2.1 Object.assign(target, source, ...)
|
||||
var getKeys = __webpack_require__(24)
|
||||
, gOPS = __webpack_require__(35)
|
||||
, pIE = __webpack_require__(36)
|
||||
, toObject = __webpack_require__(37)
|
||||
, IObject = __webpack_require__(6)
|
||||
, $assign = Object.assign;
|
||||
|
||||
// should work with symbols and should have deterministic property order (V8 bug)
|
||||
module.exports = !$assign || __webpack_require__(3)(function(){
|
||||
var A = {}
|
||||
, B = {}
|
||||
, S = Symbol()
|
||||
, K = 'abcdefghijklmnopqrst';
|
||||
A[S] = 7;
|
||||
K.split('').forEach(function(k){ B[k] = k; });
|
||||
return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
|
||||
}) ? function assign(target, source){ // eslint-disable-line no-unused-vars
|
||||
var T = toObject(target)
|
||||
, aLen = arguments.length
|
||||
, index = 1
|
||||
, getSymbols = gOPS.f
|
||||
, isEnum = pIE.f;
|
||||
while(aLen > index){
|
||||
var S = IObject(arguments[index++])
|
||||
, keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
|
||||
, length = keys.length
|
||||
, j = 0
|
||||
, key;
|
||||
while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
|
||||
} return T;
|
||||
} : $assign;
|
||||
|
||||
/***/ }),
|
||||
/* 24 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
||||
var $keys = __webpack_require__(25)
|
||||
, enumBugKeys = __webpack_require__(34);
|
||||
|
||||
module.exports = Object.keys || function keys(O){
|
||||
return $keys(O, enumBugKeys);
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 25 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var has = __webpack_require__(26)
|
||||
, toIObject = __webpack_require__(5)
|
||||
, arrayIndexOf = __webpack_require__(28)(false)
|
||||
, IE_PROTO = __webpack_require__(31)('IE_PROTO');
|
||||
|
||||
module.exports = function(object, names){
|
||||
var O = toIObject(object)
|
||||
, i = 0
|
||||
, result = []
|
||||
, key;
|
||||
for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
|
||||
// Don't enum bug & hidden keys
|
||||
while(names.length > i)if(has(O, key = names[i++])){
|
||||
~arrayIndexOf(result, key) || result.push(key);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 26 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
var hasOwnProperty = {}.hasOwnProperty;
|
||||
module.exports = function(it, key){
|
||||
return hasOwnProperty.call(it, key);
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 27 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
var toString = {}.toString;
|
||||
|
||||
module.exports = function(it){
|
||||
return toString.call(it).slice(8, -1);
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 28 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// false -> Array#indexOf
|
||||
// true -> Array#includes
|
||||
var toIObject = __webpack_require__(5)
|
||||
, toLength = __webpack_require__(29)
|
||||
, toIndex = __webpack_require__(30);
|
||||
module.exports = function(IS_INCLUDES){
|
||||
return function($this, el, fromIndex){
|
||||
var O = toIObject($this)
|
||||
, length = toLength(O.length)
|
||||
, index = toIndex(fromIndex, length)
|
||||
, value;
|
||||
// Array#includes uses SameValueZero equality algorithm
|
||||
if(IS_INCLUDES && el != el)while(length > index){
|
||||
value = O[index++];
|
||||
if(value != value)return true;
|
||||
// Array#toIndex ignores holes, Array#includes - not
|
||||
} else for(;length > index; index++)if(IS_INCLUDES || index in O){
|
||||
if(O[index] === el)return IS_INCLUDES || index || 0;
|
||||
} return !IS_INCLUDES && -1;
|
||||
};
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 29 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// 7.1.15 ToLength
|
||||
var toInteger = __webpack_require__(8)
|
||||
, min = Math.min;
|
||||
module.exports = function(it){
|
||||
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 30 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var toInteger = __webpack_require__(8)
|
||||
, max = Math.max
|
||||
, min = Math.min;
|
||||
module.exports = function(index, length){
|
||||
index = toInteger(index);
|
||||
return index < 0 ? max(index + length, 0) : min(index, length);
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 31 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var shared = __webpack_require__(32)('keys')
|
||||
, uid = __webpack_require__(33);
|
||||
module.exports = function(key){
|
||||
return shared[key] || (shared[key] = uid(key));
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 32 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
var global = __webpack_require__(0)
|
||||
, SHARED = '__core-js_shared__'
|
||||
, store = global[SHARED] || (global[SHARED] = {});
|
||||
module.exports = function(key){
|
||||
return store[key] || (store[key] = {});
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 33 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
var id = 0
|
||||
, px = Math.random();
|
||||
module.exports = function(key){
|
||||
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 34 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
// IE 8- don't enum bug keys
|
||||
module.exports = (
|
||||
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
|
||||
).split(',');
|
||||
|
||||
/***/ }),
|
||||
/* 35 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
exports.f = Object.getOwnPropertySymbols;
|
||||
|
||||
/***/ }),
|
||||
/* 36 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
exports.f = {}.propertyIsEnumerable;
|
||||
|
||||
/***/ }),
|
||||
/* 37 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
// 7.1.13 ToObject(argument)
|
||||
var defined = __webpack_require__(7);
|
||||
module.exports = function(it){
|
||||
return Object(defined(it));
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
/* 38 */
|
||||
/***/ (function(module, exports) {
|
||||
|
||||
module.exports = __WEBPACK_EXTERNAL_MODULE_38__;
|
||||
|
||||
/***/ }),
|
||||
/* 39 */
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
/* eslint no-constant-condition:0 */
|
||||
var findEndOfMath = function findEndOfMath(delimiter, text, startIndex) {
|
||||
// Adapted from
|
||||
// https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx
|
||||
var index = startIndex;
|
||||
var braceLevel = 0;
|
||||
|
||||
var delimLength = delimiter.length;
|
||||
|
||||
while (index < text.length) {
|
||||
var character = text[index];
|
||||
|
||||
if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) {
|
||||
return index;
|
||||
} else if (character === "\\") {
|
||||
index++;
|
||||
} else if (character === "{") {
|
||||
braceLevel++;
|
||||
} else if (character === "}") {
|
||||
braceLevel--;
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
return -1;
|
||||
};
|
||||
|
||||
var splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) {
|
||||
var finalData = [];
|
||||
|
||||
for (var i = 0; i < startData.length; i++) {
|
||||
if (startData[i].type === "text") {
|
||||
var text = startData[i].data;
|
||||
|
||||
var lookingForLeft = true;
|
||||
var currIndex = 0;
|
||||
var nextIndex = void 0;
|
||||
|
||||
nextIndex = text.indexOf(leftDelim);
|
||||
if (nextIndex !== -1) {
|
||||
currIndex = nextIndex;
|
||||
finalData.push({
|
||||
type: "text",
|
||||
data: text.slice(0, currIndex)
|
||||
});
|
||||
lookingForLeft = false;
|
||||
}
|
||||
|
||||
while (true) {
|
||||
if (lookingForLeft) {
|
||||
nextIndex = text.indexOf(leftDelim, currIndex);
|
||||
if (nextIndex === -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
finalData.push({
|
||||
type: "text",
|
||||
data: text.slice(currIndex, nextIndex)
|
||||
});
|
||||
|
||||
currIndex = nextIndex;
|
||||
} else {
|
||||
nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length);
|
||||
if (nextIndex === -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
finalData.push({
|
||||
type: "math",
|
||||
data: text.slice(currIndex + leftDelim.length, nextIndex),
|
||||
rawData: text.slice(currIndex, nextIndex + rightDelim.length),
|
||||
display: display
|
||||
});
|
||||
|
||||
currIndex = nextIndex + rightDelim.length;
|
||||
}
|
||||
|
||||
lookingForLeft = !lookingForLeft;
|
||||
}
|
||||
|
||||
finalData.push({
|
||||
type: "text",
|
||||
data: text.slice(currIndex)
|
||||
});
|
||||
} else {
|
||||
finalData.push(startData[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return finalData;
|
||||
};
|
||||
|
||||
/* harmony default export */ __webpack_exports__["a"] = (splitAtDelimiters);
|
||||
|
||||
/***/ })
|
||||
/******/ ])["default"];
|
||||
});
|
BIN
src/packages/Blogger/katex/fonts/KaTeX_AMS-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_AMS-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_AMS-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_AMS-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_AMS-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_AMS-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Bold.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Bold.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Bold.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Bold.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Bold.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Bold.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Caligraphic-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Bold.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Bold.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Bold.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Bold.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Bold.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Bold.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Fraktur-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Bold.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Bold.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Bold.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Bold.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Bold.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Bold.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-BoldItalic.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-BoldItalic.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-BoldItalic.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-BoldItalic.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-BoldItalic.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Italic.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Italic.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Italic.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Italic.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Italic.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Italic.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Main-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Math-Italic.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Math-Italic.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Math-Italic.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Math-Italic.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Math-Italic.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Math-Italic.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Bold.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Bold.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Bold.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Bold.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Bold.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Bold.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Italic.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Italic.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Italic.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Italic.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Italic.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Italic.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_SansSerif-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Script-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Script-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Script-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Script-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Script-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Script-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size1-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size1-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size1-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size1-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size1-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size1-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size2-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size2-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size2-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size2-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size2-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size2-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size3-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size3-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size3-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size3-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size3-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size3-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size4-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size4-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size4-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size4-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size4-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Size4-Regular.woff2
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Typewriter-Regular.ttf
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Typewriter-Regular.ttf
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Typewriter-Regular.woff
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Typewriter-Regular.woff
Normal file
Binary file not shown.
BIN
src/packages/Blogger/katex/fonts/KaTeX_Typewriter-Regular.woff2
Normal file
BIN
src/packages/Blogger/katex/fonts/KaTeX_Typewriter-Regular.woff2
Normal file
Binary file not shown.
994
src/packages/Blogger/katex/katex.css
Normal file
994
src/packages/Blogger/katex/katex.css
Normal file
@ -0,0 +1,994 @@
|
||||
@font-face {
|
||||
font-family: 'KaTeX_AMS';
|
||||
src: url(fonts/KaTeX_AMS-Regular.woff2) format('woff2'), url(fonts/KaTeX_AMS-Regular.woff) format('woff'), url(fonts/KaTeX_AMS-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Caligraphic';
|
||||
src: url(fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Bold.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Caligraphic';
|
||||
src: url(fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Regular.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Fraktur';
|
||||
src: url(fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Bold.woff) format('woff'), url(fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Fraktur';
|
||||
src: url(fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Regular.woff) format('woff'), url(fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Main';
|
||||
src: url(fonts/KaTeX_Main-Bold.woff2) format('woff2'), url(fonts/KaTeX_Main-Bold.woff) format('woff'), url(fonts/KaTeX_Main-Bold.ttf) format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Main';
|
||||
src: url(fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Main-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Main';
|
||||
src: url(fonts/KaTeX_Main-Italic.woff2) format('woff2'), url(fonts/KaTeX_Main-Italic.woff) format('woff'), url(fonts/KaTeX_Main-Italic.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Main';
|
||||
src: url(fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(fonts/KaTeX_Main-Regular.woff) format('woff'), url(fonts/KaTeX_Main-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Math';
|
||||
src: url(fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(fonts/KaTeX_Math-Italic.woff) format('woff'), url(fonts/KaTeX_Math-Italic.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_SansSerif';
|
||||
src: url(fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Bold.woff) format('woff'), url(fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_SansSerif';
|
||||
src: url(fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Italic.woff) format('woff'), url(fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_SansSerif';
|
||||
src: url(fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Regular.woff) format('woff'), url(fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Script';
|
||||
src: url(fonts/KaTeX_Script-Regular.woff2) format('woff2'), url(fonts/KaTeX_Script-Regular.woff) format('woff'), url(fonts/KaTeX_Script-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Size1';
|
||||
src: url(fonts/KaTeX_Size1-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size1-Regular.woff) format('woff'), url(fonts/KaTeX_Size1-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Size2';
|
||||
src: url(fonts/KaTeX_Size2-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size2-Regular.woff) format('woff'), url(fonts/KaTeX_Size2-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Size3';
|
||||
src: url(fonts/KaTeX_Size3-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size3-Regular.woff) format('woff'), url(fonts/KaTeX_Size3-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Size4';
|
||||
src: url(fonts/KaTeX_Size4-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size4-Regular.woff) format('woff'), url(fonts/KaTeX_Size4-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'KaTeX_Typewriter';
|
||||
src: url(fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(fonts/KaTeX_Typewriter-Regular.woff) format('woff'), url(fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
.katex-display {
|
||||
display: block;
|
||||
margin: 1em 0;
|
||||
text-align: center;
|
||||
}
|
||||
.katex-display > .katex {
|
||||
display: inline-block;
|
||||
text-align: initial;
|
||||
}
|
||||
.katex {
|
||||
font: normal 1.21em KaTeX_Main, Times New Roman, serif;
|
||||
line-height: 1.2;
|
||||
white-space: nowrap;
|
||||
text-indent: 0;
|
||||
text-rendering: auto;
|
||||
}
|
||||
.katex * {
|
||||
-ms-high-contrast-adjust: none !important;
|
||||
}
|
||||
.katex .katex-html {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .katex-mathml {
|
||||
position: absolute;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
padding: 0;
|
||||
border: 0;
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .base {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .strut {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .textbf {
|
||||
font-weight: bold;
|
||||
}
|
||||
.katex .textit {
|
||||
font-style: italic;
|
||||
}
|
||||
.katex .textrm {
|
||||
font-family: KaTeX_Main;
|
||||
}
|
||||
.katex .textsf {
|
||||
font-family: KaTeX_SansSerif;
|
||||
}
|
||||
.katex .texttt {
|
||||
font-family: KaTeX_Typewriter;
|
||||
}
|
||||
.katex .mathit {
|
||||
font-family: KaTeX_Math;
|
||||
font-style: italic;
|
||||
}
|
||||
.katex .mathrm {
|
||||
font-style: normal;
|
||||
}
|
||||
.katex .mathbf {
|
||||
font-family: KaTeX_Main;
|
||||
font-weight: bold;
|
||||
}
|
||||
.katex .boldsymbol {
|
||||
font-family: KaTeX_Math;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
.katex .amsrm {
|
||||
font-family: KaTeX_AMS;
|
||||
}
|
||||
.katex .mathbb {
|
||||
font-family: KaTeX_AMS;
|
||||
}
|
||||
.katex .mathcal {
|
||||
font-family: KaTeX_Caligraphic;
|
||||
}
|
||||
.katex .mathfrak {
|
||||
font-family: KaTeX_Fraktur;
|
||||
}
|
||||
.katex .mathtt {
|
||||
font-family: KaTeX_Typewriter;
|
||||
}
|
||||
.katex .mathscr {
|
||||
font-family: KaTeX_Script;
|
||||
}
|
||||
.katex .mathsf {
|
||||
font-family: KaTeX_SansSerif;
|
||||
}
|
||||
.katex .mainit {
|
||||
font-family: KaTeX_Main;
|
||||
font-style: italic;
|
||||
}
|
||||
.katex .mainrm {
|
||||
font-family: KaTeX_Main;
|
||||
font-style: normal;
|
||||
}
|
||||
.katex .vlist-t {
|
||||
display: inline-table;
|
||||
table-layout: fixed;
|
||||
}
|
||||
.katex .vlist-r {
|
||||
display: table-row;
|
||||
}
|
||||
.katex .vlist {
|
||||
display: table-cell;
|
||||
vertical-align: bottom;
|
||||
position: relative;
|
||||
}
|
||||
.katex .vlist > span {
|
||||
display: block;
|
||||
height: 0;
|
||||
position: relative;
|
||||
}
|
||||
.katex .vlist > span > span {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .vlist > span > .pstrut {
|
||||
overflow: hidden;
|
||||
width: 0;
|
||||
}
|
||||
.katex .vlist-t2 {
|
||||
margin-right: -2px;
|
||||
}
|
||||
.katex .vlist-s {
|
||||
display: table-cell;
|
||||
vertical-align: bottom;
|
||||
font-size: 1px;
|
||||
width: 2px;
|
||||
}
|
||||
.katex .msupsub {
|
||||
text-align: left;
|
||||
}
|
||||
.katex .mfrac > span > span {
|
||||
text-align: center;
|
||||
}
|
||||
.katex .mfrac .frac-line {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
}
|
||||
.katex .mspace {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .mspace.negativethinspace {
|
||||
margin-left: -0.16667em;
|
||||
}
|
||||
.katex .mspace.muspace {
|
||||
width: 0.055556em;
|
||||
}
|
||||
.katex .mspace.thinspace {
|
||||
width: 0.16667em;
|
||||
}
|
||||
.katex .mspace.negativemediumspace {
|
||||
margin-left: -0.22222em;
|
||||
}
|
||||
.katex .mspace.mediumspace {
|
||||
width: 0.22222em;
|
||||
}
|
||||
.katex .mspace.thickspace {
|
||||
width: 0.27778em;
|
||||
}
|
||||
.katex .mspace.sixmuspace {
|
||||
width: 0.333333em;
|
||||
}
|
||||
.katex .mspace.eightmuspace {
|
||||
width: 0.444444em;
|
||||
}
|
||||
.katex .mspace.enspace {
|
||||
width: 0.5em;
|
||||
}
|
||||
.katex .mspace.twelvemuspace {
|
||||
width: 0.666667em;
|
||||
}
|
||||
.katex .mspace.quad {
|
||||
width: 1em;
|
||||
}
|
||||
.katex .mspace.qquad {
|
||||
width: 2em;
|
||||
}
|
||||
.katex .llap,
|
||||
.katex .rlap,
|
||||
.katex .clap {
|
||||
width: 0;
|
||||
position: relative;
|
||||
}
|
||||
.katex .llap > .inner,
|
||||
.katex .rlap > .inner,
|
||||
.katex .clap > .inner {
|
||||
position: absolute;
|
||||
}
|
||||
.katex .llap > .fix,
|
||||
.katex .rlap > .fix,
|
||||
.katex .clap > .fix {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .llap > .inner {
|
||||
right: 0;
|
||||
}
|
||||
.katex .rlap > .inner,
|
||||
.katex .clap > .inner {
|
||||
left: 0;
|
||||
}
|
||||
.katex .clap > .inner > span {
|
||||
margin-left: -50%;
|
||||
margin-right: 50%;
|
||||
}
|
||||
.katex .rule {
|
||||
display: inline-block;
|
||||
border: solid 0;
|
||||
position: relative;
|
||||
}
|
||||
.katex .overline .overline-line,
|
||||
.katex .underline .underline-line {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
}
|
||||
.katex .sqrt > .root {
|
||||
margin-left: 0.27777778em;
|
||||
margin-right: -0.55555556em;
|
||||
}
|
||||
.katex .sizing,
|
||||
.katex .fontsize-ensurer {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .sizing.reset-size1.size1,
|
||||
.katex .fontsize-ensurer.reset-size1.size1 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size2,
|
||||
.katex .fontsize-ensurer.reset-size1.size2 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size3,
|
||||
.katex .fontsize-ensurer.reset-size1.size3 {
|
||||
font-size: 1.4em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size4,
|
||||
.katex .fontsize-ensurer.reset-size1.size4 {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size5,
|
||||
.katex .fontsize-ensurer.reset-size1.size5 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size6,
|
||||
.katex .fontsize-ensurer.reset-size1.size6 {
|
||||
font-size: 2em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size7,
|
||||
.katex .fontsize-ensurer.reset-size1.size7 {
|
||||
font-size: 2.4em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size8,
|
||||
.katex .fontsize-ensurer.reset-size1.size8 {
|
||||
font-size: 2.88em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size9,
|
||||
.katex .fontsize-ensurer.reset-size1.size9 {
|
||||
font-size: 3.456em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size10,
|
||||
.katex .fontsize-ensurer.reset-size1.size10 {
|
||||
font-size: 4.148em;
|
||||
}
|
||||
.katex .sizing.reset-size1.size11,
|
||||
.katex .fontsize-ensurer.reset-size1.size11 {
|
||||
font-size: 4.976em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size1,
|
||||
.katex .fontsize-ensurer.reset-size2.size1 {
|
||||
font-size: 0.83333333em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size2,
|
||||
.katex .fontsize-ensurer.reset-size2.size2 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size3,
|
||||
.katex .fontsize-ensurer.reset-size2.size3 {
|
||||
font-size: 1.16666667em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size4,
|
||||
.katex .fontsize-ensurer.reset-size2.size4 {
|
||||
font-size: 1.33333333em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size5,
|
||||
.katex .fontsize-ensurer.reset-size2.size5 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size6,
|
||||
.katex .fontsize-ensurer.reset-size2.size6 {
|
||||
font-size: 1.66666667em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size7,
|
||||
.katex .fontsize-ensurer.reset-size2.size7 {
|
||||
font-size: 2em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size8,
|
||||
.katex .fontsize-ensurer.reset-size2.size8 {
|
||||
font-size: 2.4em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size9,
|
||||
.katex .fontsize-ensurer.reset-size2.size9 {
|
||||
font-size: 2.88em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size10,
|
||||
.katex .fontsize-ensurer.reset-size2.size10 {
|
||||
font-size: 3.45666667em;
|
||||
}
|
||||
.katex .sizing.reset-size2.size11,
|
||||
.katex .fontsize-ensurer.reset-size2.size11 {
|
||||
font-size: 4.14666667em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size1,
|
||||
.katex .fontsize-ensurer.reset-size3.size1 {
|
||||
font-size: 0.71428571em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size2,
|
||||
.katex .fontsize-ensurer.reset-size3.size2 {
|
||||
font-size: 0.85714286em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size3,
|
||||
.katex .fontsize-ensurer.reset-size3.size3 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size4,
|
||||
.katex .fontsize-ensurer.reset-size3.size4 {
|
||||
font-size: 1.14285714em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size5,
|
||||
.katex .fontsize-ensurer.reset-size3.size5 {
|
||||
font-size: 1.28571429em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size6,
|
||||
.katex .fontsize-ensurer.reset-size3.size6 {
|
||||
font-size: 1.42857143em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size7,
|
||||
.katex .fontsize-ensurer.reset-size3.size7 {
|
||||
font-size: 1.71428571em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size8,
|
||||
.katex .fontsize-ensurer.reset-size3.size8 {
|
||||
font-size: 2.05714286em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size9,
|
||||
.katex .fontsize-ensurer.reset-size3.size9 {
|
||||
font-size: 2.46857143em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size10,
|
||||
.katex .fontsize-ensurer.reset-size3.size10 {
|
||||
font-size: 2.96285714em;
|
||||
}
|
||||
.katex .sizing.reset-size3.size11,
|
||||
.katex .fontsize-ensurer.reset-size3.size11 {
|
||||
font-size: 3.55428571em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size1,
|
||||
.katex .fontsize-ensurer.reset-size4.size1 {
|
||||
font-size: 0.625em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size2,
|
||||
.katex .fontsize-ensurer.reset-size4.size2 {
|
||||
font-size: 0.75em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size3,
|
||||
.katex .fontsize-ensurer.reset-size4.size3 {
|
||||
font-size: 0.875em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size4,
|
||||
.katex .fontsize-ensurer.reset-size4.size4 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size5,
|
||||
.katex .fontsize-ensurer.reset-size4.size5 {
|
||||
font-size: 1.125em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size6,
|
||||
.katex .fontsize-ensurer.reset-size4.size6 {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size7,
|
||||
.katex .fontsize-ensurer.reset-size4.size7 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size8,
|
||||
.katex .fontsize-ensurer.reset-size4.size8 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size9,
|
||||
.katex .fontsize-ensurer.reset-size4.size9 {
|
||||
font-size: 2.16em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size10,
|
||||
.katex .fontsize-ensurer.reset-size4.size10 {
|
||||
font-size: 2.5925em;
|
||||
}
|
||||
.katex .sizing.reset-size4.size11,
|
||||
.katex .fontsize-ensurer.reset-size4.size11 {
|
||||
font-size: 3.11em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size1,
|
||||
.katex .fontsize-ensurer.reset-size5.size1 {
|
||||
font-size: 0.55555556em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size2,
|
||||
.katex .fontsize-ensurer.reset-size5.size2 {
|
||||
font-size: 0.66666667em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size3,
|
||||
.katex .fontsize-ensurer.reset-size5.size3 {
|
||||
font-size: 0.77777778em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size4,
|
||||
.katex .fontsize-ensurer.reset-size5.size4 {
|
||||
font-size: 0.88888889em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size5,
|
||||
.katex .fontsize-ensurer.reset-size5.size5 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size6,
|
||||
.katex .fontsize-ensurer.reset-size5.size6 {
|
||||
font-size: 1.11111111em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size7,
|
||||
.katex .fontsize-ensurer.reset-size5.size7 {
|
||||
font-size: 1.33333333em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size8,
|
||||
.katex .fontsize-ensurer.reset-size5.size8 {
|
||||
font-size: 1.6em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size9,
|
||||
.katex .fontsize-ensurer.reset-size5.size9 {
|
||||
font-size: 1.92em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size10,
|
||||
.katex .fontsize-ensurer.reset-size5.size10 {
|
||||
font-size: 2.30444444em;
|
||||
}
|
||||
.katex .sizing.reset-size5.size11,
|
||||
.katex .fontsize-ensurer.reset-size5.size11 {
|
||||
font-size: 2.76444444em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size1,
|
||||
.katex .fontsize-ensurer.reset-size6.size1 {
|
||||
font-size: 0.5em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size2,
|
||||
.katex .fontsize-ensurer.reset-size6.size2 {
|
||||
font-size: 0.6em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size3,
|
||||
.katex .fontsize-ensurer.reset-size6.size3 {
|
||||
font-size: 0.7em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size4,
|
||||
.katex .fontsize-ensurer.reset-size6.size4 {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size5,
|
||||
.katex .fontsize-ensurer.reset-size6.size5 {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size6,
|
||||
.katex .fontsize-ensurer.reset-size6.size6 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size7,
|
||||
.katex .fontsize-ensurer.reset-size6.size7 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size8,
|
||||
.katex .fontsize-ensurer.reset-size6.size8 {
|
||||
font-size: 1.44em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size9,
|
||||
.katex .fontsize-ensurer.reset-size6.size9 {
|
||||
font-size: 1.728em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size10,
|
||||
.katex .fontsize-ensurer.reset-size6.size10 {
|
||||
font-size: 2.074em;
|
||||
}
|
||||
.katex .sizing.reset-size6.size11,
|
||||
.katex .fontsize-ensurer.reset-size6.size11 {
|
||||
font-size: 2.488em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size1,
|
||||
.katex .fontsize-ensurer.reset-size7.size1 {
|
||||
font-size: 0.41666667em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size2,
|
||||
.katex .fontsize-ensurer.reset-size7.size2 {
|
||||
font-size: 0.5em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size3,
|
||||
.katex .fontsize-ensurer.reset-size7.size3 {
|
||||
font-size: 0.58333333em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size4,
|
||||
.katex .fontsize-ensurer.reset-size7.size4 {
|
||||
font-size: 0.66666667em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size5,
|
||||
.katex .fontsize-ensurer.reset-size7.size5 {
|
||||
font-size: 0.75em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size6,
|
||||
.katex .fontsize-ensurer.reset-size7.size6 {
|
||||
font-size: 0.83333333em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size7,
|
||||
.katex .fontsize-ensurer.reset-size7.size7 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size8,
|
||||
.katex .fontsize-ensurer.reset-size7.size8 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size9,
|
||||
.katex .fontsize-ensurer.reset-size7.size9 {
|
||||
font-size: 1.44em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size10,
|
||||
.katex .fontsize-ensurer.reset-size7.size10 {
|
||||
font-size: 1.72833333em;
|
||||
}
|
||||
.katex .sizing.reset-size7.size11,
|
||||
.katex .fontsize-ensurer.reset-size7.size11 {
|
||||
font-size: 2.07333333em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size1,
|
||||
.katex .fontsize-ensurer.reset-size8.size1 {
|
||||
font-size: 0.34722222em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size2,
|
||||
.katex .fontsize-ensurer.reset-size8.size2 {
|
||||
font-size: 0.41666667em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size3,
|
||||
.katex .fontsize-ensurer.reset-size8.size3 {
|
||||
font-size: 0.48611111em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size4,
|
||||
.katex .fontsize-ensurer.reset-size8.size4 {
|
||||
font-size: 0.55555556em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size5,
|
||||
.katex .fontsize-ensurer.reset-size8.size5 {
|
||||
font-size: 0.625em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size6,
|
||||
.katex .fontsize-ensurer.reset-size8.size6 {
|
||||
font-size: 0.69444444em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size7,
|
||||
.katex .fontsize-ensurer.reset-size8.size7 {
|
||||
font-size: 0.83333333em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size8,
|
||||
.katex .fontsize-ensurer.reset-size8.size8 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size9,
|
||||
.katex .fontsize-ensurer.reset-size8.size9 {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size10,
|
||||
.katex .fontsize-ensurer.reset-size8.size10 {
|
||||
font-size: 1.44027778em;
|
||||
}
|
||||
.katex .sizing.reset-size8.size11,
|
||||
.katex .fontsize-ensurer.reset-size8.size11 {
|
||||
font-size: 1.72777778em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size1,
|
||||
.katex .fontsize-ensurer.reset-size9.size1 {
|
||||
font-size: 0.28935185em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size2,
|
||||
.katex .fontsize-ensurer.reset-size9.size2 {
|
||||
font-size: 0.34722222em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size3,
|
||||
.katex .fontsize-ensurer.reset-size9.size3 {
|
||||
font-size: 0.40509259em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size4,
|
||||
.katex .fontsize-ensurer.reset-size9.size4 {
|
||||
font-size: 0.46296296em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size5,
|
||||
.katex .fontsize-ensurer.reset-size9.size5 {
|
||||
font-size: 0.52083333em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size6,
|
||||
.katex .fontsize-ensurer.reset-size9.size6 {
|
||||
font-size: 0.5787037em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size7,
|
||||
.katex .fontsize-ensurer.reset-size9.size7 {
|
||||
font-size: 0.69444444em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size8,
|
||||
.katex .fontsize-ensurer.reset-size9.size8 {
|
||||
font-size: 0.83333333em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size9,
|
||||
.katex .fontsize-ensurer.reset-size9.size9 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size10,
|
||||
.katex .fontsize-ensurer.reset-size9.size10 {
|
||||
font-size: 1.20023148em;
|
||||
}
|
||||
.katex .sizing.reset-size9.size11,
|
||||
.katex .fontsize-ensurer.reset-size9.size11 {
|
||||
font-size: 1.43981481em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size1,
|
||||
.katex .fontsize-ensurer.reset-size10.size1 {
|
||||
font-size: 0.24108004em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size2,
|
||||
.katex .fontsize-ensurer.reset-size10.size2 {
|
||||
font-size: 0.28929605em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size3,
|
||||
.katex .fontsize-ensurer.reset-size10.size3 {
|
||||
font-size: 0.33751205em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size4,
|
||||
.katex .fontsize-ensurer.reset-size10.size4 {
|
||||
font-size: 0.38572806em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size5,
|
||||
.katex .fontsize-ensurer.reset-size10.size5 {
|
||||
font-size: 0.43394407em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size6,
|
||||
.katex .fontsize-ensurer.reset-size10.size6 {
|
||||
font-size: 0.48216008em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size7,
|
||||
.katex .fontsize-ensurer.reset-size10.size7 {
|
||||
font-size: 0.57859209em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size8,
|
||||
.katex .fontsize-ensurer.reset-size10.size8 {
|
||||
font-size: 0.69431051em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size9,
|
||||
.katex .fontsize-ensurer.reset-size10.size9 {
|
||||
font-size: 0.83317261em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size10,
|
||||
.katex .fontsize-ensurer.reset-size10.size10 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .sizing.reset-size10.size11,
|
||||
.katex .fontsize-ensurer.reset-size10.size11 {
|
||||
font-size: 1.19961427em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size1,
|
||||
.katex .fontsize-ensurer.reset-size11.size1 {
|
||||
font-size: 0.20096463em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size2,
|
||||
.katex .fontsize-ensurer.reset-size11.size2 {
|
||||
font-size: 0.24115756em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size3,
|
||||
.katex .fontsize-ensurer.reset-size11.size3 {
|
||||
font-size: 0.28135048em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size4,
|
||||
.katex .fontsize-ensurer.reset-size11.size4 {
|
||||
font-size: 0.32154341em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size5,
|
||||
.katex .fontsize-ensurer.reset-size11.size5 {
|
||||
font-size: 0.36173633em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size6,
|
||||
.katex .fontsize-ensurer.reset-size11.size6 {
|
||||
font-size: 0.40192926em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size7,
|
||||
.katex .fontsize-ensurer.reset-size11.size7 {
|
||||
font-size: 0.48231511em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size8,
|
||||
.katex .fontsize-ensurer.reset-size11.size8 {
|
||||
font-size: 0.57877814em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size9,
|
||||
.katex .fontsize-ensurer.reset-size11.size9 {
|
||||
font-size: 0.69453376em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size10,
|
||||
.katex .fontsize-ensurer.reset-size11.size10 {
|
||||
font-size: 0.83360129em;
|
||||
}
|
||||
.katex .sizing.reset-size11.size11,
|
||||
.katex .fontsize-ensurer.reset-size11.size11 {
|
||||
font-size: 1em;
|
||||
}
|
||||
.katex .delimsizing.size1 {
|
||||
font-family: KaTeX_Size1;
|
||||
}
|
||||
.katex .delimsizing.size2 {
|
||||
font-family: KaTeX_Size2;
|
||||
}
|
||||
.katex .delimsizing.size3 {
|
||||
font-family: KaTeX_Size3;
|
||||
}
|
||||
.katex .delimsizing.size4 {
|
||||
font-family: KaTeX_Size4;
|
||||
}
|
||||
.katex .delimsizing.mult .delim-size1 > span {
|
||||
font-family: KaTeX_Size1;
|
||||
}
|
||||
.katex .delimsizing.mult .delim-size4 > span {
|
||||
font-family: KaTeX_Size4;
|
||||
}
|
||||
.katex .nulldelimiter {
|
||||
display: inline-block;
|
||||
width: 0.12em;
|
||||
}
|
||||
.katex .delimcenter {
|
||||
position: relative;
|
||||
}
|
||||
.katex .op-symbol {
|
||||
position: relative;
|
||||
}
|
||||
.katex .op-symbol.small-op {
|
||||
font-family: KaTeX_Size1;
|
||||
}
|
||||
.katex .op-symbol.large-op {
|
||||
font-family: KaTeX_Size2;
|
||||
}
|
||||
.katex .op-limits > .vlist-t {
|
||||
text-align: center;
|
||||
}
|
||||
.katex .accent > .vlist-t {
|
||||
text-align: center;
|
||||
}
|
||||
.katex .accent .accent-body {
|
||||
width: 0;
|
||||
position: relative;
|
||||
}
|
||||
.katex .overlay {
|
||||
display: block;
|
||||
}
|
||||
.katex .mtable .vertical-separator {
|
||||
display: inline-block;
|
||||
margin: 0 -0.125em;
|
||||
width: 0.25em;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.katex .mtable .arraycolsep {
|
||||
display: inline-block;
|
||||
}
|
||||
.katex .mtable .col-align-c > .vlist-t {
|
||||
text-align: center;
|
||||
}
|
||||
.katex .mtable .col-align-l > .vlist-t {
|
||||
text-align: left;
|
||||
}
|
||||
.katex .mtable .col-align-r > .vlist-t {
|
||||
text-align: right;
|
||||
}
|
||||
.katex .svg-align {
|
||||
text-align: left;
|
||||
}
|
||||
.katex svg {
|
||||
display: block;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
fill: currentColor;
|
||||
stroke: currentColor;
|
||||
fill-rule: nonzero;
|
||||
fill-opacity: 1;
|
||||
stroke-width: 1;
|
||||
stroke-linecap: butt;
|
||||
stroke-linejoin: miter;
|
||||
stroke-miterlimit: 4;
|
||||
stroke-dasharray: none;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-opacity: 1;
|
||||
}
|
||||
.katex svg path {
|
||||
stroke: none;
|
||||
}
|
||||
.katex .vertical-separator svg {
|
||||
width: 0.25em;
|
||||
}
|
||||
.katex .stretchy {
|
||||
width: 100%;
|
||||
display: block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .stretchy:before,
|
||||
.katex .stretchy:after {
|
||||
content: "";
|
||||
}
|
||||
.katex .hide-tail {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .halfarrow-left {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 50.2%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .halfarrow-right {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 50.2%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .brace-left {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 25.1%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .brace-center {
|
||||
position: absolute;
|
||||
left: 25%;
|
||||
width: 50%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .brace-right {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
width: 25.1%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.katex .x-arrow-pad {
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
.katex .x-arrow,
|
||||
.katex .mover,
|
||||
.katex .munder {
|
||||
text-align: center;
|
||||
}
|
||||
.katex .boxpad {
|
||||
padding: 0 0.3em 0 0.3em;
|
||||
}
|
||||
.katex .fbox {
|
||||
box-sizing: border-box;
|
||||
border: 0.04em solid black;
|
||||
}
|
||||
.katex .fcolorbox {
|
||||
box-sizing: border-box;
|
||||
border: 0.04em solid;
|
||||
}
|
||||
.katex .cancel-pad {
|
||||
padding: 0 0.2em 0 0.2em;
|
||||
}
|
||||
.katex .mord + .cancel-lap,
|
||||
.katex .mbin + .cancel-lap {
|
||||
margin-left: -0.2em;
|
||||
}
|
||||
.katex .cancel-lap + .mord,
|
||||
.katex .cancel-lap + .mbin,
|
||||
.katex .cancel-lap + .msupsub {
|
||||
margin-left: -0.2em;
|
||||
}
|
||||
.katex .sout {
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 0.08em;
|
||||
}
|
16146
src/packages/Blogger/katex/katex.js
Normal file
16146
src/packages/Blogger/katex/katex.js
Normal file
File diff suppressed because it is too large
Load Diff
@ -127,7 +127,7 @@ class Blogger extends this.OS.GUI.BaseApplication
|
||||
d.cid = Number sec.cid
|
||||
d.start = Number d.start
|
||||
d.end = Number d.end
|
||||
d.publish = Number sec.publish
|
||||
#d.publish = Number sec.publish
|
||||
me.cvsecdb.save d, (r) ->
|
||||
return me.error __("Cannot save section: {0}", r.error) if r.error
|
||||
me.CVSectionByCID Number(sec.cid)
|
||||
@ -181,6 +181,19 @@ class Blogger extends this.OS.GUI.BaseApplication
|
||||
action: (e) ->
|
||||
me.previewOn = !me.previewOn
|
||||
SimpleMDE.togglePreview e
|
||||
#/console.log me.select ".editor-preview editor-preview-active"
|
||||
renderMathInElement me.find "editor-container"
|
||||
},
|
||||
"|",
|
||||
{
|
||||
name: __("Send mail"),
|
||||
className: "fa fa-paper-plane",
|
||||
action: (e) ->
|
||||
sel = me.bloglist.get "selected"
|
||||
return me.error __("No post selected") unless sel
|
||||
me.openDialog new BloggerSendmailDiaglog(), (d) ->
|
||||
console.log "test"
|
||||
, __("Send mail"), { content: me.editor.value(), id: sel.id }
|
||||
}
|
||||
]
|
||||
@bloglist.set "onlistselect", (e) ->
|
||||
@ -320,6 +333,7 @@ class Blogger extends this.OS.GUI.BaseApplication
|
||||
, __("Delete section") ,
|
||||
{ iconclass: "fa fa-question-circle", text: __("Do you really want to delete: {0}?",e.item.item.text) }
|
||||
return false
|
||||
|
||||
el.set "items", items
|
||||
|
||||
# blog
|
||||
|
@ -6,7 +6,7 @@
|
||||
"author": "Xuan Sang LE",
|
||||
"email": "xsang.le@gmail.com"
|
||||
},
|
||||
"version":"0.0.1-a",
|
||||
"version":"0.0.6-a",
|
||||
"category":"Internet",
|
||||
"iconclass":"fa fa-book",
|
||||
"mimes":["none"]
|
||||
|
20
src/packages/Blogger/sendmail.html
Normal file
20
src/packages/Blogger/sendmail.html
Normal file
@ -0,0 +1,20 @@
|
||||
<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" />
|
||||
<textarea name="content" data-id = "contentarea" />
|
||||
<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-hbox>
|
||||
</afx-vbox>
|
||||
<div data-width="5"></div>
|
||||
</afx-hbox>
|
||||
</afx-app-window>
|
@ -25,6 +25,11 @@ class DummyApp extends this.OS.GUI.BaseApplication
|
||||
@on "btclick", (e)->
|
||||
#_GUI.pushService "Budgy"
|
||||
self.openDialog "ColorPickerDialog", (d) -> console.log d
|
||||
self.addMenu()
|
||||
self.systemsetting.system.menu["test"] =
|
||||
text: 'Adding system menu'
|
||||
self._gui.refreshSystemMenu()
|
||||
"self._gui.buildSystemMenu()"
|
||||
@on "resize", (w,h)->
|
||||
console.log "#{self.name}: resize"
|
||||
#@on "listselect", (i)->
|
||||
@ -69,7 +74,7 @@ class DummyApp extends this.OS.GUI.BaseApplication
|
||||
(@find "sw").set "onchange", (e) ->
|
||||
console.log e, ((self.find "sw").get "swon")
|
||||
tree.set "data",tdata
|
||||
|
||||
(@find "spinner").set "onchange", (e) -> console.log e
|
||||
list = @find "mylist"
|
||||
ldata = [
|
||||
{text:"some thing with avery long text"},
|
||||
@ -122,6 +127,28 @@ class DummyApp extends this.OS.GUI.BaseApplication
|
||||
]
|
||||
m.set "items", mdata
|
||||
m.show(e)
|
||||
|
||||
|
||||
@menu_ = [
|
||||
{
|
||||
text: "__(View)",
|
||||
child: [
|
||||
{ text: "__(Refresh)", dataid: "#{@name}-refresh" },
|
||||
{ text: "__(Sidebar)", dataid: "#{@name}-side" },
|
||||
{ text: "__(Navigation bar)", dataid: "#{@name}-nav" },
|
||||
{ text: "__(Hidden files)", dataid: "#{@name}-hidden" },
|
||||
{ text: "__(Type)", child: [
|
||||
{ text: "__(Icon view)", dataid: "#{@name}-icon", type: 'icon' },
|
||||
{ text: "__(List view)", dataid: "#{@name}-list", type: 'list' },
|
||||
{ text: "__(Tree view)", dataid: "#{@name}-tree", type: 'tree' }
|
||||
], onmenuselect: (e) ->
|
||||
console.log e
|
||||
},
|
||||
], onmenuselect: (e) ->console.log e
|
||||
},
|
||||
]
|
||||
menu: () ->
|
||||
@menu_
|
||||
addMenu: () ->
|
||||
@menu_[0].child.push {text:'One more menu'}
|
||||
DummyApp.singleton = false
|
||||
this.OS.register "DummyApp",DummyApp
|
@ -1,7 +1,7 @@
|
||||
.dummyapp-icon {
|
||||
/*.dummyapp-icon {
|
||||
background-image: url("icon.png");
|
||||
background-color: blueviolet;
|
||||
display: block;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
}*/
|
@ -8,7 +8,7 @@
|
||||
"credit": "dedicated to some one here",
|
||||
"licences": "GPLv3"
|
||||
},
|
||||
"version":"0.0.2-a",
|
||||
"version":"0.0.3-a",
|
||||
"category":"System",
|
||||
"icon": "icon.png",
|
||||
"mimes":["none"]
|
||||
|
@ -9,7 +9,9 @@
|
||||
</afx-vbox>
|
||||
<afx-resizer data-width = "5" ></afx-resizer>
|
||||
<afx-vbox>
|
||||
<afx-button data-height="30" text="__(Read more)" iconclass="fa fa-camera-retro fa-lg" id="button"></afx-button>
|
||||
<afx-nspinner value = "10" data-height="50" data-id="spinner"></afx-nspinner>
|
||||
<afx-nspinner value = "10" data-height="30" data-id="spinner"></afx-nspinner>
|
||||
<afx-button data-height="30" toggle = "true" text="__(Read more)" iconclass="fa fa-camera-retro fa-lg" id="button"></afx-button>
|
||||
<afx-switch data-id="sw" enable= true data-height="30"></afx-switch>
|
||||
<afx-calendar-view></afx-calendar-view>
|
||||
<afx-resizer data-height = "5" ></afx-resizer>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user