Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thesola10/nextcloud-nextframe

Nextframe, embeddable Nextcloud UI
https://github.com/thesola10/nextcloud-nextframe

iframe nextcloud nextcloud-app

Last synced: 29 days ago
JSON representation

Nextframe, embeddable Nextcloud UI

Awesome Lists containing this project

README

        

# NextFrame

> “External Sites' evil twin” -- me, probably

NextFrame is a simple app based around the idea that actually, the Nextcloud topbar _is_ pretty cool after all.

When installed, this app will create a new settings entry under `/settings/admin/additional` where you can generate a new "view token", which will be bound to a specific list of ancestors authorized by CSP. You may also need to configure your reverse proxy, for `nginx` instructions, see the [Configuring nginx](./README.md#Configuring-nginx) section below.

You can then embed the Nextcloud top bar onto another website, preferably on the same domain to guarantee shared login cookies.

Here's an example of a recommended `iframe` tag making full use of Nextframe's features (requires [`iframeResizer.min.js`](https://github.com/davidjbradshaw/iframe-resizer/raw/dc27ef6028523950cfa422f403f94882634caba7/js/iframeResizer.min.js)):

```html

iFrameResize({autoSize: false}, "#nextframe")
```

## Configuring nginx
You should add following lines to your Nextcloud config:
```nginx
server {
...
# Remove X-Frame-Options, as it's needed for embedding Nextcloud topbar on another domains.
fastcgi_hide_header X-Frame-Options;
...
}
```

## Features

Nextframe is explicitly compatible with [iFrame Resizer](https://davidjbradshaw.github.io/iframe-resizer/) and [Custom Menu](https://apps.nextcloud.com/apps/side_menu).

When a popover or Custom Menu is opened and iFrame Resizer is loaded, the `iframe` will grow to the size of the browser's viewport, allowing the entire UI to show properly. It shrinks back to its original height when the popover is closed.