Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: BBCode  (gelezen 3479 keer)

BBCode
« Gepost op: 2008/04/13, 14:29:14 »
Nu gebruikt dit forum BBCode, heel leuk en aardig. Maar zou het niet handig zijn om buttons te plaasten die een BBCode in je textarea plaatst?

Dat je bijvoorbeeld 'jaap' schrijft en selecteerd. Dan klik je op [ URL ], en krijg je een promt om de url in te voeren. Wanneer je niks selecteerd komt er een prompt en wordt de url met de tags in de textarea geplaatst op het punt waar de textcursor zich bevind. Bij een image het zelfde.

Bij een kleur zou je dan een klein schermpje met wat standaard kleuren kunnen maken, en een input field voor je eigen hexcode.

Met wat extra javascript zou dit niet moeilijk moeten zijn.

BBCode
« Reactie #1 Gepost op: 2008/04/15, 15:01:59 »
Hé, is echt niemand het met me eens, of niet me mee eens? ;)

Quatroking

  • Gast
BBCode
« Reactie #2 Gepost op: 2008/04/15, 15:56:19 »
Ik gebruik zelf een bbcode addon voor firefox. Maar knopjes zijn natuurlijk handiger.

BBCode
« Reactie #3 Gepost op: 2008/04/15, 16:12:07 »
KNOPJES!!!!!!!!!

Jullie weten niet half hoe lastig het is om [ of ] op zo'n mac-keyboard te typen ;)

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline Johan van Dijk

  • Administrator
    • johanvandijk
BBCode
« Reactie #4 Gepost op: 2008/04/15, 17:54:40 »
Koop dan ook een echt toetsenbord ;)

Ik tik het gewoon zelf in, net zo makkelijk (vind ik)
Ik heb wel de add-on voor Firefox, maar dat vind ik toch niet zo handig.

Offline tabasco

  • Lid
BBCode
« Reactie #5 Gepost op: 2008/04/15, 18:31:17 »
ik heb net even die add-on geïnstalleerd, en dat werkt bijzonder goed...

Quatroking

  • Gast
BBCode
« Reactie #6 Gepost op: 2008/04/15, 18:54:47 »
ik heb zelf bbcodeXtra, welke gebruiken jullie? De mijne heeft in ieder geval support voor gekopieerde links, en kan die ook meteen in de syntax zoals ik wil zetten. (bijv. een plaats omringen met [img])

Offline tabasco

  • Lid
BBCode
« Reactie #7 Gepost op: 2008/04/15, 20:40:48 »
Citaat van: Quatroking
ik heb zelf bbcodeXtra, welke gebruiken jullie? De mijne heeft in ieder geval support voor gekopieerde links, en kan die ook meteen in de syntax zoals ik wil zetten. (bijv. een plaats omringen met [url])
bbcode 0.5.2.2
En deze doet ook wat jij beschrijft

BBCode
« Reactie #8 Gepost op: 2008/04/17, 11:18:56 »
Ik heb ook even de addon geinstalleerd, maar deze komt in het context menu. Beter toch onder of naast de textarea. Ook ik typ het vaak handmatig, maar het zou toch makkelijker zijn.

BBCode
« Reactie #9 Gepost op: 2008/04/17, 12:28:53 »
Ik denk dat knopjes wel handig kunnen zijn...
Als je al een tijdje op dit forum of een ander forum met BBCode zit raak je er wel een beetje gewend aan, maar de meeste die net zijn aangemeld zullen niet de moeite nemen om het steeds op te zoeken en daarna in te tikken.. denk ik.
PC: Processor - AMD Athlon II X4 640 (quad core, 3.0GHz), 4GB DDR2 RAM 800MHz, Videokaart: ATI Sapphire HD4850 met 512MB geheugen, 500gb 7200RPM HDD, Ubuntu 12.04 LTS

Wat doe je als je vraag is opgelost?

BBCode
« Reactie #10 Gepost op: 2008/04/18, 23:35:36 »
Precies. Maar zo moeilijk is het toch ook niet?

function insertTag(welk_form, begingURLtag, endURLtag) {

myField = document.getElementById(welk_form);

//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = begingURLtag + sel.text + endURLtag;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ begingURLtag + myField.value.substr(startPos, endPos - startPos) + endURLtag
+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
Dat scriptje roep je aan.

[i]En zo roep je het aan. Eventueel leuke image erbij van een I en het werkt.

Makkelijk, snel, easy as Javascript :)

Edit
Uiteraard wel even de form een id="bericht" en name="bericht" mee geven. Althans, volgensmij is alleen id nodig, maar ik heb altijd beide...

Offline profoX

  • Lid
    • wesley
    • Lionslink
BBCode
« Reactie #11 Gepost op: 2008/04/19, 12:41:22 »
Ik wil het eventueel wel een keertje toevoegen, maar ik heb geen toegang tot de benodigde bestanden. Misschien maak ik wel een keer een patch, maar dat is zeer omslachtig omdat er dan zeer veel werk kruipt in het lokaal installeren en testen. Soms is dat nodig, maar voor kleine features als dit zou het makkelijker zijn om met temp files te werken op de server zelf.
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline koen_92

  • Lid
BBCode
« Reactie #12 Gepost op: 2008/04/19, 21:06:38 »
Ik ben er niet handig in, maar kan niemand hier een greasemonkey script van maken?

BBCode
« Reactie #13 Gepost op: 2008/04/20, 09:48:46 »
@vlerknozem: doe het dan wel zo ;)

