Comments (6)
Ideally extensions should be compatible with the desktop version as well as the web based version so maybe web workers are more appropriate? I believe you can also use web workers in Electron.
I also like borrowing VS Code's vision. It's encouraging that other applications are able to share extensions with VS Code, like onivim 2.
In terms of distribution, I like how Ulauncher is doing it. You can simply give it a git repository (so GitHub, GitLab, or self hosted git all work well), which doesn't prevent us from having a plugin registry. The plugin registry is another good project for learners (cc @tangjeff0 @itsrainingmani).
from athens.
TODO
- Collect keycodes
- Demonstrate activation of keycodes with devcards (write on-keypress event listeners)
- Use event listeners in components
from athens.
Will re-open when after v1 is complete
from athens.
Related: #291
It contains a sample plugin API of using custom event hooks w/ custom components and slash commands.
Closing that one (^) because we already have this.
from athens.
Agree a lot with @tangjeff0 's vision of building an extension architecture like VS Code. Here's its extension architecture and philosophy for reference: https://vscode-docs.readthedocs.io/en/stable/extensions/our-approach/ It basically has an extension host that is in a seperate worker thread which communicates with the parent thread primarily via events. Because VS Code is a desktop app, its plugin host is in a Node.js thread; but Athens could decide whether to use web workers (directly inside browsers) or build it into our Electron app.
What are your thoughts? @tangjeff0 @jeroenvandijk @itsrainingmani
from athens.
@alaq Great input! Yes, web workers work in Electron as well. I am also thinking about talking to the devs of Obsidian to see how we can build a partially common API so that some plugins could be shared between Athens and Obsidian.
In terms of distribution, I think it's a bit too early to think about a full extension registry, but I do like your idea of using git repositories for extensions. In the relatively short term, we can have a temporary manual "featured" extension registry, while enabling custom extension imports via git repositories or zip files.
from athens.
Related Issues (20)
- Encrypted notes saved on dweb
- New bullet/block in existing list HOT 1
- Potential security issue
- (Personal CRM) Google & LinkedIn Contact Integration
- Crashing the parser
- Slash command menu clicks not working
- clicking the Autocomplete suggesion of an existing page not working
- Self-Hosting Backend docker compose it broken
- Show About information (version, etc.) in the Help screen
- 2.0.0. Regression: No longer works: from Search results, Shift+Enter to open page in sidebar
- API or tooling to make it easy to write scripts to modify database
- Could not import RoamResearch edn graph in Athens v2.0.0 HOT 5
- UI: Difficult to see saving animation HOT 1
- Extra blocks when creating a new daily page
- support TLS for athens workspaces
- Add a CTRL+F search like box for the page I have open.
- how to export the notes in markdown or other format?
- Advice:use “【【】】” to link the page as well
- can't open Athens in safari
- Integrate pull request preview environments
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from athens.