about summary refs log tree commit diff stats
path: root/src/html/chadombuilder.nim
Commit message (Expand)AuthorAgeFilesLines
* Update code stylebptato2024-04-171-30/+30
* buffer: remove BufferSourcebptato2024-02-221-6/+3
* Replace Chakasu with Chagashibptato2024-02-221-111/+18
* buffer: improve style invalidationbptato2024-02-141-0/+2
* loader: fixes & improvementsbptato2024-02-131-24/+20
* Remove CLONE BufferSource; cache document sources in tmpdirbptato2024-02-121-19/+45
* chadombuilder: remove unnecessary pragmabptato2024-02-081-1/+1
* dom: reduce tagType usebptato2024-02-081-1/+1
* Fix some document.write bugsbptato2024-02-071-43/+75
* Incremental renderingbptato2024-02-071-113/+143
* Update chamebptato2024-02-071-129/+242
* Use std/* imports everywherebptato2024-01-071-3/+3
* Compile with styleCheck:usagesbptato2023-12-281-1/+1
* reduce new() usagebptato2023-10-251-1/+1
* Add innerHTML setterbptato2023-10-231-2/+39
* update chamebptato2023-09-191-0/+1
* Update submodulesbptato2023-09-141-1/+9
* javascript: factor out fromJSbptato2023-08-291-0/+1
* javascript: refactorbptato2023-08-281-1/+2
* DOMParser: use correct URLbptato2023-08-231-5/+11
* chadombuilder: implement restartbptato2023-08-151-0/+12
* Move HTML parsing into Chamebptato2023-08-151-2/+3
* Move charsets into chakasubptato2023-08-141-1/+2
* htmlparser: remove nil comparisons for Handlebptato2023-07-271-2/+3
* htmlparser: add parse error handlingbptato2023-07-151-1/+0
* htmlparser: fix form association regressionbptato2023-07-101-2/+3
* htmlparser: remove more references to dombptato2023-07-091-3/+6
* htmlparser: decouple from DOMbptato2023-07-091-0/+204
aeac1d25f85f4b75812354a23acb768d'>719ee428 ^
719ee428 ^
719ee428 ^
719ee428 ^
719ee428 ^

8df9ef9c ^
e961b086 ^
01603dce ^
4511c956 ^
719ee428 ^
3de0cccc ^


e696b8b1 ^

372f936f ^

b028afab ^
30792beb ^

b028afab ^
719ee428 ^
8df9ef9c ^
4511c956 ^
372f936f ^
719ee428 ^
91707a9b ^
60dc3726 ^
91707a9b ^

91707a9b ^
fe9ac5f7 ^
8df9ef9c ^
9ee1dd6e ^
cc9ac4d1 ^
cc9ac4d1 ^
719ee428 ^
2d414c2b ^
719ee428 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
            



                                                    


                                               
        


                                                                           
                             
                                                             

                          






                                                                           


                                                                             
       




                                                                             
                               
                                                     
                                      
                                             
                                                           
                                                             
                   
       
      

                                                                               



                                                           
        
                                                       
                               
           

                                             
                                             
                               
                                  
                  
              


                                                                        

                                                                                

                                                                                
                                                    

                                                                            
                 
          
                                
        
                                                     
       
                                                     
                                                   

                                                                               
                                                    
    
                                                                    
                         
         
                
    
             
                                                           
compilation:
- reduce binary size
	* remove the null columns in EUC-KR decoding
	* fbf for unifont
	* maybe use system wcwidth?
charsets:
- set up some fuzzer
- use appropriate charsets in forms, urls, etc.
display:
- important: buffer list
	* either a buffer list buffer, or a buffer list popup menu. ideally
	  both.
- dark mode (basically max Y)
- override bgcolor ourselves when terminal fails to report it
config:
- important: config editor
- completely replace siteconf; the new solution should:
	* not be based on table arrays
	* allow overriding pretty much every global value per URL
	* allow better URL matching (regexes aren't great for this task)
	* be called url-config
	* allow matching $TERM string, buffer groups (but maybe this should
	  be a separate setting?)
- add per-scheme configuration (e.g. proto.gemini.known-hosts = '/some/path')
- add RPC for CGI scripts e.g. toggle settings/issue downloads/etc
	* also some way to set permissions for RPC calls
buffer:
- important: validate returned values
	* do not block container when receiving buffer data; if invalid, kill
	  buffer
	* this also includes not crashing when the buffer dies while
	  container is reading...
- important: improve sandboxing
	* sandbox more built-in CGI protocol handlers
	* fix newFormData with seccomp
- configurable/better url filtering in loader
- when the log buffer crashes, print its contents to stderr
	* easiest way seems to be to just dump its cache file
- add buffer groups
- xhtml
pager:
- better horizontal line handling: allow viewing content positioned before page
  start, handle long lines, etc
- figure out a way to show long messages on the status line
- history, bookmarks (w3m format?)
- save/edit buffer output
- alert on external command failure
network:
- uBO integration? (or at least implement filter lists)
- websockets (curl supports ws)
javascript:
- add support for JS mixins
- distinguish double from unrestricted double
- better dom support: more events, CSSOM, ...
- implement ReadableStream, XHR
- separate console for each buffer
- buffer selection
layout engine:
- box borders
	* will probably need special treatment, as borders must round to
	  1ch in x direction and 1em in y direction.
- do not break inline boxes with out-of-flow block boxes (float, absolute, etc.)
	* this seems hard to fix properly :(
	* reminder: this does *not* apply to flexbox; in fact it has the inverse
	  problem AFAICT.
- table layout: include caption in width calculation
- flexbox: align-self, align-items, justify-content, proper margin handling,
  proper flex base size resolution
- details element
- overflow
- partial layout, layout caching
- iframe
- writing-mode, grid, ruby, ... (i.e. cool new stuff)
images:
- more efficient sixel display (store encoded images)
- proper sixel color register allocation, dithering
- fix race condition where images decoded after buffer load won't display until
  reshape
- incremental decoding, interlaced images, animation
man:
- add a DOM -> man page converter so that we do not depend on pandoc
  for man page conversion
gmifetch:
- rewrite in Nim
etc:
- orc support
- maybe windows support? (blocker: needs a windows machine)