function insertTag(welk_form, begingURLtag, endURLtag) {

myField = document.getElementById(welk_form);

//MOZILLA/NETSCAPE support
if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ begingURLtag + myField.value.substr(startPos, endPos - startPos) + endURLtag
+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
@arie en Johanvd: Het is echt supergemakkelijk om een toetstenbord met je laptop mee te sleuren he ;).

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

BBCode
« Reactie #14 Gepost op: 2008/04/20, 12:21:10 »
@SeySayux,

Wat dan met die arme mensjes die nog niet zeker weten of ze willen overstappen? Als ze op dit forum komen moeten ze toch op z´n minst daar gebruik van kunnen maken.  :)

BBCode
« Reactie #15 Gepost op: 2008/04/20, 12:44:45 »
Citaat van: vlerknozem
@SeySayux,

Wat dan met die arme mensjes die nog niet zeker weten of ze willen overstappen? Als ze op dit forum komen moeten ze toch op z´n minst daar gebruik van kunnen maken.  :)
Firefox werkt ook op Windows, dus ik zie het probleem niet.

Er zijn al meer als genoeg sites "Uw browser is niet geslaagd in de browsertest. U moet Internet Explorer 5+ hebben om deze website te bekijken. U kan de laatste versie van Internet Explorer gratis downloaden op microsoft.com". Laten wij nu eens een site maken die Firefox/Opera eist ;).

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Quatroking

  • Gast
BBCode
« Reactie #16 Gepost op: 2008/04/20, 14:01:52 »
gezien IE 6 en 7 nog steeds meer worden gebruikt dan Firefox (helaas) lijkt het me een slecht idee om IE geen toegang tot leuk spul te geven. Ik bedoel, ze hebben al zo weinig.

BBCode
« Reactie #17 Gepost op: 2008/05/08, 17:00:04 »
Voor greasemonkey heb ik dit script:
// ==UserScript==
// @name           bbadd
// @namespace      bbadd
// @include        http://forum.ubuntu-nl.org/*
// ==/UserScript==

// URL naar de php code
var phpURI = "http://koenuxhost.no-ip.org/~tester/bbcode.php";

// De codes
var bbdefine = new Array();
bbdefine[0] = new Array('[b]', '[/b]', "http://www.vvvgfpi.nl/images/buttons/bold.gif");
bbdefine[1] = new Array('[i]', '[/i]', "http://www.vvvgfpi.nl/images/buttons/italic.gif");
bbdefine[2] = new Array('[u]', '[/u]', "http://www.vvvgfpi.nl/images/buttons/underline.gif");

// Waar moeten de urls komen?
var allobj = getElementsByStyleClass('infldset txtarea');

// Hier hoeft niets meer veranderd te worden, tenzei dat je het wilt verbeteren :)
function getElementsByStyleClass (className) {
  var all = document.all ? document.all :
    document.getElementsByTagName('*');
  var elements = new Array();
  for (var e = 0; e < all.length; e++) {    
if (all[e].className == className) {
      elements[elements.length] = all[e];
}
}
return (elements);
}


var obj = allobj[0];
for(var x in bbdefine) {
   obj.innerHTML += '[b][/b]';
}
Helaas heeft nog een php script nodig, dit omdat ik geen functie kon aanroepen vanuit de url.

Omdat mijn server niet 24/7 aan staat, en omdat ik geen bill gates heet geef ik de php broncode hier ook vrij :
switch($_GET['bb']) {
default:
$btag = $_GET['bbb'];// "[".$_GET['bb']."]";
$etag = $_GET['bbe'];//"[/".$_GET['bb']."]";
break;
}
?>
var myField = document.getElementsByName('req_message')[0];
var begingURLtag = '';
var endURLtag = '';

//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = window.begingURLtag + sel.text + window.endURLtag;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ begingURLtag + myField.value.substr(startPos, endPos - startPos) + endURLtag
+ myField.value.substring(endPos, myField.value.length);
} else {
  myField.value += 'error';
}
Script moet nog worden uitgebreid en verbeterd, maar dit is vast een begin :)

Offline shappie

  • Lid
BBCode
« Reactie #18 Gepost op: 2008/05/08, 17:31:07 »
Citaat van: SeySayux
Citaat van: vlerknozem
@SeySayux,

Wat dan met die arme mensjes die nog niet zeker weten of ze willen overstappen? Als ze op dit forum komen moeten ze toch op z´n minst daar gebruik van kunnen maken.  :)
Firefox werkt ook op Windows, dus ik zie het probleem niet.

Er zijn al meer als genoeg sites "Uw browser is niet geslaagd in de browsertest. U moet Internet Explorer 5+ hebben om deze website te bekijken. U kan de laatste versie van Internet Explorer gratis downloaden op microsoft.com". Laten wij nu eens een site maken die Firefox/Opera eist ;).

- SeySayux
Laten wij dan niet zo zielig zijn dit te doen ;), en gewoon de gebruikers de keuzer geven. Zodra ze overstappen op ubuntu gaan ze vanzelf iets anders gebruiken zoals opera,firefox of epiphany.

"Wat gij niet wilt dat u geschied doet dat ook een ander niet" ;)

ontopic: Maar het lijkt mij inderdaad wel handig als er knopjes komen voor de BBCode op dit forum.
- Intel i7 860 - ATi HD3580 - 4GB DDR3 - Intel X25-M 80GB - Dual Screen Samsung 206BW - Win7/Kubuntu dualboot -