1
1
import { App , MarkdownView , Plugin , MarkdownPostProcessorContext , PluginSettingTab , Setting } from 'obsidian' ;
2
2
3
3
import { Coder } from "./Coder" ;
4
- import { Base64Encoder } from "./Base64" ;
4
+ import { Base64Encoder , Base64Decoder } from "./Base64" ;
5
5
import { Rot13Encoder , Rot13Decoder } from "./Rot13" ;
6
6
7
7
export default class CoderPlugin extends Plugin {
8
8
9
9
// List of coders
10
- coders : Coder [ ] = [ new Base64Encoder ( ) , new Rot13Encoder ( ) , new Rot13Decoder ( ) ] ;
10
+ coders : Coder [ ] = [ new Base64Encoder ( ) , new Base64Decoder ( ) , new Rot13Encoder ( ) , new Rot13Decoder ( ) ] ;
11
11
12
12
async onload ( ) {
13
13
this . registerMarkdownCodeBlockProcessor ( 'transform-text-base64' , this . processTextToBase64 ) ;
14
+ this . registerMarkdownCodeBlockProcessor ( 'transform-base64-text' , this . processBase64ToText ) ;
14
15
this . registerMarkdownCodeBlockProcessor ( 'transform-text-rot13' , this . processTextToRot13 ) ;
15
16
this . registerMarkdownCodeBlockProcessor ( 'transform-rot13-text' , this . processRot13ToText ) ;
16
17
}
@@ -34,6 +35,11 @@ export default class CoderPlugin extends Plugin {
34
35
this . processText ( content , el , coder ) ;
35
36
}
36
37
38
+ processBase64ToText = async ( content : string , el : HTMLElement , ctx : MarkdownPostProcessorContext ) => {
39
+ let coder = this . getCoder ( "base64" , "text" ) ;
40
+ this . processText ( content , el , coder ) ;
41
+ }
42
+
37
43
processTextToRot13 = async ( content : string , el : HTMLElement , ctx : MarkdownPostProcessorContext ) => {
38
44
let coder = this . getCoder ( "text" , "rot13" ) ;
39
45
this . processText ( content , el , coder ) ;
0 commit comments