<feed xmlns='http://www.w3.org/2005/Atom'>
<title>word-search-game/css, branch v2</title>
<subtitle>A word search game built with the JavaScript Canvas API.</subtitle>
<id>https://git.zhineng.li/word-search-game/atom?h=v2</id>
<link rel='self' href='https://git.zhineng.li/word-search-game/atom?h=v2'/>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/'/>
<updated>2026-04-30T13:43:06Z</updated>
<entry>
<title>fix complete overlay to cover fullscreen</title>
<updated>2026-04-30T13:43:06Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-04-30T13:43:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=c89df7972f1aad9190479b74a230ef3b8207a59f'/>
<id>urn:sha1:c89df7972f1aad9190479b74a230ef3b8207a59f</id>
<content type='text'>
The completion overlay was constrained to the page container and did not
span the full screen. This happened because it used absolute positioning
inside a relatively positioned ancestor.

Switch the overlay to fixed positioning with inset: 0 and set a z-index,
so it consistently covers the viewport above all page content.
</content>
</entry>
<entry>
<title>keyboard &amp; touch navigation, configurable settings, and refactor</title>
<updated>2026-04-30T02:34:20Z</updated>
<author>
<name>Zhineng Li</name>
<email>im@zhineng.li</email>
</author>
<published>2026-04-30T02:33:23Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=68c9b7560642c802ca3bfe6d7e0f7a8c54412c40'/>
<id>urn:sha1:68c9b7560642c802ca3bfe6d7e0f7a8c54412c40</id>
<content type='text'>
- keyboard support: arrow keys or `hjkl` to move cursor, Space to start
  selection, Enter to confirm, Escape to cancel
- configurable settings: word placement directions, grid size, cell
  size, colors, fonts, debug mode, and more via `GameSettings`
- modernize CSS (logical properties, grid layout) and HTML semantics
- refactor JavaScript code around single-responsibility principles
</content>
</entry>
<entry>
<title>Minify</title>
<updated>2016-06-22T09:04:34Z</updated>
<author>
<name>Shmuel83</name>
<email>rodolphe.moulin@laposte.net</email>
</author>
<published>2016-06-22T09:04:34Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=7b2f828cb982c6a05db9370963186cbee97a3b5f'/>
<id>urn:sha1:7b2f828cb982c6a05db9370963186cbee97a3b5f</id>
<content type='text'>
To resume :
Fix minor bug : If user select the same word, do nothing
On list : First letter Upper
On grid : Delete accents for lattin letters (french, Spanish...) and
hebrew letters
Write on grid the same letters  : available to
Latin/Hebrew/Greek/Cyrillic/Arab/Chinese/Hiragana
</content>
</entry>
<entry>
<title>Fix minor Bug</title>
<updated>2016-06-21T11:26:54Z</updated>
<author>
<name>Shmuel83</name>
<email>rodolphe.moulin@laposte.net</email>
</author>
<published>2016-06-21T11:26:54Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=62b4ceadd3ecd667d14873ee756fa7c8cb7a45d2'/>
<id>urn:sha1:62b4ceadd3ecd667d14873ee756fa7c8cb7a45d2</id>
<content type='text'>
If user re-select a word always find, this.solved is increment.
Now : To increment variable if the word of the list isn't &lt;delete&gt;

I fix a bug for me : in list, First letter Upper, with CSS instead of
javascript
</content>
</entry>
<entry>
<title>Added very simple solved word tracker and Game Over overlay.</title>
<updated>2014-03-20T21:16:50Z</updated>
<author>
<name>Steven Thomas</name>
<email>steven@conveyorgroup.com</email>
</author>
<published>2014-03-20T21:16:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=8c81bfbcdf3451ae634927a1270c40941ba02d5e'/>
<id>urn:sha1:8c81bfbcdf3451ae634927a1270c40941ba02d5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed spelling - renamed wordseach occurrences to wordsearch.</title>
<updated>2014-03-20T16:12:42Z</updated>
<author>
<name>Steven Thomas</name>
<email>steven@conveyorgroup.com</email>
</author>
<published>2014-03-20T16:12:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=726c52191b687252d447dd92122f74653c3271b8'/>
<id>urn:sha1:726c52191b687252d447dd92122f74653c3271b8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Finished the basic framework</title>
<updated>2013-06-29T08:25:38Z</updated>
<author>
<name>lizhineng</name>
<email>lizhineng@gmail.com</email>
</author>
<published>2013-06-29T08:25:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=ceb4ee6845a16ff898b8e54213e490ca6638982c'/>
<id>urn:sha1:ceb4ee6845a16ff898b8e54213e490ca6638982c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added word list</title>
<updated>2013-06-29T05:59:23Z</updated>
<author>
<name>lizhineng</name>
<email>lizhineng@gmail.com</email>
</author>
<published>2013-06-29T05:59:23Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=45f3be5425870f9b4cf9a60f2f950fa3dd7807ef'/>
<id>urn:sha1:45f3be5425870f9b4cf9a60f2f950fa3dd7807ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Optimized the existing code</title>
<updated>2013-06-29T05:43:40Z</updated>
<author>
<name>lizhineng</name>
<email>lizhineng@gmail.com</email>
</author>
<published>2013-06-29T05:43:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=ef5c55619e88600492d6d4015660e7101baafce3'/>
<id>urn:sha1:ef5c55619e88600492d6d4015660e7101baafce3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Code refactoring</title>
<updated>2013-06-10T08:40:34Z</updated>
<author>
<name>Li Zhineng</name>
<email>lizhineng@gmail.com</email>
</author>
<published>2013-06-10T08:40:34Z</published>
<link rel='alternate' type='text/html' href='https://git.zhineng.li/word-search-game/commit/?id=a92f6af5807669013aa40771690e0472d7f5da9d'/>
<id>urn:sha1:a92f6af5807669013aa40771690e0472d7f5da9d</id>
<content type='text'>
</content>
</entry>
</feed>
