Νέο χαρακτηριστικό στο forum tip

Εδώ μπορείτε να γράφετε τις προτάσεις που έχετε για την βελτίωση του forum.
Feature requests αλλά και bugs που βρίσκετε.

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό the_eye » 16 Οκτ 2011, 14:09

Θα προστεθούν αφού δω πρώτα τα bugs
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό jennie » 16 Οκτ 2011, 22:14

Όπως αναφέρθηκε εδώ, chmod (με έξτρα οδηγίες για το πώς κάνουμε κάτι εκτελέσιμο από το gui).
1 Γνώσεις Linux: Μέτριες ┃ Προγραμματισμού: Ελάχιστες ┃ Αγγλικών: Εξαιρετικές
2 Ubuntu 12.04 LTS σε όλους τους υπολογιστές της οικογένειάς μου
Άβαταρ μέλους
jennie
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 495
Εγγραφή: 24 Δεκ 2008, 13:57
Εκτύπωση

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό medigeek » 05 Δεκ 2011, 17:25

@the_eye:
Έφτιαξα ένα javascript, αντίστοιχο του forum tip, με τη βοήθεια του jquery και ενός highlight plugin.
Δεν αλλάζει τα anchor href, δεν πειράζει τους τίτλους, ούτε τις υπογραφές.
Αλλάζει μόνο το κείμενο μέσα στο div class="content" (δηλαδή το κείμενο σε θεματα και απαντήσεις στο φόρουμ).

Όλο το javascript μπαίνει μέσα στο <head>:
Κώδικας: Επιλογή όλων
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        /*
         * Modified by Savvas Radevic (medigeek) for the ubuntu-gr community.
         * Copyright (c) 2011 Savvas Radevic <vicedar@gmail.com>
         *
         * jQuery Highlight plugin
         * http://bartaz.github.com/sandbox.js/jquery.highlight.html
         *
         * Based on highlight v3 by Johann Burkard
         * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
         *
         * Copyright (c) 2009 Bartek Szopka
         *
         * Licensed under MIT license.
         */

        jQuery.extend({
            highlight: function (node, re, nodeName, className, abbrtitle) {
                if (node.nodeType === 3) {
                    var match = node.data.match(re);
                    if (match) {
                        var highlight = document.createElement(nodeName || 'abbr');
                        highlight.className = className || 'abbrdone';
                        highlight.setAttribute('title', abbrtitle); //Added abbr attribute: title
                        var wordNode = node.splitText(match.index);
                        wordNode.splitText(match[0].length);
                        var wordClone = wordNode.cloneNode(true);
                        highlight.appendChild(wordClone);
                        wordNode.parentNode.replaceChild(highlight, wordNode);
                        return 1; //skip added node in parent
                    }
                } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children
                        !/(script|style)/i.test(node.tagName) && // ignore script and style nodes
                        !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted
                    for (var i = 0; i < node.childNodes.length; i++) {
                        i += jQuery.highlight(node.childNodes[i], re, nodeName, className, abbrtitle);
                    }
                }
                return 0;
            }
        });

        jQuery.fn.highlight = function (words, options) {
            var settings = { className: 'abbrdone', element: 'abbr', caseSensitive: false, wordsOnly: false };
            jQuery.extend(settings, options);

            if (words.constructor === String) {
                words = [words];
            }
            words = jQuery.grep(words, function(word, i){
              return word != '';
            });
            words = jQuery.map(words, function(word, i) {
              return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
            });
            if (words.length == 0) { return this; };
            if (settings.abbrtitle.length == 0) { return this; }; // abbrtitle should be filled in

            var flag = settings.caseSensitive ? "" : "i";
            var pattern = "(" + words.join("|") + ")";
            if (settings.wordsOnly) {
                pattern = "\\b" + pattern + "\\b";
            }
            var re = new RegExp(pattern, flag);
           
            return this.each(function () {
                jQuery.highlight(this, re, settings.element, settings.className, settings.abbrtitle);
            });
        };
    </script>
    <script type="text/javascript">
        $(document).ready(function() {
            var abbrlist = {
                "unity": "This is another test",
                "test": "This is a test",
            };
            for (x in abbrlist) {
                $('.content').highlight(x, {abbrtitle: abbrlist[x]});
            };
        });
    </script>


