List of commits:
Subject Hash Author Date (UTC)
totálnì hustej HTML parsing je implementován eeba45d9811c83e9199d3a5929102c192e54b216 Alex 2022-07-18 02:11:49
add show source feature 8c963667a609e9c91f5a94963786ca2e4a7f88a4 Alex 2022-07-17 03:46:17
IvoR: if parser falls, try to convert to utf-8 from system encoding ea17d81bc65b6a5e79d202d5a6b36fcae854cc1b Alex 2022-07-17 02:33:02
feedtree: add Copy URL option to context menu a9170b64e6b1bca22cb807a7afa0fe35b6611cbe Alex 2022-07-16 23:00:07
feedtree: keep track of the latest guid fa1cf2508ade717fc3aa3bf8224a51b685e1636b Alex 2022-07-16 22:42:30
lurk: track parsed position, show meaningful status to user 80ce4ada68e657b196b4e173747a873a54f33c36 Alex 2022-07-16 13:34:54
small fix, polo¾ky pøebarvíme v¾dycky 6b408d667cb85f06e21767c6bbd77c2bfd9a2ac7 Alex 2022-07-16 04:05:04
tree part is ready 67d1bde2bcee775f23f8fc03cc474fd6b06c390b Alex 2022-07-16 03:28:08
finish feeds tree deea8b12636ba4a19ee256629a9a2a9874baf9c1 Alex 2022-07-15 17:10:11
Explore window is ready... 959e6dbf4fc77e315ac12847a481e25f50785ed4 Alex 2022-07-14 22:13:38
fixes in lurk code d741423d070a4d51b76d270fac70e0b0c3d04035 Alex 2022-07-14 15:29:42
Clear explored list by inbuild function 9ec9232bf28d0d83461e89fa89e8105983d5e3ba Alex 2022-07-14 14:09:54
implement URL constructing (complement URLs) f4798ed246e9c6d4b1a611b48ed5a7eb28c8938d Alex 2022-07-14 01:16:31
parser part of Explore is ready 87b01db3296eab71b2a510c4d0924127efac1a7f Alex 2022-07-13 22:36:39
prepare code for Explore 76b6472a8ad28564a55c6bd39f55ba050dd3599f Alex 2022-07-13 19:05:02
advance Explore window by statusbar and Stop button 8f7ae012ede287fc6e20fd5727fd215293c75b25 Alex 2022-07-13 17:24:24
prepare Explore window 9da7bcfcc06c986dd4ece8813096a9086ad690fc Alex 2022-07-13 01:59:32
comment out Edit option: není na to podpora v MUI Royale. Posunout polo¾ky menu, aby kursor nedopadal poøad na Remove 46c2f3cbbc2912eefb9504c7632f65ed57bc47e5 Alex 2022-07-12 23:14:48
fix code formatting for remove requesters 535d4b6515a4744e0b6af6090daadbb85f38b8cf Alex 2022-07-12 23:04:43
implement adding of single feed e938d0a6d769c7caf876dfdba9f43ce668eb4690 Alex 2022-07-12 22:05:10
Commit eeba45d9811c83e9199d3a5929102c192e54b216 - totálnì hustej HTML parsing je implementován
Author: Alex
Author date (UTC): 2022-07-18 02:11
Committer name: Alex
Committer date (UTC): 2022-07-18 02:11
Parent(s): 8c963667a609e9c91f5a94963786ca2e4a7f88a4
Signer:
Signing key:
Signing status: N
Tree: a0547e7e3e375a19af0fcb0f7072ab3b8cddaa54
File Lines added Lines deleted
IvoR.hws 7 7
textfield.hws 105 0
File IvoR.hws changed (mode: 100755) (index 56bbaba..d380be7)
... ... EndFunction
140 140 Function CharacterData(p, str$) Function CharacterData(p, str$)
141 141 ;DebugPrint("CD: ", str$) ;DebugPrint("CD: ", str$)
142 142 If channel_level If channel_level
143 If current_element$ = "title" Then mui.Set("channel_title", "Contents", StripStr(str$))
144 If current_element$ = "description" Then mui.Set("channel_description", "Contents", StripStr(str$))
143 If current_element$ = "title" Then mui.Set("channel_title", "Contents", tf_Label(str$))
144 If current_element$ = "description" Then mui.Set("channel_description", "Contents", tf_Label(str$))
145 145
146 146 else else
147 If current_element$ = "title" Then current_item.title = StripStr(str$)
148 If current_element$ = "pubDate" Then current_item.pubdate = StripStr(str$)
149 If current_element$ = "description" Then current_item.description = StripStr(str$)
147 If current_element$ = "title" Then current_item.title = tf_Label(str$)
148 If current_element$ = "pubDate" Then current_item.pubdate = tf_Label(str$)
149 If current_element$ = "description" Then current_item.description = current_item.description ..str$
150 150 If current_element$ = "category" If current_element$ = "category"
151 151 If current_item.category = "" If current_item.category = ""
152 current_item.category = str$
152 current_item.category = tf_Label(str$)
153 153 Else Else
154 current_item.category = current_item.category .. ", " .. StripStr(str$)
154 current_item.category = current_item.category .. ", " .. tf_Label(str$)
155 155 EndIf EndIf
156 156 Endif Endif
157 157 EndIf EndIf
File textfield.hws added (mode: 100755) (index 0000000..149969e)
1 ;č zde naším úkolem nikoliv dokonalá podpora HTML,
2 ;č na to je HTMLView v RapaGUI,
3 ;č ale vyříznutí html tegů, aby neotravovaly čtení
4
5 Function tf_TextField(html$)
6 html$ = tf_ParseHTML(html$)
7 html$ = tf_StripHTML(html$)
8 html$ = tf_HtmlCharacters(html$)
9
10 Return(StripStr(html$))
11 EndFunction
12
13 Function tf_Label(html$)
14 html$ = tf_StripHTML(html$)
15 html$ = tf_HtmlCharacters(html$)
16
17 Return(StripStr(html$))
18 EndFunction
19
20
21 Function tf_HtmlCharacters(html$)
22 html$ = ReplaceStr(html$, " ", "\194\160", False, 0, #ENCODING_RAW)
23 html$ = ReplaceStr(html$, " ", "\194\160", True, 0, #ENCODING_RAW)
24 html$ = ReplaceStr(html$, " ", "\194\160", False, 0, #ENCODING_RAW)
25
26 ;html$ = ReplaceStr(html$, "§", "§", False, 0, #ENCODING_UTF8)
27 html$ = ReplaceStr(html$, "—", "--", False, 0, #ENCODING_RAW)
28 html$ = ReplaceStr(html$, "–", "-", False, 0, #ENCODING_RAW)
29 html$ = ReplaceStr(html$, "–", "-", True, 0, #ENCODING_RAW)
30
31 html$ = ReplaceStr(html$, "&", "&", True, 0, #ENCODING_RAW)
32 html$ = ReplaceStr(html$, "&", "&", True, 0, #ENCODING_RAW)
33
34 html$ = ReplaceStr(html$, """, "\34", False, 0, #ENCODING_RAW)
35 html$ = ReplaceStr(html$, "«", "\194\171", False, 0, #ENCODING_RAW)
36 html$ = ReplaceStr(html$, "»", "\194\187", False, 0, #ENCODING_RAW)
37 html$ = ReplaceStr(html$, "’", "\'", False, 0, #ENCODING_RAW)
38 html$ = ReplaceStr(html$, "…", "...", False, 0, #ENCODING_RAW)
39 html$ = ReplaceStr(html$, "…", "...", False, 0, #ENCODING_RAW)
40
41 html$ = ReplaceStr(html$, "&lt;", "<", False, 0, #ENCODING_RAW)
42 html$ = ReplaceStr(html$, "&gt;", ">", False, 0, #ENCODING_RAW)
43
44
45 ;č A teď...
46 html$ = PatternReplaceStr(html$, "&#(%d+);", Chr)
47
48 Return(html$)
49 EndFunction
50
51
52
53 Function tf_ParseHTML(html$)
54 html$ = ReplaceStr(html$, "<br>", "\n", False, 0, #ENCODING_RAW)
55 html$ = ReplaceStr(html$, "<br />", "\n", False, 0, #ENCODING_RAW)
56 html$ = ReplaceStr(html$, "<p>", "\n", False, 0, #ENCODING_RAW)
57 html$ = ReplaceStr(html$, "</p>", "\n", False, 0, #ENCODING_RAW)
58 html$ = ReplaceStr(html$, "<u>", "\27u", False, 0, #ENCODING_RAW)
59 html$ = ReplaceStr(html$, "</u>", "\27n", False, 0, #ENCODING_RAW)
60 html$ = ReplaceStr(html$, "<b>", "\27b", False, 0, #ENCODING_RAW)
61 html$ = ReplaceStr(html$, "</b>", "\27n", False, 0, #ENCODING_RAW)
62 html$ = ReplaceStr(html$, "<i>", "\27i", False, 0, #ENCODING_RAW)
63 html$ = ReplaceStr(html$, "</i>", "\27n", False, 0, #ENCODING_RAW)
64 html$ = ReplaceStr(html$, "<em>", "\27i", False, 0, #ENCODING_RAW)
65 html$ = ReplaceStr(html$, "</em>", "\27n", False, 0, #ENCODING_RAW)
66 html$ = ReplaceStr(html$, "<li>", "- ", False, 0, #ENCODING_RAW)
67 html$ = ReplaceStr(html$, "</li>", "\n", False, 0, #ENCODING_RAW)
68 html$ = ReplaceStr(html$, "<strong>", "\27b", False, 0, #ENCODING_RAW)
69 html$ = ReplaceStr(html$, "</strong>", "\27n", False, 0, #ENCODING_RAW)
70
71 html$ = ReplaceStr(html$, "[br]", "\n", False, 0, #ENCODING_RAW)
72 ;html$ = ReplaceStr(html$, "[br /]", "\n", False, 0, #ENCODING_RAW)
73 html$ = ReplaceStr(html$, "[p]", "\n", False, 0, #ENCODING_RAW)
74 html$ = ReplaceStr(html$, "[/p]", "\n", False, 0, #ENCODING_RAW)
75 html$ = ReplaceStr(html$, "[u]", "\27u", False, 0, #ENCODING_RAW)
76 html$ = ReplaceStr(html$, "[/u]", "\27n", False, 0, #ENCODING_RAW)
77 html$ = ReplaceStr(html$, "[b]", "\27b", False, 0, #ENCODING_RAW)
78 html$ = ReplaceStr(html$, "[/b]", "\27n", False, 0, #ENCODING_RAW)
79 html$ = ReplaceStr(html$, "[i]", "\27i", False, 0, #ENCODING_RAW)
80 html$ = ReplaceStr(html$, "[/i]", "\27n", False, 0, #ENCODING_RAW)
81 html$ = ReplaceStr(html$, "[em]", "\27i", False, 0, #ENCODING_RAW)
82 html$ = ReplaceStr(html$, "[/em]", "\27n", False, 0, #ENCODING_RAW)
83 html$ = ReplaceStr(html$, "[li]", "- ", False, 0, #ENCODING_RAW)
84 html$ = ReplaceStr(html$, "[/li]", "\n", False, 0, #ENCODING_RAW)
85 html$ = ReplaceStr(html$, "[strong]", "\27b", False, 0, #ENCODING_RAW)
86 html$ = ReplaceStr(html$, "[/strong]", "\27n", False, 0, #ENCODING_RAW)
87
88 Return(html$)
89 EndFunction
90
91 Function tf_StripHTML(html$)
92 html$ = ReplaceStr(html$, "</a>", "", False, 0, #ENCODING_RAW)
93 html$ = ReplaceStr(html$, "</div>", "", False, 0, #ENCODING_RAW)
94 html$ = ReplaceStr(html$, "</span>", "", False, 0, #ENCODING_RAW)
95
96 ;html$ = PatternReplaceStr(html$, "<a.->", "")
97 ;html$ = PatternReplaceStr(html$, "<img.->", "")
98 ;html$ = PatternReplaceStr(html$, "<div.->", "")
99 ;html$ = PatternReplaceStr(html$, "<span.->", "")
100
101 html$ = PatternReplaceStr(html$, "<.->", "")
102
103
104 Return(html$)
105 EndFunction
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/iam-git/IvoRSS

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/iam-git/IvoRSS

Clone this repository using git:
git clone git://git.rocketgit.com/user/iam-git/IvoRSS

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main