diff options
-rw-r--r-- | README.md | 7 | ||||
-rw-r--r-- | plugins/libre_redirect/README.md | 4 | ||||
-rw-r--r-- | plugins/readability/README.md | 10 | ||||
-rw-r--r-- | plugins/style/README.md | 34 | ||||
-rwxr-xr-x | plugins/style/recompute_STYLE_N.sh | 8 | ||||
-rw-r--r-- | plugins/style/style.c | 29 | ||||
-rw-r--r-- | plugins/style/style.h | 8 | ||||
-rw-r--r-- | plugins/style/style.js | 26 | ||||
-rw-r--r-- | rose.c | 10 |
9 files changed, 125 insertions, 11 deletions
@@ -18,10 +18,3 @@ Rose is released under own license, which grants the following permissions: - Distribution - Modification - Private use - -### To do - -- [x] Add open in new tab functionality -- [x] Test open in new tab functionality -- [x] Add styles tab -- [ ] Isolate plugins so that they aren't active by default diff --git a/plugins/libre_redirect/README.md b/plugins/libre_redirect/README.md index 01add9c..7b32370 100644 --- a/plugins/libre_redirect/README.md +++ b/plugins/libre_redirect/README.md @@ -6,7 +6,7 @@ To enable it: ## In build.sh -Uncomment this line: +In `build.sh`, uncomment this line: ``` REQS= #./plugins/*/*.c @@ -52,4 +52,4 @@ void redirect_if_annoying(WebKitWebView *view, const char *uri){ break; -```
\ No newline at end of file +``` diff --git a/plugins/readability/README.md b/plugins/readability/README.md index dc9b217..d6c0fe2 100644 --- a/plugins/readability/README.md +++ b/plugins/readability/README.md @@ -5,7 +5,13 @@ Taken from <https://raw.githubusercontent.com/ushnisha/readability-reader-webext ## To enable it -In rose.c uncomment: +In `build.sh`, uncomment this line: + +``` +REQS= #./plugins/*/*.c +``` + +In `rose.c` uncomment: ``` @@ -59,4 +65,4 @@ typedef enum { // { CTRL, KEY(p), prettify }, -```
\ No newline at end of file +``` diff --git a/plugins/style/README.md b/plugins/style/README.md new file mode 100644 index 0000000..0d11c54 --- /dev/null +++ b/plugins/style/README.md @@ -0,0 +1,34 @@ +## Customize css style for individual websites. + +- Replicates: <https://addons.mozilla.org/en-GB/firefox/addon/styl-us/>. +- The template is similar to the readability folder. + +## To enable it + +In `build.sh`, uncomment this line: + +``` +REQS= #./plugins/*/*.c +``` + +In `rose.c`, uncomment: + + +``` +// #include "plugins/style/style.h" + +... + + // Add custom style + /* + char* style_js = malloc(STYLE_N+1); + read_style_js(style_js); + webkit_web_view_run_javascript(notebook_get_webview(notebook), + style_js, + NULL, NULL, NULL); + free(style_js); + */ + +``` + +You will also want to customize the `style.c` file. diff --git a/plugins/style/recompute_STYLE_N.sh b/plugins/style/recompute_STYLE_N.sh new file mode 100755 index 0000000..906aad8 --- /dev/null +++ b/plugins/style/recompute_STYLE_N.sh @@ -0,0 +1,8 @@ +#!/bin/bash +function sedr(){ + find ./ -type f -exec sed -i -e "$1" {} \; +} ## e.g., sedr "s/target/replacement/g" + +STYLE_N=$(wc -c style.js | cut -d " " -f 1) +sedr "s/^#define STYLE_N .*/#define STYLE_N $STYLE_N + 1/g" + diff --git a/plugins/style/style.c b/plugins/style/style.c new file mode 100644 index 0000000..dc2da8a --- /dev/null +++ b/plugins/style/style.c @@ -0,0 +1,29 @@ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#define STYLE_N 794 + 1 + +void read_style_js(char* string){ + FILE *fp=fopen("/home/loki/Documents/core/software/fresh/C/rose-browser/rose-bud-personal/plugins/style/style.js", "r"); + if (!fp) { // fp is NULL, fopen failed + fprintf(stderr, "Failed to open file\n"); + string=NULL; + return; + } + int i=0; + int c; + while ((c = fgetc(fp)) != EOF){ + string[i++] = c; + } + string[i]='\0'; + fclose(fp); +} + +/* +int main(){ + char* readability_js = malloc(STYLE_N+1); + read_readability_js(readability_js); + printf("%s", readability_js); + free(readability_js); +} +*/ diff --git a/plugins/style/style.h b/plugins/style/style.h new file mode 100644 index 0000000..20a684b --- /dev/null +++ b/plugins/style/style.h @@ -0,0 +1,8 @@ +#ifndef STYLE +#define STYLE + +#define STYLE_N 794 + 1 + +void read_style_js(char* string); + +#endif diff --git a/plugins/style/style.js b/plugins/style/style.js new file mode 100644 index 0000000..01524d0 --- /dev/null +++ b/plugins/style/style.js @@ -0,0 +1,26 @@ +// Replicates the Stylus app: <https://addons.mozilla.org/en-GB/firefox/addon/styl-us/> + +if (document.domain == "forum.effectivealtruism.org"){ + var styles = ` + .Layout-main { + margin-left: 100px; + } + .SingleColumnSection-root { + width: 1000px !important; + max-width: 1400px !important; + padding-left: 100px !important; + } + .NavigationStandalone-sidebar { + display: none; + } + .intercom-lightweight-app{ + display: none; + } + ` + var styleSheet = document.createElement('style') + styleSheet.innerText = styles + document.head.appendChild(styleSheet) + console.log('Style changed') +} + +document.body.style.visibility = "visible" @@ -14,6 +14,7 @@ #include "config.h" // #include "plugins/libre_redirect/libre_redirect.h" // #include "plugins/readability/readability.h" +// #include "plugins/style/style.h" #define CACHE \ "base-cache-directory", CACHE_DIR, \ @@ -106,6 +107,15 @@ void load_changed(WebKitWebView *self, WebKitLoadEvent load_event, GtkNotebook * break; case WEBKIT_LOAD_COMMITTED: // redirect_if_annoying(self, webkit_web_view_get_uri(self)); + // Add custom style + /* + char* style_js = malloc(STYLE_N+1); + read_style_js(style_js); + webkit_web_view_run_javascript(notebook_get_webview(notebook), + style_js, + NULL, NULL, NULL); + free(style_js); + */ break; case WEBKIT_LOAD_FINISHED: { |