Skip to content

Commit e89035a

Browse files
committed
Added support for more media file types
1 parent ec6c2b7 commit e89035a

File tree

6 files changed

+68
-14
lines changed

6 files changed

+68
-14
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "obsidian-yesterday",
3-
"version": "1.0.8",
3+
"version": "1.0.9",
44
"description": "Plugin that provides Yesterday journaling support to Obsidian",
55
"main": "main.js",
66
"scripts": {

src/constants.ts

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
export const audioExtensions = [
2+
'flac',
3+
'm4a',
4+
'mp3',
5+
'ogg',
6+
'wav'
7+
]
8+
9+
export const imageExtensions = [
10+
'gif',
11+
'jpg',
12+
'jpeg',
13+
'png',
14+
'webp'
15+
];
16+
17+
export const videoExtensions = [
18+
'avi',
19+
'm4v',
20+
'mkv',
21+
'mov',
22+
'mp4',
23+
'webm'
24+
];
25+
26+
export const mediaExtensions = [
27+
...audioExtensions,
28+
...imageExtensions,
29+
...videoExtensions
30+
];

src/main.ts

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { App, MarkdownRenderer, Notice, Platform, Plugin, PluginSettingTab, Setting, TFile } from 'obsidian';
22
import { YesterdayMedia, ImageModal } from "./media"
33
import { YesterdayDialog } from "./dialogs"
4-
5-
const mediaExtensions = ['jpg', 'jpeg', 'png'];
4+
import { mediaExtensions } from './constants';
65

76
interface YesterdaySettings {
87
colorMarkdownFiles: boolean;
@@ -86,10 +85,6 @@ export default class Yesterday extends Plugin {
8685
this.registerMarkdownPostProcessor((element, context) => {
8786
const elements = Array.from(element.querySelectorAll("p, hr"));
8887

89-
// const paragraphs = elements.map(paragraph => {
90-
91-
// })
92-
9388
elements.forEach((element) => {
9489
let text: string;
9590
if (element.tagName === "HR") {
@@ -98,15 +93,15 @@ export default class Yesterday extends Plugin {
9893
text = (element as HTMLElement).innerText.trim();
9994
}
10095

101-
const isImage = text[0] === "/" && mediaExtensions.some(extension => text.endsWith(extension));
96+
const isMedia = text[0] === "/" && mediaExtensions.some(extension => text.endsWith(extension));
10297
const isComment = text.startsWith("///");
10398
const isDialog = text.startsWith(".") && text.contains(":");
10499
const isDreamStart = text.startsWith("§§§");
105100
const isDreamEnd = text.endsWith("§§§");
106101
const isTodoStart = text.startsWith("++");
107102
const isTodoEnd = text.endsWith("++");
108103

109-
if (isImage) {
104+
if (isMedia) {
110105
context.addChild(new YesterdayMedia((element as HTMLElement), text));
111106
}
112107

@@ -124,7 +119,6 @@ export default class Yesterday extends Plugin {
124119
}
125120

126121
if (this.inDream) {
127-
console.log(text);
128122
let textWithoutMarkers = text.replace(/^§§§|§§§$/g, '').trim();
129123
this.dreamContent += `> ${textWithoutMarkers}\n`;
130124
if (!isDreamEnd) {

src/media.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { MarkdownRenderChild, MarkdownRenderer, App, Modal } from "obsidian";
2+
import { audioExtensions } from './constants';
23

34
/**
45
* Renders markdown images within a specified container element.
@@ -17,9 +18,10 @@ export class YesterdayMedia extends MarkdownRenderChild {
1718
const markdownItems = items.map(YesterdayMedia.createMarkdownImage);
1819

1920
const container = this.containerEl.createDiv();
20-
// if (items.length > 1) {
21-
container.addClass("image-grid");
22-
// }
21+
if (items.every(item => !audioExtensions.some(extension => item.endsWith(extension)))) {
22+
container.addClass("image-grid");
23+
}
24+
2325
MarkdownRenderer.renderMarkdown(markdownItems.join(""), container, null, this);
2426
this.containerEl.replaceWith(container);
2527
}

styles.css

+14-1
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,22 @@
4242
}
4343

4444
/* Hide media files */
45+
.hide-media-files .nav-file-title[data-path$='.avi'],
46+
.hide-media-files .nav-file-title[data-path$='.flac'],
47+
.hide-media-files .nav-file-title[data-path$='.gif'],
4548
.hide-media-files .nav-file-title[data-path$='.jpeg'],
4649
.hide-media-files .nav-file-title[data-path$='.jpg'],
47-
.hide-media-files .nav-file-title[data-path$='.png'] {
50+
.hide-media-files .nav-file-title[data-path$='.m4a'],
51+
.hide-media-files .nav-file-title[data-path$='.m4v'],
52+
.hide-media-files .nav-file-title[data-path$='.mkv'],
53+
.hide-media-files .nav-file-title[data-path$='.mov'],
54+
.hide-media-files .nav-file-title[data-path$='.mp3'],
55+
.hide-media-files .nav-file-title[data-path$='.mp4'],
56+
.hide-media-files .nav-file-title[data-path$='.ogg'],
57+
.hide-media-files .nav-file-title[data-path$='.png'],
58+
.hide-media-files .nav-file-title[data-path$='.wav'],
59+
.hide-media-files .nav-file-title[data-path$='.webm'],
60+
.hide-media-files .nav-file-title[data-path$='.webp'] {
4861
display: none;
4962
}
5063

tag_and_push.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
# Check if a version number was provided
4+
if [ -z "$1" ]; then
5+
echo "Usage: $0 <version_number>"
6+
exit 1
7+
fi
8+
9+
VERSION=$1
10+
11+
# Create a git tag with the provided version number
12+
git tag -a $VERSION -m "$VERSION"
13+
14+
# Push the tag to the remote repository
15+
git push origin $VERSION

0 commit comments

Comments
 (0)