Selbst wenn man den [ Python ]-Button verwendet, rät Highlight.js — und das oft falsch. Kann man das Plugin so ändern, dass es wenigstens beim Python-Button fest Python highlightet? Und wie schwer wäre es bei [ code ] ein [ code = irgendwas ] zu erlauben und das `irgendwas` dann einfach als `class` auf dem <code>-Tag im HTML setzen zu lassen? Denn das sollte highlight.js dann dem Raten bevorzugen. Welches phpBB-Plugin wird denn verwendet?
Und für meinen Geschmack kann das eingesetzte highlight.js zu wenige Sprachen. Eigentlich kann es ja laut Webseite 176 Programmier- und Auszeichnungssprachen, das hier im Forum eingesetzte kann aber nur 23 (apache, bash, coffeescript, cpp, cs, css, diff, http, ini, java, javascript, json, makefile, xml, markdown, nginx, objectivec, perl, php, python, ruby, shell, sql). Also für meinen Geschmack kann es da ja gar nicht genug Auswahl geben (kein Basic, Pascal (Delphi), und kein x86-Assembler‽ ), aber wirklich fehlen tun hier zum Beispiel Django-Templates, Hy, QML, und YAML.
Syntax-Highlighting
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
- sls
- User
- Beiträge: 480
- Registriert: Mittwoch 13. Mai 2015, 23:52
- Wohnort: Country country = new Zealand();
Ich erdreiste mich diesen Thread für die Frage zu nutzen, ob man einen Mechanismus implementieren kann der erkennt wann Leute Python Source-Code in einen Beitrag pasten und diese dann zwingt ihn mit entsprechenden Code-Tags zu formatieren. (Ähnlich wie bei Stackoverflow)
Das ist ja eine der Sachen die wirklich am konsequentesten ignoriert wird.
Das ist ja eine der Sachen die wirklich am konsequentesten ignoriert wird.
When we say computer, we mean the electronic computer.
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@sls: Ich schätze ”man” kann, es müsste nur jemanden geben der ein entsprechendes Plugin für phpBB schreibt, oder es zumindest sucht und findet, falls es so etwas schon geben sollte.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
- sls
- User
- Beiträge: 480
- Registriert: Mittwoch 13. Mai 2015, 23:52
- Wohnort: Country country = new Zealand();
Stackoverflow scheint Code-prettify (https://github.com/google/code-prettify) zu verwenden. Evtl. ist das eine Option, falls man das mit highlight.js nicht umsetzen kann.
When we say computer, we mean the electronic computer.
Ist mir seitdem ich hier bin auch aufgefallen. Nachvollziehen kann ich es nicht.
Vielleicht sollten alle "Helper" da mal strikt sein, der erste der antwortet gibt eine Info bzgl [ code][ /code] oder [ Python][ /Python]
und das erst danach geholfen werden kann.
Alle anderen halten sich solange zurück, bis korrekt gepostet wurde.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@sls: highlight.js unterstützt mehr Sprachen und das Problem ist ja auch nicht das highlighten sondern das raten welche Sprache es ist. Das funktioniert bei SO auch nicht so viel besser, nur das dort wohl Tags eine Rolle spielen, das heisst wenn ich den Beitrag bei SO als Python tagge, wird Python mit höherer Wahrscheinlichkeit erkannt. Und wenn es gar nicht klappt kann man auch explizit die Sprache angeben. Letzteres fehlt hier. Und das ist kein highlight.js-Problem, sondern dass das phpBB-Pluging, das hier zum Einsatz kommt, das nicht vorsieht.
Ich fände es halt schön wenn [ Python ] auch tatsächlich nur Python wäre, [ code ] am besten gar nicht highlighted oder rät und es die Möglichkeit für [ code=sprache ] gäbe um die Sprache explizit anzugeben. Und dann wären mehr Sprachen als die 23 genannten nett. Das wäre mir aber letzlich nicht so wichtig wie die Möglichkeit Python-Code auch wirklich als Python-Code setzen zu können und nicht hoffen zu müssen das er als Perl oder C# geraten wird, weil das blöd aussieht wenn beispielsweise aus der Ganzzahldivision mit ``//`` plötzlich ein Kommentar wird.
Ich fände es halt schön wenn [ Python ] auch tatsächlich nur Python wäre, [ code ] am besten gar nicht highlighted oder rät und es die Möglichkeit für [ code=sprache ] gäbe um die Sprache explizit anzugeben. Und dann wären mehr Sprachen als die 23 genannten nett. Das wäre mir aber letzlich nicht so wichtig wie die Möglichkeit Python-Code auch wirklich als Python-Code setzen zu können und nicht hoffen zu müssen das er als Perl oder C# geraten wird, weil das blöd aussieht wenn beispielsweise aus der Ganzzahldivision mit ``//`` plötzlich ein Kommentar wird.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
- sls
- User
- Beiträge: 480
- Registriert: Mittwoch 13. Mai 2015, 23:52
- Wohnort: Country country = new Zealand();
@__black__: ja, das Highlighten ist nicht optimal. Ich bin auch kein Fan davon darauf zu vertrauen dass die Sprache richtig erkannt wird, gar kein Highlightning finde ich jedoch noch viel schlimmer. Wenn ich Damaskus wäre, wäre ich Damaskus, und dann würde ich vielleicht schauen ob man das implementieren kann dass der Nutzer seinen Source-Code in Code-Tags setzen *muss*, das Auswählen der richtigen Sprache sollten die Benutzer dann gerade noch so schaffen.
When we say computer, we mean the electronic computer.
- Damaskus
- Administrator
- Beiträge: 995
- Registriert: Sonntag 6. März 2005, 20:08
- Wohnort: Schwabenländle
Ja, der Highlighter ist nicht optimal.
Solange aber keiner mir eine fertige und erprobte Extension liefert, muss ich verwenden was es auf dem Markt gibt, bzw sobald ich etwas freie Zeit habe mich darum kümmern.
code-prettify ist durchaus auch einen Versuch Wert!
Kann ich bei Gelegenheit auch mal testen.
Allerdings wird es die nächsten Woche eher nichts.
Solange aber keiner mir eine fertige und erprobte Extension liefert, muss ich verwenden was es auf dem Markt gibt, bzw sobald ich etwas freie Zeit habe mich darum kümmern.
code-prettify ist durchaus auch einen Versuch Wert!
Kann ich bei Gelegenheit auch mal testen.
Allerdings wird es die nächsten Woche eher nichts.
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Damaskus: Jetzt hast Du immer noch nicht verraten *was* denn verwendet wird. Also welches phpBB-Plugin das highlight.js verwendet. Man kann highlight.js ja durchaus sagen welche Sprache es ist, damit es nicht raten muss.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
- Damaskus
- Administrator
- Beiträge: 995
- Registriert: Sonntag 6. März 2005, 20:08
- Wohnort: Schwabenländle
Achso, sry!
Ich hab die Frage bzw. die Aufgabe komplett überlesen.
Es wird gar kein Plugin mehr verwendet, sonder highlight.js ist manuell eingebaut.
Meine ich...
Ich schaue Morgen in die Doku vom Forum rein, dann kann ich es genau sagen.
Per Default sollte auch Python als Syntax angegeben werden. Aber so aus dem Kopf heraus kann ich es echt nicht sicher sagen.
Ich hab die Frage bzw. die Aufgabe komplett überlesen.
Es wird gar kein Plugin mehr verwendet, sonder highlight.js ist manuell eingebaut.
Meine ich...
Ich schaue Morgen in die Doku vom Forum rein, dann kann ich es genau sagen.
Per Default sollte auch Python als Syntax angegeben werden. Aber so aus dem Kopf heraus kann ich es echt nicht sicher sagen.
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Ping.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Und aus aktuellem Anlass mal wieder ein Ping. Der Anlass ist dieser Python-Code der in [ Python ]-Tags steht, aber als SQL gehighlighted wird, was ihn im Grunde fast unlesbar macht. Da wäre sogar *kein* Highlighting besser.
Code: Alles auswählen
def change_case(word):
"""Change case to lower if it is a short word (≤5) or upper if it
is a long word (≥7). Otherwise return word unchanged.
>>> change_case('SPAM')
'spam'
>>> change_case('Mississippi')
'MISSISSIPPI'
>>> 'Python'
'Python'
"""
if len(word) <= 5:
word = word.lower()
elif len(word) >= 7:
word = word.upper()
return word
def mix_words(words):
"""Return the words in the given iterable shuffled in a
deterministically way.
>>> words = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']
>>> mix_words(words)
['bbb', 'aaa', 'fff']
In contrast to the specification the given words can be any iterable
and if it is a sequence it is not changed by this implementation.
>>> words # Not changed!
['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff']
.. warning::
The algorithm from the specification drops up to five words
from the input. Especially when there are less than six words,
all the input is dropped. That is a bug in the specification,
not in the implementation!
Technically there is even one word too many dropped if the goal
was to avoid an :exc:`IndexError` in the shuffle algorithm.
Also per specification.
>>> [(i, mix_words(words[:i])) for i in range(1, len(words) + 1)]
[(1, []), (2, []), (3, []), (4, []), (5, []), (6, ['bbb', 'aaa', 'fff'])]
The order of the given words doesn't matter at all.
>>> import random
>>> random.shuffle(words)
>>> mix_words(words)
['bbb', 'aaa', 'fff']
.. todo::
An improvement would be to extend the result by the remaining,
currently dropped words.
"""
words = sorted(words)
indices = [-5, 0, -1]
#
# Determine minimum length of `words` so that indexing is still
# guaranteed to work.
#
min_length = max((-index if index < 0 else index + 1) for index in indices)
result = list()
#
# Could be ``>=`` to drop less words but specification says otherwise.
#
while len(words) > min_length:
result.extend(words.pop(index) for index in indices)
return result
def main():
words = map(change_case, input('Enter a saying or poem: ').split())
print(' '.join(mix_words(words)))
if __name__ == '__main__':
main()
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Hm. Also python code Highlighting geht nicht. Ist immer alles grün. Oder mach ich was falsch?
Wie ist denn jetzt die Syntax? oder ?!?
Es wäre auch gut, wenn es ein direkten Button dafür gibt Oder zumindest einen Hinweis Text unter den Buttons
Wie ist denn jetzt die Syntax?
Code: Alles auswählen
[code=python]
Code: Alles auswählen
[python]
Es wäre auch gut, wenn es ein direkten Button dafür gibt Oder zumindest einen Hinweis Text unter den Buttons
- __blackjack__
- User
- Beiträge: 13163
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@jens: Blockst Du oder Dein Browser eventuell *.cloudflare.com? Die Syntax ist [ code ] oder [ code=sprache ].
Wenn man im Browser in der JavaScript-Console folgendes eingibt:
Wird momentan diese Liste ausgespuckt:
Wenn man im Browser in der JavaScript-Console folgendes eingibt:
Code: Alles auswählen
hljs.listLanguages().forEach(x => console.log(x))
- apache
- bash
- coffeescript
- cpp
- cs
- css
- diff
- http
- ini
- java
- javascript
- json
- makefile
- xml
- markdown
- nginx
- objectivec
- perl
- php
- python
- ruby
- shell
- sqlapache
- bash
- coffeescript
- cpp
- cs
- css
- diff
- http
- ini
- java
- javascript
- json
- makefile
- xml
- markdown
- nginx
- objectivec
- perl
- php
- python
- ruby
- shell
- sql
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Ich bin zwar nicht Jens aber Danke für diesen Hinweis, mein Umatrix hat das doch tatsächlich "ungewünscht" so gemacht. Gefixt.__blackjack__ hat geschrieben: ↑Samstag 15. September 2018, 11:36 @jens: Blockst Du oder Dein Browser eventuell *.cloudflare.com? Die Syntax ist [ code ] oder [ code=sprache ].
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- Damaskus
- Administrator
- Beiträge: 995
- Registriert: Sonntag 6. März 2005, 20:08
- Wohnort: Schwabenländle
Warum wird das schon wieder von Cloudflare ausgeliefert....?!
Ich hab das doch extra lokal abgelegt, damit es nicht via cdn von irgendwo ausgeliefert wird.
Werde ich an einem der nächsten Wochenende fixen.
Ich hab das doch extra lokal abgelegt, damit es nicht via cdn von irgendwo ausgeliefert wird.
Werde ich an einem der nächsten Wochenende fixen.