keine Ahnung, updates der letzten paar Monate
This commit is contained in:
parent
e60294b950
commit
11f8caacad
|
@ -0,0 +1,27 @@
|
||||||
|
import { ItemView, WorkspaceLeaf } from "obsidian";
|
||||||
|
|
||||||
|
export const VIEW_TYPE_EXAMPLE = "example-view";
|
||||||
|
|
||||||
|
export class ExampleView extends ItemView {
|
||||||
|
constructor(leaf: WorkspaceLeaf) {
|
||||||
|
super(leaf);
|
||||||
|
}
|
||||||
|
|
||||||
|
getViewType() {
|
||||||
|
return VIEW_TYPE_EXAMPLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
getDisplayText() {
|
||||||
|
return "Example view";
|
||||||
|
}
|
||||||
|
|
||||||
|
async onOpen() {
|
||||||
|
const container = this.containerEl.children[1];
|
||||||
|
container.empty();
|
||||||
|
container.createEl("h4", { text: "Example view" });
|
||||||
|
}
|
||||||
|
|
||||||
|
async onClose() {
|
||||||
|
// Nothing to clean up.
|
||||||
|
}
|
||||||
|
}
|
48
main.ts
48
main.ts
|
@ -1,4 +1,6 @@
|
||||||
import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting } from 'obsidian';
|
import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting, Vault, Workspace, WorkspaceLeaf, parseFrontMatterEntry } from 'obsidian';
|
||||||
|
import { VIEW_TYPE_EXAMPLE, ExampleView } from 'law-view';
|
||||||
|
import { getData } from 'openlegaldataparser';
|
||||||
|
|
||||||
// Remember to rename these classes and interfaces!
|
// Remember to rename these classes and interfaces!
|
||||||
|
|
||||||
|
@ -16,10 +18,17 @@ export default class MyPlugin extends Plugin {
|
||||||
async onload() {
|
async onload() {
|
||||||
await this.loadSettings();
|
await this.loadSettings();
|
||||||
|
|
||||||
|
//register law review view
|
||||||
|
this.registerView(
|
||||||
|
VIEW_TYPE_EXAMPLE,
|
||||||
|
(leaf) => new ExampleView(leaf)
|
||||||
|
);
|
||||||
|
|
||||||
// This creates an icon in the left ribbon.
|
// This creates an icon in the left ribbon.
|
||||||
const ribbonIconEl = this.addRibbonIcon('dice', 'Sample Plugin', (evt: MouseEvent) => {
|
const ribbonIconEl = this.addRibbonIcon('dice', 'Sample Plugin', (evt: MouseEvent) => {
|
||||||
// Called when the user clicks the icon.
|
// Called when the user clicks the icon.
|
||||||
new Notice('This is a notice!');
|
new Notice('This is a not notice!');
|
||||||
|
this.activateView();
|
||||||
});
|
});
|
||||||
// Perform additional things with the ribbon
|
// Perform additional things with the ribbon
|
||||||
ribbonIconEl.addClass('my-plugin-ribbon-class');
|
ribbonIconEl.addClass('my-plugin-ribbon-class');
|
||||||
|
@ -81,6 +90,41 @@ export default class MyPlugin extends Plugin {
|
||||||
onunload() {
|
onunload() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
async activateView() {
|
||||||
|
const { workspace } = this.app;
|
||||||
|
new Notice('Opening view');
|
||||||
|
|
||||||
|
let leaf: WorkspaceLeaf | null = null;
|
||||||
|
const leaves = workspace.getLeavesOfType(VIEW_TYPE_EXAMPLE);
|
||||||
|
|
||||||
|
const paragraphs = this.getFrontMatterMeta();
|
||||||
|
|
||||||
|
if (leaves.length > 0) {
|
||||||
|
// A leaf with our view already exists, use that
|
||||||
|
leaf = leaves[0];
|
||||||
|
} else {
|
||||||
|
// Our view could not be found in the workspace, create a new leaf
|
||||||
|
// in the right sidebar for it
|
||||||
|
leaf = workspace.getRightLeaf(false);
|
||||||
|
await leaf.setViewState({ type: VIEW_TYPE_EXAMPLE, active: true });
|
||||||
|
|
||||||
|
}
|
||||||
|
// "Reveal" the leaf in case it is in a collapsed sidebar
|
||||||
|
workspace.revealLeaf(leaf);
|
||||||
|
}
|
||||||
|
async getFrontMatterMeta(){
|
||||||
|
const { workspace } = this.app;
|
||||||
|
const actFile = workspace.getActiveFile();
|
||||||
|
if (!actFile) return
|
||||||
|
const metadata = app.metadataCache.getFileCache(actFile);
|
||||||
|
if (!metadata) return console.log("no metadata");
|
||||||
|
let returner = metadata.frontmatter;
|
||||||
|
if (returner) {
|
||||||
|
console.log(returner['§']);
|
||||||
|
console.log(await getData(returner['§'][0]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
async loadSettings() {
|
async loadSettings() {
|
||||||
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
|
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"id": "sample-plugin",
|
"id": "obsidian-law-ref",
|
||||||
"name": "Sample Plugin",
|
"name": "Law References",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"minAppVersion": "0.15.0",
|
"minAppVersion": "0.15.0",
|
||||||
"description": "Demonstrates some of the capabilities of the Obsidian API.",
|
"description": "bliblablub",
|
||||||
"author": "Obsidian",
|
"author": "Silas",
|
||||||
"authorUrl": "https://obsidian.md",
|
"authorUrl": "https://obsidian.md",
|
||||||
"fundingUrl": "https://obsidian.md/pricing",
|
"fundingUrl": "https://obsidian.md/pricing",
|
||||||
"isDesktopOnly": false
|
"isDesktopOnly": false
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
// Configure API key authorization: api_key
|
||||||
|
const apiKey = "6e6a95bf6f99b1430ce89239aad0fd41e6159583"
|
||||||
|
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
||||||
|
//api_key.apiKeyPrefix['Authorization'] = "Token"
|
||||||
|
|
||||||
|
var callback = function(error: string, data: string, response: string) {
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
console.log(apiKey);
|
||||||
|
console.error(error);
|
||||||
|
} else {
|
||||||
|
console.log('API called successfully. Returned data: ' + data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export function getData(search: string) {
|
||||||
|
const url = 'https://de.openlegaldata.io/api/laws/search/?format=json'
|
||||||
|
|
||||||
|
return axios.get(`https://cors-anywhere.herokuapp.com/${url}&text=${encodeURIComponent(search)}`, {
|
||||||
|
headers: {
|
||||||
|
Authorization: apiKey
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
var OldpApi = require('oldp-api');
|
||||||
|
|
||||||
|
export const testlaw = OldpApi.LawSearch("1");
|
||||||
|
|
||||||
|
var defaultClient = OldpApi.ApiClient.instance;
|
||||||
|
|
||||||
|
// Configure API key authorization: api_key
|
||||||
|
var api_key = defaultClient.authentications['api_key'];
|
||||||
|
api_key.apiKey = "6e6a95bf6f99b1430ce89239aad0fd41e6159583"
|
||||||
|
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
||||||
|
//api_key.apiKeyPrefix['Authorization'] = "Token"
|
||||||
|
|
||||||
|
var api = new OldpApi.AnnotationLabelsApi()
|
||||||
|
|
||||||
|
var data = new OldpApi.AnnotationLabel(); // {AnnotationLabel}
|
||||||
|
|
||||||
|
|
||||||
|
var callback = function(error, data, response) {
|
||||||
|
if (error) {
|
||||||
|
console.error(error);
|
||||||
|
} else {
|
||||||
|
console.log('API called successfully. Returned data: ' + data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
api.annotationLabelsCreate(data, callback);
|
File diff suppressed because it is too large
Load Diff
|
@ -20,5 +20,9 @@
|
||||||
"obsidian": "latest",
|
"obsidian": "latest",
|
||||||
"tslib": "2.4.0",
|
"tslib": "2.4.0",
|
||||||
"typescript": "4.7.4"
|
"typescript": "4.7.4"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"axios": "^1.7.2",
|
||||||
|
"oldp-api": "^0.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,5 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"**/*.ts"
|
"**/*.ts" ]
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue