From 90e5831d8ff127696a053f8c0ec435fa9c258ba1 Mon Sep 17 00:00:00 2001 From: Grotax Date: Mon, 1 Apr 2024 08:53:16 +0000 Subject: Deployed 8c36f1d with MkDocs version: 1.4.2 --- features/customCSS/index.html | 631 ++++++++++++++++++++++++++++++ features/integration/index.html | 759 ++++++++++++++++++++++++++++++++++++ features/plugins/index.html | 836 ++++++++++++++++++++++++++++++++++++++++ features/themes/index.html | 622 ++++++++++++++++++++++++++++++ 4 files changed, 2848 insertions(+) create mode 100644 features/customCSS/index.html create mode 100644 features/integration/index.html create mode 100644 features/plugins/index.html create mode 100644 features/themes/index.html (limited to 'features') diff --git a/features/customCSS/index.html b/features/customCSS/index.html new file mode 100644 index 000000000..04664b432 --- /dev/null +++ b/features/customCSS/index.html @@ -0,0 +1,631 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Custom CSS - Nextcloud News App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + + +

Custom CSS

+

Sometimes you want to add additional CSS for a feed to improve the rendering. This can very easily be done by adding a CSS class to css/custom.css following the following naming convention:

+
    +
  • Take the URL from the \ attribute (e.g.: \https://www.google.de/path?my=query \)
  • +
  • Extract the Domain from the URL (e.g.: )
  • +
  • Strip the leading www. (e.g.: google.de)
  • +
  • Replace all . with - (e.g.: google-de)
  • +
  • Prepend custom- (e.g.: custom-google-de)
  • +
+

Each class rule should be prefixed with #app-content and should only affect the article body. An example rule would be:

+
#app-content .custom-google-de .body {
+    /* Custom CSS rules here */
+}
+
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/features/integration/index.html b/features/integration/index.html new file mode 100644 index 000000000..2967d4b7f --- /dev/null +++ b/features/integration/index.html @@ -0,0 +1,759 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integration - Nextcloud News App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + + +

Integrations

+

Is There An Subscription URL To Easily Subscribe To Feeds?

+

By appending /index.php/apps/news?subscribe_to=SOME_RSS_URL to your NextCloud base path URL, you can launch the News app with a pre-filled URL, e.g.:

+

Ex.

+
https://yourdomain.com/nextcloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
+
+

Known Working Integrations

+

Chrome / Edge

+
    +
  1. Install RSS Subscription Extension (by Google) extension
  2. +
  3. Open the extension's options menu
  4. +
  5. Click Add..
  6. +
  7. In the Description field, enter a description for the RSS reader entry. 'NextCloud News' is a reasonable name.
  8. +
  9. Enter https://<NEXTCLOUD_BASE_PATH>/index.php/apps/news?subscribe_to=%s replacing <NEXTCLOUD_BASE_PATH> with the base URL path to your NextCloud instance. +
  10. +
+

Firefox

+
    +
  1. Install Firefox Add-on Extension Awesome RSS
  2. +
  3. Open the Preferences for the extension
  4. +
  5. In the 'Subscribe using' section, select the NextCloud radio button
  6. +
  7. In the field link field, enter the base NextCloud URL. +
  8. +
+ + + + + + +
+
+ + +
+ +
+ + + +
+
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/features/plugins/index.html b/features/plugins/index.html new file mode 100644 index 000000000..6c2b59dd8 --- /dev/null +++ b/features/plugins/index.html @@ -0,0 +1,836 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plugins - Nextcloud News App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + + + + + +

Plugins

+

Plugins were created to keep the app maintainable while still making it possible to easily implement additional functionality.

+

There are essentially three different use cases for plugins:

+
    +
  • Creating or extending server-side functionality, e.g. creating additional REST API endpoints
  • +
  • Offering article actions such as share via Twitter or E-Mail
  • +
  • Dropping in additional CSS or JavaScript
  • +
+

The Basics

+

Whatever plugin you want to create, you first need to create a basic structure. A plugin is basically just an app, so you can take advantage of the full Nextcloud app API. Take a look at the developer docs or dig into the tutorial.

+

However, if you just want to start slow, the full process is described below.

+

First create a skeleton app using the web interface

+

The application name affects the name and namespace of your plugin and only one app can exist using the same name. Choose wisely. This will become the directory name in the Nextcloud apps/ directory

+
    +
  • newsplugin/
  • +
  • appinfo/
      +
    • app.php
    • +
    • info.xml
    • +
    +
  • +
+

Note: You must license your app under the AGPL 3 or later to comply with the News app's license. Don't forget to add the license as plain text file if you want to distribute your app!

+

Then we want to make sure that our code is only run if the News app is enabled. To do that put the following PHP code into the newsplugin/lib/AppInfo/Application.php file:

+
<?php
+declare(strict_types=1);
+
+namespace OCA\NewsBookmarkPlugin\AppInfo;
+
+use OCP\AppFramework\App;
+use OCP\Util;
+use OCP\App as Test;
+
+class Application extends App {
+ public const APP_ID = 'newsbookmarkplugin';
+
+ public function __construct() {
+  parent::__construct(self::APP_ID);
+
+
+        // your code here
+ }
+}
+
+

Server-Side Plugin

+

A Server-Side plugin is a plugin that uses the same infrastructure as the News app for its own purposes. An example w