Comments (1)
Two subjects here first. More can be added.
- Thinking about entrypoint and Main
In Main,
start()
is just the main entrypoint. I know the Obsidian sample plugin treats Main similar to how I treat ObsidianIcalPlugin. However I wanted ObsidianIcalPlugin to only deal with the Obsidian integration, and Main to be the entrypoint to the business logic of the plugin.
The question here is to know if creating a new Main dedicated main for the plugin is an overkill. I think it is not really a problem for the moment and with the actual plugin scope. Maybe the problem could belong then to registering to specific events. If you want to add more logic as unload
then you have to call a new function in your main like unstart
or whatever. The problem is then you need to reference all functionnalities where this is already built in the extends Plugin
.
Though, I can understand the will to separate the whole settings management from the plugin logic.
I am not sure either this is a good idea to change that right now. Also new to Obsidian plugins so don't the real standards. We will see by doing I think. We should keep it as is for the moment.
- About some class roles
createTaskFromLine()
is a factory method to generate Tasks from strings. I agree that passing settings around like that is not ideal.
So I think it make sens and not much changes to move this function to TaskFinder directly as it's more his role to extract the information than the Task class itself. Task class should keep to be only a model. The only thing you could add like that in the model is a copy constructor but it's YAGNI right now.
So all you should do right now it some moving this createTaskFromLine
from obsidian-to-ical-plugin.
Related Issues (20)
- recurring export doesn't work HOT 7
- [feature] Distinguish between scheduled tasks and tasks with a deadline HOT 6
- Difficulties with deploying the plugin HOT 11
- [question] Scheduled VS Deadline in GTD workflow HOT 8
- 0 Markdown files found when Obsidian first starts
- Markdown formatting in README is borked
- Add linting at development time
- Add ability to ignore events older than certain time periods
- Ignore SyncThing sync conflict files
- Add option to parse Dataview formatted tasks HOT 4
- (Feature) Unscheduled tasks HOT 17
- (Architecure) Parameters as singleton HOT 2
- (idea) add description in event HOT 3
- Test test test HOT 7
- AP_G HOT 3
- Add script to make versioning easier HOT 1
- Implement rfc 5545 3.1 content lines length limit
- (FR) Make the date adjust after completion HOT 2
- (idea) support task list filtering based on tags HOT 5
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 obsidian-to-ical-plugin.