Η λίστα με τις λέξεις και τις επεξηγήσεις μπαίνει στο abbrlist (τρίτο script):
Κώδικας: Επιλογή όλων
            var abbrlist = {
                "unity": "This is another test",
                "test": "This is a test",
            };


Παράδειγμα test.html

Κώδικας: Επιλογή όλων
<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        /*
         * Modified by Savvas Radevic (medigeek) for the ubuntu-gr community.
         * Copyright (c) 2011 Savvas Radevic <vicedar@gmail.com>
         *
         * jQuery Highlight plugin
         * http://bartaz.github.com/sandbox.js/jquery.highlight.html
         *
         * Based on highlight v3 by Johann Burkard
         * http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html
         *
         * Copyright (c) 2009 Bartek Szopka
         *
         * Licensed under MIT license.
         */

        jQuery.extend({
            highlight: function (node, re, nodeName, className, abbrtitle) {
                if (node.nodeType === 3) {
                    var match = node.data.match(re);
                    if (match) {
                        var highlight = document.createElement(nodeName || 'abbr');
                        highlight.className = className || 'abbrdone';
                        highlight.setAttribute('title', abbrtitle); //Added abbr attribute: title
                        var wordNode = node.splitText(match.index);
                        wordNode.splitText(match[0].length);
                        var wordClone = wordNode.cloneNode(true);
                        highlight.appendChild(wordClone);
                        wordNode.parentNode.replaceChild(highlight, wordNode);
                        return 1; //skip added node in parent
                    }
                } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children
                        !/(script|style)/i.test(node.tagName) && // ignore script and style nodes
                        !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted
                    for (var i = 0; i < node.childNodes.length; i++) {
                        i += jQuery.highlight(node.childNodes[i], re, nodeName, className, abbrtitle);
                    }
                }
                return 0;
            }
        });

        jQuery.fn.highlight = function (words, options) {
            var settings = { className: 'abbrdone', element: 'abbr', caseSensitive: false, wordsOnly: false };
            jQuery.extend(settings, options);

            if (words.constructor === String) {
                words = [words];
            }
            words = jQuery.grep(words, function(word, i){
              return word != '';
            });
            words = jQuery.map(words, function(word, i) {
              return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
            });
            if (words.length == 0) { return this; };
            if (settings.abbrtitle.length == 0) { return this; }; // abbrtitle should be filled in

            var flag = settings.caseSensitive ? "" : "i";
            var pattern = "(" + words.join("|") + ")";
            if (settings.wordsOnly) {
                pattern = "\\b" + pattern + "\\b";
            }
            var re = new RegExp(pattern, flag);
           
            return this.each(function () {
                jQuery.highlight(this, re, settings.element, settings.className, settings.abbrtitle);
            });
        };
    </script>
    <script type="text/javascript">
        $(document).ready(function() {
            var abbrlist = {
                "unity": "This is another test",
                "test": "This is a test",
            };
            for (x in abbrlist) {
                $('.content').highlight(x, {abbrtitle: abbrlist[x]});
            };
        });
    </script>
    <style type="text/css">
        abbr {
            color: purple !important;
            background-color: #D8DA3D !important;
            cursor:help !important;
        }
    </style>
</head>
<body>
    <div>
    <p>test my root </p>
    <p>test my <a href="http://www.example.com/unity"> unity </a></p>
    <abbr title="testing!">testing</abbr>
    <div class="content">Hello world! test test2 <a href="#test">test 3 test3</a></div>
    <div class="content"><b>test unity.</b><a href="www.unity.com/1-unity">unity2 unity 3 unity.</a></div>
    </div>
</body>
</html>
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό the_eye » 05 Δεκ 2011, 23:33

@medigeek
Φαίνεται πολύ καλή δουλειά θα το δοκιμάσω.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό the_eye » 18 Δεκ 2011, 02:31

