zserge / awfice Goto Github PK
View Code? Open in Web Editor NEWThe world smallest office suite
License: MIT License
The world smallest office suite
License: MIT License
I'm using the latest version of Firefox.
When using the rich text editor, I'm not able to use CTRL+B or CTRL+I as they open up Firefox shortcuts.
When using the presentation maker, pressing something like CTRL+ALT+2 simply enters an @
character.
we can a button that can trigger event using html2canvas.js or take screenshot to save paint file in png or jpeg.
The draw app does not support touch
I think it would be nice to have a simple single page with links (icons?) opening the apps in new tabs.
This is so that one won't have to go to the repo, scroll down the readme and then click on the "Try this".
(Yes, I can make this myself, but it makes sense if this page is part of the repo, and updated as new apps are added.)
The indent / header / etc hot keys are nice.
I'd envision this "advanced" functionality:
Thoughts?
TypeError: NetworkError when attempting to fetch resource.
Currently the drawing app does not support touch events. I have added touch support which increased the size from 327 to 542 bytes. Is this something desired? If so assign this issue to me and I can commit it to a new branch.
When I try to save as HTML or MHTML (in Chrome), I get an empty html file (with no content)
Hello i have added some functionality to spreadsheets app and still kept it under 1 kb(841 bytes to be exact).
Update 7:12/04/2021 Size gets smaller, leaves room for improvement
Update 6:06/03/2021 Size gets smaller, leaves room for improvement
Update 5:03/03/2021 I have redesigned the interface, it now have more modern design now, you also can use tab to jump cursor to the next row.
Update 4:03/04/2021 Discovered a bug only this version had, if there is only whitespaces on the cell it shows as 0.Fixed now.
Update 3:03/04/2021 Works on Chrome 89 perfectly, also has been tested on Firefox 78 ESR now.Also works perfectly
Update 2:03/04/2021 I have updated it.It did not only became smaller in size, also comes with very important security update.
Update:02/04/2021 I have remade it again so it is less resource intensive and smaller.
data:text/html;charset=utf-8,<table id=t><script>o=(a,b)=>b=JSON.parse(a);for(I=[],D={},C={},q=_=>I.forEach(e=>{e.innerText=D[e.id]}),i=0;i<151;i++)for(r=t.insertRow(-1),j=0;j<27;j++)c=String.fromCharCode(64+j),d=r.insertCell(-1),d.innerText=i?j?'':i:c,l=t.rows[0].cells[0],l.innerText='๐พ',l.onclick=e=>(k=prompt('๐',JSON.stringify(C)),k&&(C=o(k,C),q())),i*j&&I.push(d.appendChild(((x,f)=>(f.id=x,f.tabIndex=j,f.contentEditable=!0,f.onfocus=e=>f.innerText=C[x]||'',f.onblur=e=>{C[x]=f.innerText,q()},get=_=>{v=C[x];!v?.trim()?v='':v;if('='!=v[0])return isNaN(v)|v==''?v:~~v;with(D)return eval(v.toUpperCase().slice(1))},a={get},Object.defineProperty(D,x,a),f))(c+i,document.createElement`p`)))</script><style>td{box-shadow:0 0 1q}p{cursor:cell;min-width:70}tr:hover{background:beige}:is(tr,td):first-child{background:tan;text-align:center}td:hover{background:peru}
Click Here To Download The Html Version
Bug Fixes(Which original program has):
Added functions:
Functions are planned to be added(not implemented yet):
It is usable now since it can save and load files, doesn't have eval security bug and supports resizing of the tables.
Hope it will help
data:text/html,<body oninput="i.srcdoc=h.value+'<style>'+c.value+'</style><script>'+j.value+'</script>'"><style>textarea,iframe{width:100%;height:50%}body{margin:0}textarea{width:33.33%;font-size:18}</style><textarea placeholder=HTML id=h></textarea><textarea placeholder=CSS id=c></textarea><textarea placeholder=JS id=j></textarea><iframe id=i>
Add functionality to jump cursor to the next row after pressing Enter. Right now, nothing happens, to go to new row, I have manually clicked in the next row and start editing.
The text editor could instead use the <p>
Paragraph tag and be way smaller
data:text/html,<p contenteditable>
is the smallest text editor
I find the idea of awfice really fun, but outside of the proposed code editor, I don't really know what else to add right now.
I've thought about an encrypted p2p messaging tool using WebRTC but it's be hard to correctly "polish" it because of code size, and to have it work without a server manual signalling would be needed (sending the descriptions back and forth manually) which is complicated, and is not exactly practical.
More features could be added to some of tools (like colors and brush size for drawing), but I don't know what the intended scope is for code other than less than keeping the size less than 1kb.
Any feedback would be appreciated.
Is it possible to make a folder of annotated versions of these files? Thanks either way!
The drawing app could be shrunken from 342 Characters to 222 characters if the code was changed to this:
Data url data:text/html,<canvas id=v></canvas><script>with(v.getContext`2d`)v.onpointerdown=e=>(beginPath(),moveTo(e.x,e.y)),v.onpointermove=e=>(lineTo(e.x,e.y),stroke()),v.width=innerWidth,v.height=innerHeight,lineWidth=2</script>
Note: could be even smaller if closing script tag was removed
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.