Browse Source

Merge branch 'feature/805-server-rendered-rel-me-links' into 'develop'

Feature/805 server rendered rel me links

Closes #805

See merge request pleroma/pleroma!1063
tags/v1.1.4
lambda 5 years ago
parent
commit
cc93775ebf
6 changed files with 38 additions and 3 deletions
  1. +1
    -0
      CHANGELOG.md
  2. +1
    -1
      README.md
  3. +3
    -1
      config/config.exs
  4. +2
    -1
      docs/config.md
  5. +13
    -0
      lib/pleroma/web/metadata/rel_me.ex
  6. +18
    -0
      test/web/metadata/rel_me_test.exs

+ 1
- 0
CHANGELOG.md View File

@@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Mastodon API: `/api/v1/notifications/destroy_multiple` (glitch-soc extension)
- Mastodon API: [Reports](https://docs.joinmastodon.org/api/rest/reports/)
- ActivityPub C2S: OAuth endpoints
- Metadata RelMe provider

### Changed
- **Breaking:** Configuration: move from Pleroma.Mailer to Pleroma.Emails.Mailer


+ 1
- 1
README.md View File

@@ -1,6 +1,6 @@
# Pleroma

**Note**: This readme as well as complete documentation is also availible at <https://docs-develop.pleroma.social>
**Note**: This readme as well as complete documentation is also available at <https://docs-develop.pleroma.social>

## About Pleroma



+ 3
- 1
config/config.exs View File

@@ -337,7 +337,9 @@ config :pleroma, :gopher,
ip: {0, 0, 0, 0},
port: 9999

config :pleroma, Pleroma.Web.Metadata, providers: [], unfurl_nsfw: false
config :pleroma, Pleroma.Web.Metadata,
providers: [Pleroma.Web.Metadata.Providers.RelMe],
unfurl_nsfw: false

config :pleroma, :suggestions,
enabled: false,


+ 2
- 1
docs/config.md View File

@@ -343,9 +343,10 @@ This config contains two queues: `federator_incoming` and `federator_outgoing`.
* `max_retries`: The maximum number of times a federation job is retried

## Pleroma.Web.Metadata
* `providers`: a list of metadata providers to enable. Providers availible:
* `providers`: a list of metadata providers to enable. Providers available:
* Pleroma.Web.Metadata.Providers.OpenGraph
* Pleroma.Web.Metadata.Providers.TwitterCard
* Pleroma.Web.Metadata.Providers.RelMe - add links from user bio with rel=me into the `<header>` as `<link rel=me>`
* `unfurl_nsfw`: If set to `true` nsfw attachments will be shown in previews

## :rich_media


+ 13
- 0
lib/pleroma/web/metadata/rel_me.ex View File

@@ -0,0 +1,13 @@
defmodule Pleroma.Web.Metadata.Providers.RelMe do
alias Pleroma.Web.Metadata.Providers.Provider
@behaviour Provider

@impl Provider
def build_tags(%{user: user}) do
(Floki.attribute(user.bio, "link[rel~=me]", "href") ++
Floki.attribute(user.bio, "a[rel~=me]", "href"))
|> Enum.map(fn link ->
{:link, [rel: "me", href: link], []}
end)
end
end

+ 18
- 0
test/web/metadata/rel_me_test.exs View File

@@ -0,0 +1,18 @@
defmodule Pleroma.Web.Metadata.Providers.RelMeTest do
use Pleroma.DataCase
import Pleroma.Factory
alias Pleroma.Web.Metadata.Providers.RelMe

test "it renders all links with rel='me' from user bio" do
bio =
~s(<a href="https://some-link.com">https://some-link.com</a> <a rel="me" href="https://another-link.com">https://another-link.com</a>
<link href="http://some.com"> <link rel="me" href="http://some3.com>")

user = insert(:user, %{bio: bio})

assert RelMe.build_tags(%{user: user}) == [
{:link, [rel: "me", href: "http://some3.com>"], []},
{:link, [rel: "me", href: "https://another-link.com"], []}
]
end
end

Loading…
Cancel
Save