Skip to content

Commit

Permalink
fix: filename not encoded when create
Browse files Browse the repository at this point in the history
Signed-off-by: SettingDust <[email protected]>
  • Loading branch information
SettingDust committed Dec 2, 2022
1 parent 65e3fc9 commit b853a1d
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 18 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "obsidian-web-clipper",
"packageManager": "[email protected]",
"type": "module",
"version": "1.0.3",
"version": "1.0.4",
"scripts": {
"ng": "ng",
"lint": "cd ./dist && web-ext lint",
Expand Down Expand Up @@ -32,7 +32,7 @@
"@angular/platform-browser-dynamic": "^15.0.1",
"@angular/router": "^15.0.1",
"@availity/resolve-url": "^2.0.3",
"@settingdust/article-extractor": "^0.2.4",
"@settingdust/article-extractor": "^0.3.0",
"@taiga-ui/addon-doc": "^3.10.0",
"@taiga-ui/addon-table": "^3.10.0",
"@taiga-ui/addon-tablebars": "^3.10.0",
Expand Down
3 changes: 2 additions & 1 deletion src/app/article-extractor.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@ import { relativeToAbsolute } from '@availity/resolve-url'
})
export class ArticleExtractorService {
rules = (rules: Rule[]) => {
contentSelectors.clear()
for (const rule of rules) {
for (const pattern of rule.patterns)
if (rule.selector) contentSelectors.set(new URLPattern(pattern), <Rule & { selector: string[] }>rule)
if (rule.selector) contentSelectors.set(pattern, <Rule & { selector: string[] }>rule)
}
console.debug('[article-extractor:content-selectors]', contentSelectors)
}
Expand Down
4 changes: 2 additions & 2 deletions src/app/background/background.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ export class BackgroundComponent {
switchMap((data) =>
templateService.get(data.url).pipe(
switchMap((template) => {
const finalPath = `${path}/${filenamify(data.title)}.md`
console.debug('[obsidian:create:path]', finalPath)
const finalPath = `${encodeURIComponent(path)}/${encodeURIComponent(filenamify(data.title))}.md`
console.debug('[obsidian:create]', finalPath)
return obsidianService.create(
finalPath,
data.content ? templateService.render(template, data) : undefined
Expand Down
19 changes: 13 additions & 6 deletions src/app/background/obsidian.service.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core'
import { ExtensionService } from '../extension.service'
import { filter, map, switchMap } from 'rxjs/operators'
import { filter, map, switchMap, tap } from 'rxjs/operators'
import { Options, OptionService } from '../option.service'
import { catchError, merge, Observable, throwError } from 'rxjs'
import { HttpClient } from '@angular/common/http'
Expand All @@ -17,24 +17,31 @@ export class ObsidianService {
private options: OptionService,
private httpClient: HttpClient
) {
merge(options.get('api'), options.onChange.pipe(map((it) => it.api))).subscribe((it) => (this.api = it))
merge(options.get('api'), options.onChange.pipe(map((it) => it.api))).subscribe((it) => {
this.api = it
console.debug(it)
})
}

/**
* Fetch the REST server status
*/
status = () =>
this.request<{ authenticated: boolean }>().pipe(
status = () => {
console.debug('[connecting]', this.api)
return this.request<{ authenticated: boolean }>().pipe(
catchError((error: unknown) => this.open().pipe(() => throwError(() => error)))
)
}

create = (filename: string, content?: string) =>
this.request(`vault/${filename}`, 'put', {
create = (filename: string, content?: string) => {
console.debug('[obsidian:create:encoded]', filename)
return this.request(`vault/${filename}`, 'put', {
headers: {
'Content-Type': 'text/markdown'
},
body: content
})
}

/**
* Open the Obsidian using url scheme
Expand Down
3 changes: 1 addition & 2 deletions src/manifest.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/PrsPrsBK/ffext-manifest-schema/master/ffext.json",
"manifest_version": 2,
"name": "__MSG_extensionName__",
"version": "1.0.3",
"version": "1.0.4",
"description": "__MSG_extensionDescription__",
"permissions": [
"tabs",
Expand Down
10 changes: 5 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2951,9 +2951,9 @@ __metadata:
languageName: node
linkType: hard

"@settingdust/article-extractor@npm:^0.2.4":
version: 0.2.4
resolution: "@settingdust/article-extractor@npm:0.2.4"
"@settingdust/article-extractor@npm:^0.3.0":
version: 0.3.0
resolution: "@settingdust/article-extractor@npm:0.3.0"
dependencies:
"@availity/resolve-url": ^2.0.3
"@microsoft/recognizers-text-date-time": ^1.3.0
Expand All @@ -2977,7 +2977,7 @@ __metadata:
schema-dts: ^1.1.0
ts-deepmerge: ^5.0.0
urlpattern-polyfill: ^6.0.2
checksum: eaca272cca1b943bc127733e7b8d900c4a8362183b996c582f6d8de2baa82cf49f555b4fc4a78b7a253271a1eddffc5dde45e76bcee7ca6a9227d2eb061e5328
checksum: 1ac2e8928fa1d06ff17a2dd729961e7895fc219065648c8b179a39bdb16a46cf24fe69352723ee27bd08590812316495debbd3bce31b0657c8a60da17f215dd0
languageName: node
linkType: hard

Expand Down Expand Up @@ -12075,7 +12075,7 @@ __metadata:
"@angular/platform-browser-dynamic": ^15.0.1
"@angular/router": ^15.0.1
"@availity/resolve-url": ^2.0.3
"@settingdust/article-extractor": ^0.2.4
"@settingdust/article-extractor": ^0.3.0
"@taiga-ui/addon-doc": ^3.10.0
"@taiga-ui/addon-table": ^3.10.0
"@taiga-ui/addon-tablebars": ^3.10.0
Expand Down

0 comments on commit b853a1d

Please sign in to comment.