Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision fdf75973

Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt

  • ID fdf7597332df01ebb0558eb76b6295671767658b
  • Vorgänger 5b414a78
  • Nachfolger 56deb2d2

Hilfesystem: einfache Intra-Hilfe-Links mit [Text](help:controller/action)

Unterschiede anzeigen:

SL/HelpSystem/MultiMarkdown.pm
25 25
  my ($self, $file_name) = @_;
26 26

  
27 27
  my $markup = Encode::decode('utf-8', scalar(File::Slurp::slurp($file_name)));
28
  return $self->multimarkdown->markdown($markup);
28
  my $html   = $self->multimarkdown->markdown($markup);
29
  $html      = $self->_processh_intra_help_links($html);
30

  
31
  return $html;
29 32
}
30 33

  
34
sub _processh_intra_help_links {
35
  my ($self, $html) = @_;
36

  
37
  # <a href="help:_tests/lorem_ipsum">
38

  
39
  $html =~ s{
40
    ( <a \s+ href \s* = \s* " ) help:
41
  }{
42
    $1 . qq|controller.pl?action=Help/show&context=|
43
  }gxe;
44

  
45
  return $html;
46
}
47

  
48

  
31 49
1;
doc/help_system.md
104 104

  
105 105
In der Hilfe-Ausgabe selber besitzt das `<body>`-Element die CSS-Klasse `kivitendo-help`. Darüber können CSS-Regeln alle Elemente greifen.
106 106

  
107
## Einfache Hilfe-Links
108

  
109
Links auf andere Hilfe-Texte können wie andere Links auch angegeben werden. Um die Verlinkung zu erleichtern, wird als Link-Ziel die folgende Syntax unterstützt: `help:WANTED_CONTROLLER/WANTED_ACTION`
110

  
107 111
## Zu implementierende Features, zu behebende Bugs
108 112

  
109 113
Die folgenden Dinge müssen in `Text::MultiMarkup` implementiert bzw. behoben werden:
......
114 118

  
115 119
Auf Github existiert dafür auch ein [pull request](https://github.com/bobtfish/text-multimarkdown/pull/17).
116 120

  
117
### Einfachere Hilfe-Links
118

  
119
Links auf andere Hilfe-Texte müssen momentan mühsam als `controller.pl?action=Help/show&context=WANTED_CONTROLLER/WANTED_ACTION` angegeben werden. Schöner wäre es, wenn man einfach als Linkziel `help:WANTED_CONTROLLER/WANTED_ACTION` angeben könnte.
120

  
121 121
## Zukünftige Erweiterungsmöglichkeiten
122 122

  
123 123
### Kommentare von BenutzerInnen
templates/webpages/help/content/de/_tests/features_1.mmd
50 50

  
51 51
Externe Links wie z.B. zur [kivitendo-Homepage](http://www.kivitendo.org/) sind auch wichtig.
52 52

  
53
Andererseits: manchmal will man auch auf [andere Hilfeseiten](help:_tests/lorem_ipsum) verlinken. Auch Hilfe-Links mit [Ankern](help:_tests/lorem_ipsum#utvehiculaturpis) sollten funktionieren.
54

  
53 55
Codeblöcke sind interessant. Diese werden eingerückt:
54 56

  
55 57
    package Sparta;
templates/webpages/help/content/de/_tests/lorem_ipsum.mmd
1
# Lorem ipsum
2

  
3
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi varius ante nisl, rutrum laoreet enim bibendum et. Nunc porta dolor in leo dictum dapibus. Sed sodales gravida ornare. Proin sed magna mi. Aenean aliquam, dolor pellentesque ullamcorper sollicitudin, lectus quam aliquet dui, quis sagittis nulla mi a tortor. Ut efficitur egestas leo, quis euismod turpis maximus eu. Duis suscipit, quam commodo egestas sollicitudin, nisl risus hendrerit nisl, eu bibendum felis turpis vitae lectus. Fusce a nisl faucibus, facilisis odio vitae, fermentum elit. Aliquam in turpis id velit tristique viverra id nec orci. Aliquam vel leo ac ipsum mollis ullamcorper. Ut vitae lacus ac dolor lacinia auctor in ac enim. Donec velit lacus, fringilla quis ligula quis, elementum rhoncus orci. Integer non ultricies mauris, et finibus tortor. Proin sed sollicitudin tellus. Sed faucibus ante eu mi elementum blandit.
4

  
5
Cras egestas erat non sapien pulvinar blandit. Praesent sit amet erat non mi interdum lacinia. Vivamus tristique quis velit et porta. Vivamus auctor tellus enim, eget aliquet nulla vestibulum vel. Proin justo ipsum, porttitor ut leo eu, porta porta ipsum. Etiam tellus magna, malesuada quis tempus nec, ultrices in erat. Integer quis viverra metus, et mattis sapien. Phasellus quam felis, interdum eget ornare vitae, mollis commodo eros. Curabitur finibus purus diam, nec scelerisque neque iaculis at. Cras porta aliquet tincidunt. Praesent lacinia ultrices nisi, sed faucibus neque rutrum vel.
6

  
7
Aliquam euismod, purus non posuere sagittis, diam neque accumsan sapien, ac tempus ante diam at elit. Ut at urna at nisl pellentesque euismod non ac risus. Duis sed augue in dui malesuada eleifend sed nec risus. Suspendisse potenti. Aenean mauris ipsum, convallis et lorem a, luctus interdum neque. Donec scelerisque dapibus convallis. Etiam vel nulla ut urna convallis ultricies. Mauris rutrum ligula id rutrum accumsan. Nulla facilisi. Vestibulum eu augue erat. Cras nibh enim, facilisis vel odio quis, pharetra ultricies nisl. Nulla pulvinar leo a leo mattis, ac ullamcorper purus tincidunt. Sed vel velit et purus tristique posuere.
8

  
9
Donec placerat tristique massa eu iaculis. Pellentesque pulvinar aliquet varius. Nulla faucibus cursus nulla. Nulla hendrerit odio felis, in ullamcorper libero mattis vel. Aenean quis ipsum at urna congue ultricies. Sed odio nibh, iaculis quis lacus sed, congue feugiat massa. Nullam commodo lobortis eros, id fringilla elit accumsan vitae. Maecenas mattis libero in posuere egestas. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus rutrum sapien leo, at ultrices diam tristique at.
10

  
11
## Ut vehicula turpis
12

  
13
Ut vehicula turpis a dolor vehicula, eu lobortis metus accumsan. Aliquam molestie ipsum at tortor tincidunt efficitur. Proin vitae venenatis leo. Proin at nunc et metus iaculis malesuada et sed odio. Ut ante tellus, ullamcorper eget sollicitudin id, fringilla sit amet lectus. Morbi et pharetra sem, quis euismod nisi. Nam congue nunc ut dapibus scelerisque. Sed ornare erat vel massa luctus, eget accumsan libero maximus. Praesent mattis turpis in libero convallis, id rutrum mi congue. Cras libero elit, laoreet eu ex vel, bibendum pharetra sapien. Proin porttitor lorem vel metus dictum, vel pharetra turpis tincidunt.
14

  
15
Pellentesque pulvinar sit amet nunc eu tempor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam id tellus ac est dignissim elementum a tristique libero. Nulla facilisi. Sed at pellentesque turpis. Pellentesque sed hendrerit lectus, vel finibus leo. Aliquam vehicula condimentum feugiat.
16

  
17
Maecenas non iaculis odio. Maecenas ultricies diam sed diam aliquet blandit eget a ex. Etiam consequat tincidunt porttitor. Maecenas egestas purus in ligula auctor porta. Vivamus fringilla ligula felis, sit amet elementum urna aliquam vel. Integer pretium odio leo, pharetra rutrum arcu dictum id. Duis volutpat accumsan mi vel maximus. Aliquam molestie odio sed ipsum vulputate, ac porta turpis consectetur. In convallis nisl nec velit convallis elementum. Aliquam erat volutpat. Phasellus pretium lacinia dui, id venenatis massa feugiat a.
18

  
19
## Nullam iaculis
20

  
21
Nullam iaculis lacus ac erat lobortis, nec hendrerit quam pharetra. Pellentesque dignissim cursus diam in aliquet. Aenean finibus, nisi ut mattis aliquet, risus erat luctus nisl, id mollis felis augue eu ante. Etiam at libero ipsum. Etiam ante sem, lacinia vel tincidunt sed, placerat semper libero. Ut viverra efficitur risus at ornare. Sed a felis sed nulla hendrerit placerat. Vivamus feugiat maximus tellus quis cursus. Aliquam mollis, lorem ac faucibus cursus, ipsum nibh hendrerit risus, commodo tincidunt massa massa at ex. Aliquam erat volutpat. Suspendisse vitae nunc lorem.
22

  
23
### Morbi non augue
24

  
25
Morbi non augue tortor. Sed iaculis risus ut sem tempor, non elementum odio eleifend. Aliquam hendrerit metus tempor dapibus egestas. Aenean ac tempor ante, ut aliquet risus. Integer semper id orci eget cursus. Maecenas quis lorem sem. Suspendisse rutrum, tellus ultrices volutpat lacinia, arcu urna aliquam tellus, ut malesuada ipsum lacus et turpis. Nulla et molestie neque. Sed urna ante, cursus ac elementum vitae, hendrerit eget arcu.
26

  
27
### Phasellus mi diam
28

  
29
Phasellus mi diam, laoreet at ipsum ac, sollicitudin tristique arcu. Sed mattis libero vitae magna sodales, interdum feugiat lectus gravida. Quisque cursus massa vitae convallis imperdiet. Nullam auctor, magna sed lobortis placerat, sapien nisi aliquet diam, a scelerisque sapien elit vel ante. Pellentesque tempus tristique ex, sed tristique lectus euismod quis. Etiam vestibulum ultricies nibh, ac fermentum sem luctus ut. Suspendisse dictum velit at imperdiet congue. Proin et mi odio. Cras volutpat justo augue, quis tincidunt odio suscipit id. Mauris luctus rhoncus dolor, ac ultricies est porta tincidunt.
30

  
31
Proin blandit, nunc sed vehicula rhoncus, eros massa laoreet nisl, sed ullamcorper magna enim et est. Sed at ante facilisis, pretium neque et, ornare diam. Sed auctor urna et dui molestie, sit amet condimentum est tincidunt. Praesent ipsum libero, volutpat at gravida vel, consectetur sed metus. Suspendisse eget enim vitae dolor venenatis dignissim id id justo. Nulla egestas felis augue, a cursus metus ornare eget. Mauris mattis aliquet nulla, vel tempus felis pharetra scelerisque. Aliquam dictum lorem a nisl posuere, consequat ullamcorper est bibendum. Proin id eleifend dui. Vestibulum lacinia rhoncus enim, ac rhoncus turpis finibus eu.
32

  
33
### Nunc eget maximus
34

  
35
Nunc eget maximus nisl, a semper eros. Phasellus mauris magna, faucibus ut diam ut, ultrices ultricies augue. Phasellus dui ipsum, molestie a posuere sed, commodo in dolor. Cras eu congue libero, id viverra dui. Duis et nibh in ligula posuere aliquet. Ut ullamcorper urna dapibus purus interdum porta. In imperdiet molestie nulla a faucibus. Vestibulum ac congue nibh. Sed sed magna ipsum. Nulla volutpat, ligula a dapibus posuere, dui diam vulputate nunc, sit amet consectetur est ipsum in felis. Mauris non tempus mauris. Ut vel suscipit diam, nec tempor nisi. Mauris sit amet mauris et libero feugiat sagittis quis sed odio.
36

  
37
Duis egestas consectetur porttitor. Etiam vel turpis urna. Nam ut porta urna. Nunc fermentum, mauris ut volutpat vehicula, lacus leo pretium nunc, sit amet viverra lectus sapien vitae turpis. Sed diam nisi, eleifend ut mollis in, ultrices in purus. Nunc id consequat justo. Vestibulum condimentum urna sit amet elit tempor dignissim eu vitae sem. Nullam eros orci, tempor et dictum et, tincidunt id erat. Curabitur eget libero mauris. Pellentesque faucibus tortor elit. Fusce quis varius ante. Curabitur interdum eu nisi sit amet tristique.
38

  
39
Fusce nec quam ante. Fusce dignissim condimentum nulla, vitae pretium nulla pellentesque sed. Ut fringilla iaculis purus vel elementum. Quisque arcu risus, posuere id erat id, eleifend pulvinar turpis. Nulla dictum commodo lorem pellentesque fermentum. Sed malesuada efficitur fringilla. Quisque dictum, magna non porta fringilla, nisl velit eleifend purus, sed convallis mi nibh eu erat. Donec ultricies euismod quam a vulputate. Ut sit amet odio orci. Phasellus sed auctor risus.
40

  
41
## Donec tincidunt massa
42

  
43
Donec tincidunt massa eget bibendum faucibus. Nulla luctus tincidunt nisl eu scelerisque. Praesent sodales faucibus velit eu viverra. Nullam tristique lectus tempus auctor bibendum. Curabitur consectetur nec turpis a mattis. Aenean non orci cursus, fringilla nibh a, mollis dui. Aenean odio ipsum, sodales hendrerit diam et, mollis ultricies sem.
44

  
45
Nam sollicitudin blandit magna, nec pretium tortor tempor in. Proin vehicula eget nisi sit amet blandit. Nam non gravida augue, ac venenatis quam. Phasellus non risus nec erat pulvinar luctus ullamcorper feugiat metus. Vestibulum at nisi sed est ultrices venenatis eget a tellus. In a placerat metus. Etiam vitae gravida est. Vestibulum fringilla nisl at nisl viverra bibendum.
46

  
47
Suspendisse sed condimentum turpis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec urna est, tristique a aliquet in, gravida quis velit. Mauris nisi nulla, auctor ac cursus eu, commodo eu justo. Donec sodales turpis nec dolor ultricies interdum. In hac habitasse platea dictumst. Maecenas accumsan placerat dui, sed sollicitudin odio auctor ac. In tellus nibh, porttitor vitae mattis in, congue vitae nisi. Vestibulum in enim diam. Donec quis magna in sem faucibus dictum a eget sem. Etiam euismod scelerisque tellus, id mollis ante porta non. Vivamus id nibh ac erat malesuada interdum nec id odio. Aenean commodo dolor massa, id vestibulum mauris convallis nec. Fusce pulvinar tellus a porttitor aliquet. Nullam nec sem mauris.
48

  
49
## Praesent vel massa
50

  
51
Praesent vel massa iaculis, venenatis eros in, ultrices enim. Nulla nisl nibh, mollis ac est eget, maximus sagittis lacus. Proin pharetra erat urna, non cursus elit mollis quis. Ut vel volutpat libero. Duis id ultrices erat. Nunc congue iaculis venenatis. Nam scelerisque tellus nulla, sit amet porttitor elit fermentum at. Nunc non enim eleifend, lobortis nisl non, bibendum elit. Suspendisse ut pulvinar felis. Curabitur luctus sollicitudin risus id aliquam. Nulla facilisi. Aliquam placerat, arcu eu finibus tincidunt, turpis sapien sollicitudin dui, a aliquet est sapien ut nisl. Sed magna nibh, commodo nec orci vitae, aliquet semper dolor. Proin vehicula, odio eget ornare ultricies, dui est commodo urna, id varius nisi diam vel elit. Etiam elit tortor, vulputate at lobortis ac, vulputate et ipsum. Donec id cursus leo.
52

  
53
Ut nec dapibus neque. Quisque vestibulum velit et arcu scelerisque viverra. Aenean vitae facilisis neque, ac aliquam risus. Phasellus tempor quis massa vel accumsan. Maecenas ac ornare tortor. Morbi ultrices nibh ligula, sit amet porta dui porttitor non. Proin non mauris dolor. Maecenas sit amet lacinia arcu. Suspendisse vel nunc sed massa ullamcorper porta. Suspendisse nec mollis nunc, eu cursus dolor. Cras ac tempus lacus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam erat volutpat. Cras quis justo lobortis, egestas nulla non, maximus ipsum. Aliquam tristique sed justo eu rutrum.
54

  
55
Donec eleifend ac nibh quis pharetra. Maecenas in porta neque. Pellentesque in imperdiet massa. Integer bibendum purus velit, ut vehicula tortor luctus eu. Ut tincidunt quis velit vel eleifend. Curabitur fermentum ligula sit amet metus commodo lobortis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum molestie libero odio, non laoreet justo finibus id. Duis in odio non mauris ullamcorper scelerisque a sit amet justo. Quisque ut egestas dolor. In eu bibendum odio. Maecenas dignissim non neque in elementum. Quisque ac feugiat risus. Nullam aliquet, quam non tincidunt aliquet, ipsum sapien consectetur lacus, in blandit elit justo a ex.

Auch abrufbar als: Unified diff