1
0
Fork 0

Add contributors in about peertube page

This commit is contained in:
Chocobozzz 2019-09-05 15:39:52 +02:00
parent 5819e694ba
commit 1eb23e12f7
No known key found for this signature in database
GPG key ID: 583A612D890159BE
12 changed files with 208 additions and 89 deletions

View file

@ -1,4 +1,4 @@
# Code # Code contributors
* [Chocobozzz](https://github.com/Chocobozzz) * [Chocobozzz](https://github.com/Chocobozzz)
* [rigelk](https://github.com/rigelk) * [rigelk](https://github.com/rigelk)
@ -8,10 +8,12 @@
* [Jorropo](https://github.com/Jorropo) * [Jorropo](https://github.com/Jorropo)
* [buoyantair](https://github.com/buoyantair) * [buoyantair](https://github.com/buoyantair)
* [bnjbvr](https://github.com/bnjbvr) * [bnjbvr](https://github.com/bnjbvr)
* [frankstrater](https://github.com/frankstrater)
* [jankeromnes](https://github.com/jankeromnes) * [jankeromnes](https://github.com/jankeromnes)
* [lucas-dclrcq](https://github.com/lucas-dclrcq) * [lucas-dclrcq](https://github.com/lucas-dclrcq)
* [DavidLibeau](https://github.com/DavidLibeau)
* [JohnXLivingston](https://github.com/JohnXLivingston) * [JohnXLivingston](https://github.com/JohnXLivingston)
* [DavidLibeau](https://github.com/DavidLibeau)
* [fflorent](https://github.com/fflorent)
* [kaiyou](https://github.com/kaiyou) * [kaiyou](https://github.com/kaiyou)
* [ldidry](https://github.com/ldidry) * [ldidry](https://github.com/ldidry)
* [McFlat](https://github.com/McFlat) * [McFlat](https://github.com/McFlat)
@ -21,25 +23,25 @@
* [NassimBounouas](https://github.com/NassimBounouas) * [NassimBounouas](https://github.com/NassimBounouas)
* [thomaskuntzz](https://github.com/thomaskuntzz) * [thomaskuntzz](https://github.com/thomaskuntzz)
* [rezonant](https://github.com/rezonant) * [rezonant](https://github.com/rezonant)
* [Wirebrass](https://github.com/Wirebrass)
* [clementbrizard](https://github.com/clementbrizard) * [clementbrizard](https://github.com/clementbrizard)
* [LecygneNoir](https://github.com/LecygneNoir) * [LecygneNoir](https://github.com/LecygneNoir)
* [okhin](https://github.com/okhin) * [okhin](https://github.com/okhin)
* [daftaupe](https://github.com/daftaupe) * [daftaupe](https://github.com/daftaupe)
* [tcitworld](https://github.com/tcitworld) * [tcitworld](https://github.com/tcitworld)
* [fflorent](https://github.com/fflorent)
* [dedesite](https://github.com/dedesite) * [dedesite](https://github.com/dedesite)
* [Nautigsam](https://github.com/Nautigsam) * [Nautigsam](https://github.com/Nautigsam)
* [scanlime](https://github.com/scanlime) * [scanlime](https://github.com/scanlime)
* [am97](https://github.com/am97) * [am97](https://github.com/am97)
* [dadall](https://github.com/dadall) * [dadall](https://github.com/dadall)
* [jonathanraes](https://github.com/jonathanraes) * [jonathanraes](https://github.com/jonathanraes)
* [Wirebrass](https://github.com/Wirebrass)
* [yohanboniface](https://github.com/yohanboniface) * [yohanboniface](https://github.com/yohanboniface)
* [anoadragon453](https://github.com/anoadragon453) * [anoadragon453](https://github.com/anoadragon453)
* [auberanger](https://github.com/auberanger) * [auberanger](https://github.com/auberanger)
* [darnuria](https://github.com/darnuria) * [darnuria](https://github.com/darnuria)
* [rhaamo](https://github.com/rhaamo) * [rhaamo](https://github.com/rhaamo)
* [mrflos](https://github.com/mrflos) * [mrflos](https://github.com/mrflos)
* [Yetangitu](https://github.com/Yetangitu)
* [jocelynj](https://github.com/jocelynj) * [jocelynj](https://github.com/jocelynj)
* [lucaspontoexe](https://github.com/lucaspontoexe) * [lucaspontoexe](https://github.com/lucaspontoexe)
* [flyingrub](https://github.com/flyingrub) * [flyingrub](https://github.com/flyingrub)
@ -57,6 +59,7 @@
* [Anton-Latukha](https://github.com/Anton-Latukha) * [Anton-Latukha](https://github.com/Anton-Latukha)
* [noplanman](https://github.com/noplanman) * [noplanman](https://github.com/noplanman)
* [austinheap](https://github.com/austinheap) * [austinheap](https://github.com/austinheap)
* [BO41](https://github.com/BO41)
* [benabbottnz](https://github.com/benabbottnz) * [benabbottnz](https://github.com/benabbottnz)
* [ewft](https://github.com/ewft) * [ewft](https://github.com/ewft)
* [bradsk88](https://github.com/bradsk88) * [bradsk88](https://github.com/bradsk88)
@ -67,7 +70,6 @@
* [ebrehault](https://github.com/ebrehault) * [ebrehault](https://github.com/ebrehault)
* [DatBewar](https://github.com/DatBewar) * [DatBewar](https://github.com/DatBewar)
* [ReK2Fernandez](https://github.com/ReK2Fernandez) * [ReK2Fernandez](https://github.com/ReK2Fernandez)
* [Yetangitu](https://github.com/Yetangitu)
* [grizio](https://github.com/grizio) * [grizio](https://github.com/grizio)
* [Glandos](https://github.com/Glandos) * [Glandos](https://github.com/Glandos)
* [lanodan](https://github.com/lanodan) * [lanodan](https://github.com/lanodan)
@ -80,6 +82,7 @@
* [pichouk](https://github.com/pichouk) * [pichouk](https://github.com/pichouk)
* [LeoMouyna](https://github.com/LeoMouyna) * [LeoMouyna](https://github.com/LeoMouyna)
* [LiPeK](https://github.com/LiPeK) * [LiPeK](https://github.com/LiPeK)
* [Findus23](https://github.com/Findus23)
* [zapashcanon](https://github.com/zapashcanon) * [zapashcanon](https://github.com/zapashcanon)
* [mart-e](https://github.com/mart-e) * [mart-e](https://github.com/mart-e)
* [0mp](https://github.com/0mp) * [0mp](https://github.com/0mp)
@ -95,6 +98,7 @@
* [quentinDupont](https://github.com/quentinDupont) * [quentinDupont](https://github.com/quentinDupont)
* [Quenty31](https://github.com/Quenty31) * [Quenty31](https://github.com/Quenty31)
* [sundowndev](https://github.com/sundowndev) * [sundowndev](https://github.com/sundowndev)
* [robinkooli](https://github.com/robinkooli)
* [sesn](https://github.com/sesn) * [sesn](https://github.com/sesn)
* [ALSai](https://github.com/ALSai) * [ALSai](https://github.com/ALSai)
* [Simounet](https://github.com/Simounet) * [Simounet](https://github.com/Simounet)
@ -103,14 +107,13 @@
* [FrozenDroid](https://github.com/FrozenDroid) * [FrozenDroid](https://github.com/FrozenDroid)
* [fallen](https://github.com/fallen) * [fallen](https://github.com/fallen)
* [melongbob](https://github.com/melongbob) * [melongbob](https://github.com/melongbob)
* [Zig-03](https://github.com/Zig-03)
* [anmol26s](https://github.com/anmol26s) * [anmol26s](https://github.com/anmol26s)
* [imbsky](https://github.com/imbsky) * [imbsky](https://github.com/imbsky)
* [ctlaltdefeat](https://github.com/ctlaltdefeat) * [ctlaltdefeat](https://github.com/ctlaltdefeat)
* [jomo](https://github.com/jomo) * [jomo](https://github.com/jomo)
* [libertysoft3](https://github.com/libertysoft3) * [libertysoft3](https://github.com/libertysoft3)
* [lsde](https://github.com/lsde) * [lsde](https://github.com/lsde)
* [memoryboxes](https://github.com/memoryboxes) * [brain-zhang](https://github.com/brain-zhang)
* [norrist](https://github.com/norrist) * [norrist](https://github.com/norrist)
* [osauzet](https://github.com/osauzet) * [osauzet](https://github.com/osauzet)
* [SansPseudoFix](https://github.com/SansPseudoFix) * [SansPseudoFix](https://github.com/SansPseudoFix)
@ -121,7 +124,7 @@
* [ewasion](https://github.com/ewasion) * [ewasion](https://github.com/ewasion)
# Translations # Translation contributors
* [abdhessuk](https://trad.framasoft.org/zanata/profile/view/abdhessuk) * [abdhessuk](https://trad.framasoft.org/zanata/profile/view/abdhessuk)
* [abidin24](https://trad.framasoft.org/zanata/profile/view/abidin24) * [abidin24](https://trad.framasoft.org/zanata/profile/view/abidin24)
@ -196,6 +199,7 @@
* [abidin24](https://trad.framasoft.org/zanata/profile/view/abidin24) * [abidin24](https://trad.framasoft.org/zanata/profile/view/abidin24)
* [aditoo](https://trad.framasoft.org/zanata/profile/view/aditoo) * [aditoo](https://trad.framasoft.org/zanata/profile/view/aditoo)
* [alidemirtas](https://trad.framasoft.org/zanata/profile/view/alidemirtas) * [alidemirtas](https://trad.framasoft.org/zanata/profile/view/alidemirtas)
* [anastasia](https://trad.framasoft.org/zanata/profile/view/anastasia)
* [ariasuni](https://trad.framasoft.org/zanata/profile/view/ariasuni) * [ariasuni](https://trad.framasoft.org/zanata/profile/view/ariasuni)
* [autom](https://trad.framasoft.org/zanata/profile/view/autom) * [autom](https://trad.framasoft.org/zanata/profile/view/autom)
* [balaji](https://trad.framasoft.org/zanata/profile/view/balaji) * [balaji](https://trad.framasoft.org/zanata/profile/view/balaji)
@ -203,13 +207,16 @@
* [bristow](https://trad.framasoft.org/zanata/profile/view/bristow) * [bristow](https://trad.framasoft.org/zanata/profile/view/bristow)
* [butterflyoffire](https://trad.framasoft.org/zanata/profile/view/butterflyoffire) * [butterflyoffire](https://trad.framasoft.org/zanata/profile/view/butterflyoffire)
* [c0dr](https://trad.framasoft.org/zanata/profile/view/c0dr) * [c0dr](https://trad.framasoft.org/zanata/profile/view/c0dr)
* [canony](https://trad.framasoft.org/zanata/profile/view/canony)
* [cat](https://trad.framasoft.org/zanata/profile/view/cat) * [cat](https://trad.framasoft.org/zanata/profile/view/cat)
* [chocobozzz](https://trad.framasoft.org/zanata/profile/view/chocobozzz) * [chocobozzz](https://trad.framasoft.org/zanata/profile/view/chocobozzz)
* [clerie](https://trad.framasoft.org/zanata/profile/view/clerie) * [clerie](https://trad.framasoft.org/zanata/profile/view/clerie)
* [curupira](https://trad.framasoft.org/zanata/profile/view/curupira) * [curupira](https://trad.framasoft.org/zanata/profile/view/curupira)
* [dhsets](https://trad.framasoft.org/zanata/profile/view/dhsets) * [dhsets](https://trad.framasoft.org/zanata/profile/view/dhsets)
* [dibek](https://trad.framasoft.org/zanata/profile/view/dibek)
* [digitalkiller](https://trad.framasoft.org/zanata/profile/view/digitalkiller) * [digitalkiller](https://trad.framasoft.org/zanata/profile/view/digitalkiller)
* [dwsage](https://trad.framasoft.org/zanata/profile/view/dwsage) * [dwsage](https://trad.framasoft.org/zanata/profile/view/dwsage)
* [fkohrt](https://trad.framasoft.org/zanata/profile/view/fkohrt)
* [flauta](https://trad.framasoft.org/zanata/profile/view/flauta) * [flauta](https://trad.framasoft.org/zanata/profile/view/flauta)
* [frankstrater](https://trad.framasoft.org/zanata/profile/view/frankstrater) * [frankstrater](https://trad.framasoft.org/zanata/profile/view/frankstrater)
* [gillux](https://trad.framasoft.org/zanata/profile/view/gillux) * [gillux](https://trad.framasoft.org/zanata/profile/view/gillux)
@ -220,17 +227,25 @@
* [jhertel](https://trad.framasoft.org/zanata/profile/view/jhertel) * [jhertel](https://trad.framasoft.org/zanata/profile/view/jhertel)
* [joss2lyon](https://trad.framasoft.org/zanata/profile/view/joss2lyon) * [joss2lyon](https://trad.framasoft.org/zanata/profile/view/joss2lyon)
* [kekkotranslates](https://trad.framasoft.org/zanata/profile/view/kekkotranslates) * [kekkotranslates](https://trad.framasoft.org/zanata/profile/view/kekkotranslates)
* [kingu](https://trad.framasoft.org/zanata/profile/view/kingu)
* [kittybecca](https://trad.framasoft.org/zanata/profile/view/kittybecca) * [kittybecca](https://trad.framasoft.org/zanata/profile/view/kittybecca)
* [kousha](https://trad.framasoft.org/zanata/profile/view/kousha)
* [krkk](https://trad.framasoft.org/zanata/profile/view/krkk) * [krkk](https://trad.framasoft.org/zanata/profile/view/krkk)
* [lapor](https://trad.framasoft.org/zanata/profile/view/lapor)
* [laufor](https://trad.framasoft.org/zanata/profile/view/laufor) * [laufor](https://trad.framasoft.org/zanata/profile/view/laufor)
* [leeroyepold48](https://trad.framasoft.org/zanata/profile/view/leeroyepold48) * [leeroyepold48](https://trad.framasoft.org/zanata/profile/view/leeroyepold48)
* [lstamellos](https://trad.framasoft.org/zanata/profile/view/lstamellos) * [lstamellos](https://trad.framasoft.org/zanata/profile/view/lstamellos)
* [mablr](https://trad.framasoft.org/zanata/profile/view/mablr) * [mablr](https://trad.framasoft.org/zanata/profile/view/mablr)
* [marcinmalecki](https://trad.framasoft.org/zanata/profile/view/marcinmalecki) * [marcinmalecki](https://trad.framasoft.org/zanata/profile/view/marcinmalecki)
* [matograine](https://trad.framasoft.org/zanata/profile/view/matograine) * [matograine](https://trad.framasoft.org/zanata/profile/view/matograine)
* [mayana](https://trad.framasoft.org/zanata/profile/view/mayana)
* [mikeorlov](https://trad.framasoft.org/zanata/profile/view/mikeorlov) * [mikeorlov](https://trad.framasoft.org/zanata/profile/view/mikeorlov)
* [nin](https://trad.framasoft.org/zanata/profile/view/nin) * [nin](https://trad.framasoft.org/zanata/profile/view/nin)
* [noncommutativegeo](https://trad.framasoft.org/zanata/profile/view/noncommutativegeo)
* [norbipeti](https://trad.framasoft.org/zanata/profile/view/norbipeti) * [norbipeti](https://trad.framasoft.org/zanata/profile/view/norbipeti)
* [nvivant](https://trad.framasoft.org/zanata/profile/view/nvivant)
* [osoitz](https://trad.framasoft.org/zanata/profile/view/osoitz)
* [ppnplus](https://trad.framasoft.org/zanata/profile/view/ppnplus)
* [predatorix](https://trad.framasoft.org/zanata/profile/view/predatorix) * [predatorix](https://trad.framasoft.org/zanata/profile/view/predatorix)
* [quentin](https://trad.framasoft.org/zanata/profile/view/quentin) * [quentin](https://trad.framasoft.org/zanata/profile/view/quentin)
* [quentind](https://trad.framasoft.org/zanata/profile/view/quentind) * [quentind](https://trad.framasoft.org/zanata/profile/view/quentind)
@ -238,11 +253,14 @@
* [robin](https://trad.framasoft.org/zanata/profile/view/robin) * [robin](https://trad.framasoft.org/zanata/profile/view/robin)
* [rond](https://trad.framasoft.org/zanata/profile/view/rond) * [rond](https://trad.framasoft.org/zanata/profile/view/rond)
* [s8321414](https://trad.framasoft.org/zanata/profile/view/s8321414) * [s8321414](https://trad.framasoft.org/zanata/profile/view/s8321414)
* [sato_ss](https://trad.framasoft.org/zanata/profile/view/sato_ss)
* [secreet](https://trad.framasoft.org/zanata/profile/view/secreet) * [secreet](https://trad.framasoft.org/zanata/profile/view/secreet)
* [sercom_kc](https://trad.framasoft.org/zanata/profile/view/sercom_kc)
* [severo](https://trad.framasoft.org/zanata/profile/view/severo) * [severo](https://trad.framasoft.org/zanata/profile/view/severo)
* [silkevicious](https://trad.framasoft.org/zanata/profile/view/silkevicious) * [silkevicious](https://trad.framasoft.org/zanata/profile/view/silkevicious)
* [sporiff](https://trad.framasoft.org/zanata/profile/view/sporiff) * [sporiff](https://trad.framasoft.org/zanata/profile/view/sporiff)
* [tekuteku](https://trad.framasoft.org/zanata/profile/view/tekuteku) * [tekuteku](https://trad.framasoft.org/zanata/profile/view/tekuteku)
* [thecatjustmeow](https://trad.framasoft.org/zanata/profile/view/thecatjustmeow)
* [tirifto](https://trad.framasoft.org/zanata/profile/view/tirifto) * [tirifto](https://trad.framasoft.org/zanata/profile/view/tirifto)
* [tmota](https://trad.framasoft.org/zanata/profile/view/tmota) * [tmota](https://trad.framasoft.org/zanata/profile/view/tmota)
* [tuxayo](https://trad.framasoft.org/zanata/profile/view/tuxayo) * [tuxayo](https://trad.framasoft.org/zanata/profile/view/tuxayo)

View file

@ -22,7 +22,7 @@ Be part of a network of multiple small federated, interoperable video hosting pr
<p align="center"> <p align="center">
<a href="https://framasoft.org"> <a href="https://framasoft.org">
<img width="150px" src="http://lutim.cpy.re/Prd3ci7G.png" alt="Framasoft logo"/> <img width="150px" src="https://lutim.cpy.re/FeRgHH8r.png" alt="Framasoft logo"/>
</a> </a>
</p> </p>

View file

@ -4,7 +4,7 @@
<div class="about-instance-title"> <div class="about-instance-title">
<div i18n class="title">About {{ instanceName }} instance</div> <div i18n class="title">About {{ instanceName }} instance</div>
<div *ngIf="isContactFormEnabled" (click)="openContactModal()" i18n role="button" class="contact-admin">Contact administrator</div> <div i18n *ngIf="isContactFormEnabled" (click)="openContactModal()" role="button" class="contact-admin">Contact administrator</div>
</div> </div>
<div class="block instance-badges"> <div class="block instance-badges">
@ -16,10 +16,10 @@
<div class="short-description"> <div class="short-description">
<div class="block short-description">{{ shortDescription }}</div> <div class="block short-description">{{ shortDescription }}</div>
<div *ngIf="isNSFW" class="block dedicated-to-nsfw">This instance is dedicated to sensitive/NSFW content.</div> <div i18n *ngIf="isNSFW" class="block dedicated-to-nsfw">This instance is dedicated to sensitive/NSFW content.</div>
</div> </div>
<div class="middle-title" *ngIf="html.administrator || maintenanceLifetime || businessModel"> <div i18n class="middle-title" *ngIf="html.administrator || maintenanceLifetime || businessModel">
Administrators & sustainability Administrators & sustainability
</div> </div>
@ -47,7 +47,7 @@
<p>{{ businessModel }}</p> <p>{{ businessModel }}</p>
</div> </div>
<div class="middle-title" *ngIf="html.description"> <div i18n class="middle-title" *ngIf="html.description">
Information Information
</div> </div>
@ -57,7 +57,7 @@
<div [innerHTML]="html.description"></div> <div [innerHTML]="html.description"></div>
</div> </div>
<div class="middle-title" *ngIf="html.moderationInformation || html.codeOfConduct || html.terms"> <div i18n class="middle-title" *ngIf="html.moderationInformation || html.codeOfConduct || html.terms">
Moderation Moderation
</div> </div>
@ -79,7 +79,7 @@
<div [innerHTML]="html.terms"></div> <div [innerHTML]="html.terms"></div>
</div> </div>
<div class="middle-title" *ngIf="html.hardwareInformation"> <div i18n class="middle-title" *ngIf="html.hardwareInformation">
Other information Other information
</div> </div>
@ -91,7 +91,7 @@
</div> </div>
<div class="col-md-12 col-xl-6"> <div class="col-md-12 col-xl-6">
<label>Features found on this instance</label> <label i18n>Features found on this instance</label>
<my-instance-features-table></my-instance-features-table> <my-instance-features-table></my-instance-features-table>
</div> </div>
</div> </div>

View file

@ -0,0 +1,13 @@
<h3 i18n class="section-title">Who made this software?</h3>
<p align="center">
<strong>Developed with &#10084; by <a target="_blank" rel="noopener noreferrer" href="https://framasoft.org">Framasoft</a></strong>
</p>
<p align="center">
<a target="_blank" rel="noopener noreferrer" href="https://framasoft.org">
<img width="150px" src="/client/assets/images/framasoft.png" alt="Framasoft logo"/>
</a>
</p>
<div [innerHTML]="creditsHtml"></div>

View file

@ -0,0 +1,15 @@
@import '_variables';
@import '_mixins';
/deep/ h1 {
font-size: 1rem;
}
/deep/ ul {
padding: 0;
li {
display: inline-block;
margin-right: 10px;
}
}

View file

@ -0,0 +1,19 @@
import { Component, OnInit } from '@angular/core'
import { MarkdownService } from '@app/shared/renderer'
@Component({
selector: 'my-about-peertube-contributors',
templateUrl: './about-peertube-contributors.component.html',
styleUrls: [ './about-peertube-contributors.component.scss' ]
})
export class AboutPeertubeContributorsComponent implements OnInit {
creditsHtml: string
private markdown = require('raw-loader!../../../../../CREDITS.md')
constructor (private markdownService: MarkdownService) { }
async ngOnInit () {
this.creditsHtml = await this.markdownService.completeMarkdownToHTML(this.markdown)
}
}

View file

@ -14,7 +14,10 @@
</p> </p>
</div> </div>
<div id="p2p-privacy"> <div class="privacy-contributors">
<my-about-peertube-contributors></my-about-peertube-contributors>
<div class="p2p-privacy">
<h3 i18n class="section-title">P2P & Privacy</h3> <h3 i18n class="section-title">P2P & Privacy</h3>
<p i18n> <p i18n>
@ -95,3 +98,5 @@
<li i18n>An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program</li> <li i18n>An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program</li>
</ul> </ul>
</div> </div>
</div>

View file

@ -2,12 +2,12 @@
@import '_mixins'; @import '_mixins';
.about-peertube-title { .about-peertube-title {
font-size: 25px; font-size: 20px;
font-weight: bold; font-weight: $font-semibold;
margin-bottom: 15px; margin-bottom: 15px;
} }
.section-title { /deep/ .section-title {
font-weight: $font-semibold; font-weight: $font-semibold;
font-size: 20px; font-size: 20px;
margin-bottom: 5px; margin-bottom: 5px;
@ -17,6 +17,41 @@
margin-bottom: 30px; margin-bottom: 30px;
} }
.description,
.p2p-privacy,
my-about-peertube-contributors {
/deep/ {
p, li {
font-size: 15px;
}
}
}
.p2p-privacy-title { .p2p-privacy-title {
margin-top: 15px; margin-top: 15px;
} }
.privacy-contributors {
display: flex;
flex-direction: row;
> div,
> my-about-peertube-contributors {
flex-basis: 100%;
display: block;
}
.p2p-privacy {
h6 {
font-size: 20px;
}
}
my-about-peertube-contributors {
margin: 0 40px 40px 0;
}
@media screen and (max-width: $small-view) {
flex-direction: column;
}
}

View file

@ -1,5 +1,4 @@
import { NgModule } from '@angular/core' import { NgModule } from '@angular/core'
import { AboutRoutingModule } from './about-routing.module' import { AboutRoutingModule } from './about-routing.module'
import { AboutComponent } from './about.component' import { AboutComponent } from './about.component'
import { SharedModule } from '../shared' import { SharedModule } from '../shared'
@ -7,6 +6,7 @@ import { AboutInstanceComponent } from '@app/+about/about-instance/about-instanc
import { AboutPeertubeComponent } from '@app/+about/about-peertube/about-peertube.component' import { AboutPeertubeComponent } from '@app/+about/about-peertube/about-peertube.component'
import { ContactAdminModalComponent } from '@app/+about/about-instance/contact-admin-modal.component' import { ContactAdminModalComponent } from '@app/+about/about-instance/contact-admin-modal.component'
import { AboutFollowsComponent } from '@app/+about/about-follows/about-follows.component' import { AboutFollowsComponent } from '@app/+about/about-follows/about-follows.component'
import { AboutPeertubeContributorsComponent } from '@app/+about/about-peertube/about-peertube-contributors.component'
@NgModule({ @NgModule({
imports: [ imports: [
@ -19,6 +19,7 @@ import { AboutFollowsComponent } from '@app/+about/about-follows/about-follows.c
AboutInstanceComponent, AboutInstanceComponent,
AboutPeertubeComponent, AboutPeertubeComponent,
AboutFollowsComponent, AboutFollowsComponent,
AboutPeertubeContributorsComponent,
ContactAdminModalComponent ContactAdminModalComponent
], ],

View file

@ -13,9 +13,11 @@ export class MarkdownService {
'list' 'list'
] ]
static ENHANCED_RULES = MarkdownService.TEXT_RULES.concat([ 'image' ]) static ENHANCED_RULES = MarkdownService.TEXT_RULES.concat([ 'image' ])
static COMPLETE_RULES = MarkdownService.ENHANCED_RULES.concat([ 'block', 'inline', 'heading', 'html_inline', 'html_block', 'paragraph' ])
private textMarkdownIt: MarkdownIt private textMarkdownIt: MarkdownIt
private enhancedMarkdownIt: MarkdownIt private enhancedMarkdownIt: MarkdownIt
private completeMarkdownIt: MarkdownIt
async textMarkdownToHTML (markdown: string) { async textMarkdownToHTML (markdown: string) {
if (!markdown) return '' if (!markdown) return ''
@ -39,11 +41,22 @@ export class MarkdownService {
return this.avoidTruncatedTags(html) return this.avoidTruncatedTags(html)
} }
private async createMarkdownIt (rules: string[]) { async completeMarkdownToHTML (markdown: string) {
// FIXME: import('..') returns a struct module, containing a "default" field corresponding to our sanitizeHtml function if (!markdown) return ''
if (!this.completeMarkdownIt) {
this.completeMarkdownIt = await this.createMarkdownIt(MarkdownService.COMPLETE_RULES, true)
}
const html = this.completeMarkdownIt.render(markdown)
return this.avoidTruncatedTags(html)
}
private async createMarkdownIt (rules: string[], html = false) {
// FIXME: import('...') returns a struct module, containing a "default" field corresponding to our sanitizeHtml function
const MarkdownItClass: typeof import ('markdown-it') = (await import('markdown-it') as any).default const MarkdownItClass: typeof import ('markdown-it') = (await import('markdown-it') as any).default
const markdownIt = new MarkdownItClass('zero', { linkify: true, breaks: true }) const markdownIt = new MarkdownItClass('zero', { linkify: true, breaks: true, html })
for (const rule of rules) { for (const rule of rules) {
markdownIt.enable(rule) markdownIt.enable(rule)

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -13,7 +13,7 @@ async function run () {
{ {
const contributors = await fetchGithub('https://api.github.com/repos/chocobozzz/peertube/contributors') const contributors = await fetchGithub('https://api.github.com/repos/chocobozzz/peertube/contributors')
console.log('# Code\n') console.log('# Code contributors\n')
for (const contributor of contributors) { for (const contributor of contributors) {
const contributorUrl = contributor.url.replace('api.github.com/users', 'github.com') const contributorUrl = contributor.url.replace('api.github.com/users', 'github.com')
console.log(` * [${contributor.login}](${contributorUrl})`) console.log(` * [${contributor.login}](${contributorUrl})`)
@ -27,7 +27,7 @@ async function run () {
const translators = await fetchZanata(zanataUsername, zanataToken) const translators = await fetchZanata(zanataUsername, zanataToken)
console.log('\n\n# Translations\n') console.log('\n\n# Translation contributors\n')
for (const translator of translators) { for (const translator of translators) {
console.log(` * [${translator.username}](https://trad.framasoft.org/zanata/profile/view/${translator.username})`) console.log(` * [${translator.username}](https://trad.framasoft.org/zanata/profile/view/${translator.username})`)
} }