Ely Office: six offline-first desktop apps in Rust and GPUI
ElyDoc, ElyTable, ElyShow (LibreOfficeKit), ElyPDF (MuPDF), ElyTree (Git), ElyMark (Milkdown and CodeMirror in CEF). ElyMail and ElyAgent follow.
This commit is contained in:
817 files changed
+143101
No files matched your search
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
# Title
|
||||
|
||||
Text with $e^{i\pi} + 1 = 0$ inline and a note.[^1]
|
||||
|
||||
$$I = \int \rho R^{2} dV$$
|
||||
|
||||
- [x] done
|
||||
- [ ] open
|
||||
|
||||
| a | b |
|
||||
| - | - |
|
||||
| 1 | 2 |
|
||||
|
||||
```rust
|
||||
fn main() {}
|
||||
```
|
||||
|
||||
$$
|
||||
\int_0^1 x\,dx
|
||||
$$
|
||||
|
||||
$$
|
||||
\frac{1}{
|
||||
$$
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A --> B
|
||||
```
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A -->
|
||||
```
|
||||
|
||||
[^1]: The note.
|
||||
Vendored
BIN
Binary file not shown.
Vendored
+1
@@ -0,0 +1 @@
|
||||
雷电芽衣 ,zacharyzhang,leidianyayis-Mac-mini.local,08.10.2026 20:49,file:///private/var/folders/g4/sj7njkr93jz0rgmg0b_zqnvr0000gn/T/tmp.mPypHxNqRv/home-ely-doc/Library/Application%20Support/ElyOffice/ely-doc/lok-profile;
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
雷电芽衣 ,zacharyzhang,leidianyayis-Mac-mini.local,08.10.2026 20:50,file:///private/var/folders/g4/sj7njkr93jz0rgmg0b_zqnvr0000gn/T/tmp.rkBzVqQEZC/home-ely-show/Library/Application%20Support/ElyOffice/ely-show/lok-profile;
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
雷电芽衣 ,zacharyzhang,leidianyayis-Mac-mini.local,08.10.2026 20:50,file:///private/var/folders/g4/sj7njkr93jz0rgmg0b_zqnvr0000gn/T/tmp.rkBzVqQEZC/home-ely-table/Library/Application%20Support/ElyOffice/ely-table/lok-profile;
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
|
||||
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
|
||||
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
|
||||
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
|
||||
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
|
||||
office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.presentation">
|
||||
<office:font-face-decls><style:font-face style:name="Nowhere Sans" svg:font-family="'Nowhere Sans'"/></office:font-face-decls>
|
||||
<office:automatic-styles>
|
||||
<style:style style:name="T1" style:family="text"><style:text-properties style:font-name="Nowhere Sans"/></style:style>
|
||||
</office:automatic-styles>
|
||||
<office:body><office:presentation>
|
||||
<draw:page draw:name="One"><draw:frame svg:x="2cm" svg:y="2cm" svg:width="10cm" svg:height="3cm"><draw:text-box><text:p><text:span text:style-name="T1">Lost font</text:span></text:p></draw:text-box></draw:frame></draw:page>
|
||||
<draw:page draw:name="Two"><draw:frame draw:name="Gone" svg:x="2cm" svg:y="2cm" svg:width="6cm" svg:height="4cm"><draw:image xlink:href="file:///nowhere/gone.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame></draw:page>
|
||||
<draw:page draw:name="Three"><draw:frame draw:name="Empty" svg:x="2cm" svg:y="2cm" svg:width="6cm" svg:height="4cm"><draw:object xlink:href="./Object 9" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame></draw:page>
|
||||
<draw:page draw:name="Four"><draw:frame draw:name="Bad" svg:x="2cm" svg:y="2cm" svg:width="6cm" svg:height="4cm"><draw:image xlink:href="broken.png" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame><draw:frame draw:name="Junk" svg:x="9cm" svg:y="2cm" svg:width="6cm" svg:height="4cm"><draw:image><office:binary-data>bm90IGFuIGltYWdlIGF0IGFsbA==</office:binary-data></draw:image></draw:frame></draw:page>
|
||||
<draw:page draw:name="Five"><draw:frame draw:name="Linked" svg:x="2cm" svg:y="2cm" svg:width="6cm" svg:height="4cm"><draw:object xlink:href="linked.odt" xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/></draw:frame></draw:page>
|
||||
</office:presentation></office:body>
|
||||
</office:document>
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
// Outside the content folder; it must never run.
|
||||
window.outsideRan = true;
|
||||
Vendored
+32
@@ -0,0 +1,32 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
body { background: var(--ely-bg); color: var(--ely-fg); margin: 0; }
|
||||
textarea { width: 90%; height: 200px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="marker" style="width: 300px; height: 150px; background: rgb(255, 0, 170)"></div>
|
||||
<textarea id="text" aria-label="Text"></textarea>
|
||||
<script src="../web-outside/evil.js"></script>
|
||||
<script>
|
||||
// The probe asks; the page answers through elyQuery.
|
||||
window.report = (step) => window.elyQuery({
|
||||
request: JSON.stringify({
|
||||
step,
|
||||
value: document.getElementById("text").value,
|
||||
focused: document.activeElement && document.activeElement.id,
|
||||
fg: getComputedStyle(document.documentElement).getPropertyValue("--ely-fg").trim(),
|
||||
ratio: window.devicePixelRatio,
|
||||
outside: Boolean(window.outsideRan),
|
||||
rtc: typeof window.RTCPeerConnection,
|
||||
}),
|
||||
onSuccess: () => {},
|
||||
onFailure: (code, message) => console.error("probe query failed", code, message),
|
||||
});
|
||||
document.getElementById("text").focus();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user