Έκανα μια διόρθωση του BUG στο θέμα μέσω της php.
Για τεστάρετε και αναφέρετε αν δείτε κάπου πρόβλημα.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Επεξεργασία url από το φόρουμ με κακά αποτελέσματα

Δημοσίευσηαπό alkismavridis » 31 Μάιος 2014, 23:38

Καλησπέρα σε όλους.

Ήθελα να κάνω μία παρατήρηση για το site του φόρουμ, κάτι που θα το χαρακτήριζα ως bug.

Κάποιες λέξεις-κλειδιά αναγνωρίζονται από το site του φόρουμ σε κάθε δημοσίευση, και όταν περνάς τον κέρσορα του ποντικιού σου από πάνω, βγαίνει ένα ερωτηματικό, και πατώντας το έρχεται η επεξήγηση του εν λόγω όρου.

Φυσικά αυτό είναι πολύ χρήσιμο και ωραίο... αλλά!

Η ίδια επεξεργασία γίνεται και στα link. Για παράδειγμα αν χρησιμοποιήσω στη δημοσίευσή μου το url tag, και ένα μέρος του link αναγνωριστεί σαν λέξη-κλειδί, τότε το site που θα ανοίξει, αντί για τη λέξη κλειδί θα περιέχει... την επεξήγησή της!

Αποτέλεσμα; Ο χρήστης που βλέπει τη δημοσίευσή μου και κάνει κλικ στο link, παραπέμπεται σε ανύπαρκτο link.

Παράδειγμα χρειάστηκε σε μία δημοσίευσή μου να χρησιμοποιήσω τη σελίδα:
http://grepcode.com/file/repository.gre ... shMap.java

(και ολόκληρο σε εισαγωγικά: "http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/HashMap.java")

Η λέξη root στο link αναγνωρίζεται και αντικαθίσταται από την επεξήγησή της: "Είναι ο υπερχρήστης στο linux" με προφανή αποτελέσματα...

Αν έχω καταλάβει εγώ κάτι λάθος συγχωρέστε με.
Ευχαριστώ!
Γνώσεις ⇛ Linux: Μέτριο┃ Προγραμματισμός: Java, Assembly, Fortran, μαθαίνω C/X11┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 14.04 64-bit ┃ Τρόπος εγκατάστασης: Live USB
Προδιαγραφές ⇛ Desktop: Intel i5 2320 3.00GHz.┃ MotherBoard: Asus p8h61 -m pro
Προδιαγραφές ⇛ RAM: 4GB ┃ Τροφοδοτικό Corsair CX430

GPU: Intel 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] {i915}
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: 0b05:1723 ASUS WL-167G v2 802.11g Adapter [Ralink RT2571W]
Οθόνη Schaub Lorenz (Tv)
alkismavridis
punkTUX
punkTUX
 
Δημοσιεύσεις: 273
Εγγραφή: 18 Μαρ 2009, 18:46
Εκτύπωση

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό the_eye » 01 Ιουν 2014, 00:17

Ναι είναι γνωστό bug.
Ευχαριστούμε
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

Re: Νέο χαρακτηριστικό στο forum tip

Δημοσίευσηαπό alkismavridis » 01 Ιουν 2014, 01:14

οκ!
Γνώσεις ⇛ Linux: Μέτριο┃ Προγραμματισμός: Java, Assembly, Fortran, μαθαίνω C/X11┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 14.04 64-bit ┃ Τρόπος εγκατάστασης: Live USB
Προδιαγραφές ⇛ Desktop: Intel i5 2320 3.00GHz.┃ MotherBoard: Asus p8h61 -m pro
Προδιαγραφές ⇛ RAM: 4GB ┃ Τροφοδοτικό Corsair CX430

GPU: Intel 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] {i915}
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: 0b05:1723 ASUS WL-167G v2 802.11g Adapter [Ralink RT2571W]
Οθόνη Schaub Lorenz (Tv)
alkismavridis
punkTUX
punkTUX
 
Δημοσιεύσεις: 273
Εγγραφή: 18 Μαρ 2009, 18:46
Εκτύπωση

Προηγούμενη

Επιστροφή στο Προτάσεις για την βελτίωση του forum