Hvis du er en utvikler av noe slag, har du sikkert hørt om Pastebin.com, det mest brukte webprogrammet for å lime og dele tekstutdrag. Pastebin.com er flott, men det er ikke det eneste pastebin-verktøyet der ute.

Faktisk blir det stadig vanligere for nettsteder å være vert for sine egne pastebins. Det kan gi deg mer frihet. Det er mange open source pastebin implementeringer; I å undersøke denne artikkelen kom jeg over minst 20 pastebinprosjekter i aktiv utvikling. Jeg testet noen av deres online demoer og slo meg på å bruke Stikked for sine avanserte funksjoner og strømlinjeformet brukergrensesnitt.

Stikked er bygget med PHP og jQuery og bruker CodeIgniter rammen.

Installere Stikked

Stikked krever at serveren din kjører:

  • PHP 5
  • Apache
  • MySQL

For å laste ned den nyeste versjonen av Stikked, besøk Stikked GitHub-siden eller gå til kommandolinjen din og kjør:

 git klone https://github.com/claudehohl/Stikked.git 

Bruke git clone vil gi deg en mappe som heter "Stikked." Innenfor den mappen er en annen mappe kalt "htdocs"; kopier innholdet til htdocs til en katalog du velger på din webserver.

Før du kan kjøre Stikked, må du forberede noen få ting. Først opprett en MySQL-database. Hvis serveren din bruker cPanel, kan du gjøre dette ved å gå til administrasjonssiden din og klikke på "MySQL Databaser."

Opprett en database, legg til en bruker til den, og gi databasebrukeren alle rettighetene.

Nå som du har opprettet en database for din Stikked-installasjon, må du endre filprogrammet / config / stikked.php for å peke på det. Gå til linjene 18 til 21 og endre databaseinformasjonen på riktig måte. For eksempel:

 $ config ['db_hostname'] = '127.0.0.1'; $ config ['db_database'] = 'rujic_stikked'; $ config ['db_username'] = 'rujic_rujic'; $ config ['db_password'] = 'stikked'; 

Nå bør du få tilgang til din-stikked-installation.com/index.php og se dette:

Stikked.php-filen inneholder noen andre innstillinger du kan endre også. For å for eksempel kreve LDAP-godkjenning, rediger linje 117:

 $ config ['require_auth'] = true; 

Merk at hvis du angir dette til ekte, må du også konfigurere LDAP-innstillingene i application / config / auth_ldap.php.

Morsomt faktum : Med linje 99 kan du la deg angi standardnavnet for anonyme plakater til et tilfeldig uttrykk:

 $ config ['unknown_poster'] = 'tilfeldig'; 

Bla ned til linje 136 for å vise eller redigere listen over tilfeldige substantiver, etterfulgt av listen over tilfeldige adjektiver.

Styling din stikked installasjon

Alle stildataene finnes i katalogen "static". For spark, ta en titt i underkatalogen "skrifter" for å se noen interessante valg.

De fleste stilingsvalgene er laget i filen "static -> styles -> main.css". Jeg endret main.css for å inkludere en av de forhåndsinstallerte skrifttyper ved hjelp av @font-face regelen:

 @ font-face {font-family: font19; src: url ('../ fonts / font19.ttf'); } 

Her er min "Opprett" side etter at jeg hadde en haug med moro med main.css:

Egenskaper

Stikked har en rekke interessante funksjoner som gjør det skiller seg ut fra mengden av andre pastebin-skript.

For det første kjører det spekteret når det gjelder syntaksutheving. Stikked støtter en stor liste over programmerings- og skriptspråk, fra 4CS til Oz til ZXBasic. Uansett hva du kodes inn, har din Stikked installasjon (sannsynligvis) fått deg dekket.

Hvert snippets språk vises i en tabell på siden "Nylig" hvis plakaten ikke angav et språk for en lim, så er det merket "tekst". Tabellen viser også tittelen, plakatens navn og nyhet, sammen med et RSS-ikon. RSS-feeden er plassert på din-stikked-installation.com/lists/rss.

Siden "Trending" er nesten identisk, men med tillegg av en "hits" kolonne og ingen RSS-feed. Hits synes å bli beregnet ut fra besøk fra unike IP-adresser.

Når du lager en lim, har du mulighetene for å angi en utløpsdato, opprett en kort URL ved hjelp av tjenesten på gw.gd, og / eller gjør posten privat. Legg merke til at en "privat" lim ikke er virkelig privat; Enhver bruker som har limens URL, kan se den, med mindre du har aktivert LDAP-godkjenning - i så fall kan hver registrert bruker med nettadressen se den. "Privat" betyr bare at innlegget ikke kommer opp på sidene Nylig eller Trending.

Sikkerhet til side, gir Stikked noen fine verktøy for å vise en lim. Jeg er spesielt fornøyd med embedkoden.

Du kan også svare på pastaer og legge til dine egne redigeringer fra et skjema under den opprinnelige pastaen. Den eneste ulempen med dette er at svarene ikke kobler tilbake til det opprinnelige innlegget; hvis pastebin har mange forskjellige innlegg og svar laget på forskjellige tidspunkter, er det lett å miste oversikten over strukturen. Jeg kan bare håpe at utvikleren på et eller annet tidspunkt vil introdusere en løsning, for eksempel å gå gjennom svarene og implementere en diff viewer.

En siste funksjon jeg nevner er spamkontroll, som Stikked refererer til som "spamadmin." Sette opp ved å skrive inn legitimasjon i config / stikked.php på linjer 79 og 80:

 $ config ['spamadmin_user'] = 'stikked'; $ config ['spamadmin_pass'] = 'stikked'; 

Gå til your-stikked-installation.com/spamadmin for å logge inn. Der kan du se hvilke pastaer som kommer fra hvilke IP-adresser, fjerne pastaer og blokkere IP-områder.

API

Stikked's API lar deg lime inn det fra pastebin-klienter. API-nettadressen som skal brukes i klienten er din-stikked-installation.com/api/create.

Et grunnleggende eksempel er å bruke cURL-kommandoen til å laste opp en fil kalt "smalltalk.st, " angir tittelen, navnet, personvernet, språket og utløpetiden i minutter:

 curl -d title = 'cURL test' -d navn = 'Ruji' -d privat = 1 -d lang = smalltalk -d utløper = 45 - data-urlencode [email protected] http: // my-stikked-installasjon .com / api / skape 

Dette vil returnere nettadressen til limen.

Konklusjon

Hvis du har lest at Stikked er død, har du feil. Mens den gamle Stikked ble forlatt etter versjon 0.5.4, går den nye Stikked sterk og fortsetter å introdusere nyttige funksjoner med hver utgivelse. Jeg anbefaler at du gir den en prøve hvis du vil ha en enkel måte å samle inn og dele tekstbiter på ditt eget nettsted.

Hva bruker du pastebins for? Har du en bruk for din egen pastebin?