Comments (7)
Resource extraction:
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_styles.zip --recursive --verbose nickel 1 26572352 26432304 26560712
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_resources.zip --recursive --verbose nickel 1 21580752 101096 21579424
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_certificates.zip --recursive --verbose nickel 1 26733760 26575600 26729584
go run github.com/pgaskin/qrc/cmd/qrc2zip@latest --output nickel.21582.qInitResources_translations.zip --recursive --verbose nickel 1 26431976 21581792 26431232
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_certificates.zip
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_resources.zip
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_styles.zip
https://krc.storage.pgaskin.net/nickel.21582.qInitResources_translations.zip
from kobopatch-patches.
/home/patrick/kp/src/kobopatch-patches/src/versions/4.37.21582/libnickel.so.1.0.0.yaml/pgaskin.yaml: Customize ComfortLight settings: could not apply patch "Customize ComfortLight settings": line 529: inst 4: ReplaceInt: could not find specified bytes at offset
/home/patrick/kp/src/kobopatch-patches/src/versions/4.37.21582/nickel.yaml/pgaskin.yaml: Increase size of kepub chapter progress chart: could not apply patch "Increase size of kepub chapter progress chart": line 28: inst 4: ReplaceZlib: not a zlib stream
/home/patrick/kp/src/kobopatch-patches/src/versions/4.37.21582/nickel.yaml/pgaskin.yaml: Remove forgot pin button from lock screen: could not apply patch "Remove forgot pin button from lock screen": line 20: inst 4: ReplaceZlib: not a zlib stream
The easiest release possible.
from kobopatch-patches.
Released: v82
, MR:thread-354898.
from kobopatch-patches.
$ git diff v81:src/versions/4.37.21533 v82:src/versions/4.37.21582
diff --git a/libnickel.so.1.0.0.yaml/pgaskin.yaml b/libnickel.so.1.0.0.yaml/pgaskin.yaml
index df5cc02..5a6ea98 100644
--- a/libnickel.so.1.0.0.yaml/pgaskin.yaml
+++ b/libnickel.so.1.0.0.yaml/pgaskin.yaml
@@ -522,7 +522,7 @@ Customize ComfortLight settings:
# In an unnamed subroutine two layers into FrontLightPopupController::loadView
# (find it by going back from QTime::addSecs), the times for the dropdown are
# generated into a QVector<QPair<QString, QTime>> with a simple loop.
- - BaseAddress: 0xE7D2D4 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii
+ - BaseAddress: 0xE7D454 # find the base of the unnamed subroutine with the x-ref to _ZN5QTimeC1Eiiii
#
# Change the initial hour / first bedtime dropdown item passed to the QTime
# constructor (mov r1, #21):
diff --git a/nickel.yaml/geoffr.yaml b/nickel.yaml/geoffr.yaml
index 9c7dec9..2d48dcd 100644
--- a/nickel.yaml/geoffr.yaml
+++ b/nickel.yaml/geoffr.yaml
@@ -19,7 +19,7 @@ Reduce top/bottom page spacer:
# AuraHD/H2O/GloHD/ClaraHD/Clara2E: 44px --> 22px
- Find: "MediumVertSpacer[qApp_deviceIsDragon=true] {\n min-height: 44px;\n max-height: 44px;\n}"
Replace: "MediumVertSpacer[qApp_deviceIsDragon=true] {\n min-height: 22px;\n max-height: 22px;\n}"
- # AuraOne/Forma/Sage/Elipsa: 56px --> 28px
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E: 56px --> 28px
- Find: "MediumVertSpacer[qApp_deviceIsDaylight=true] {\n min-height: 56px;\n max-height: 56px;\n}"
Replace: "MediumVertSpacer[qApp_deviceIsDaylight=true] {\n min-height: 28px;\n max-height: 28px;\n}"
# LibraH2O/Libra2: 50px --> 25px
@@ -38,7 +38,7 @@ Custom synopsis details line spacing:
- {Find: "line-height: 1.4em;", Replace: "line-height: 1.3em;"}
# AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E (Dragon) and
# LibraH2O/Libra2 (Storm) and
- # AuraOne/Forma/Sage/Elipsa (Daylight)
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- {Find: "line-height: 1.35em;", Replace: "line-height: 1.3em;"}
Custom synopsis font size:
@@ -52,7 +52,7 @@ Custom synopsis font size:
- {Find: "font-size: 29px;", Replace: "font-size: 32px;"} # AuraHD/AuraH2O/AuraH2O2 (Dragon)
- {Find: "font-size: 32px;", Replace: "font-size: 35px;"} # GloHD/ClaraHD/Clara2E (Alyssum/Nova)
- {Find: "font-size: 34px;", Replace: "font-size: 37px;"} # LibraH2O/Libra2 (Storm)
- - {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma/Sage/Elipsa (Daylight)
+ - {Find: "font-size: 37px;", Replace: "font-size: 40px;"} # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
Increase home screen cover size:
- Enabled: no
@@ -70,7 +70,7 @@ Increase home screen cover size:
# AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E (Dragon)
- {Find: "qproperty-leftMargin: 57px;", Replace: "qproperty-leftMargin: 22px;"}
- {Find: "qproperty-rightMargin: 57px;", Replace: "qproperty-rightMargin: 22px;"}
- # AuraONE/Forma/Sage/Elipsa (Daylight)
+ # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- {Find: "qproperty-leftMargin: 74px;", Replace: "qproperty-leftMargin: 29px;"}
- {Find: "qproperty-rightMargin: 74px;", Replace: "qproperty-rightMargin: 29px;"}
# LibraH2O/Libra2 (Storm)
diff --git a/nickel.yaml/jackie_w.yaml b/nickel.yaml/jackie_w.yaml
index e2c88ef..ddc81e3 100644
--- a/nickel.yaml/jackie_w.yaml
+++ b/nickel.yaml/jackie_w.yaml
@@ -23,7 +23,7 @@ Dictionary pop-up - increase available text area:
# AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E/LibraH2O/Libra2
- Find: "#dictionary[qApp_deviceIsDragon=true] {\n margin-top: 30px;\n margin-left: 30px;\n}"
Replace: "#dictionary[qApp_deviceIsDragon=true] {\n margin-top: 10px;\n margin-left: 0px;\n}"
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- Find: "#dictionary[qApp_deviceIsDaylight=true] {\n margin-top: 42px;\n margin-left: 42px;\n}"
Replace: "#dictionary[qApp_deviceIsDaylight=true] {\n margin-top: 14px;\n margin-left: 0px;\n}"
#
@@ -37,7 +37,7 @@ Dictionary pop-up - increase available text area:
# AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E/LibraH2O/Libra2
- Find: "#header[qApp_deviceIsDragon=true] {\n max-height: 90px;\n min-height: 90px;\n}"
Replace: "#header[qApp_deviceIsDragon=true] {\n max-height: 70px;\n min-height: 70px;\n}"
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- Find: "#header[qApp_deviceIsDaylight=true] {\n max-height: 120px;\n min-height: 120px;\n}"
Replace: "#header[qApp_deviceIsDaylight=true] {\n max-height: 90px;\n min-height: 90px;\n}"
#
@@ -51,7 +51,7 @@ Dictionary pop-up - increase available text area:
# AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E
- Find: "#mainContainer[qApp_deviceIsDragon=true] {\n qproperty-leftMargin: 22px;\n qproperty-rightMargin: 22px;\n}"
Replace: "#mainContainer[qApp_deviceIsDragon=true] {\n qproperty-leftMargin: 11px;\n qproperty-rightMargin: 11px;\n}"
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- Find: "#mainContainer[qApp_deviceIsDaylight=true] {\n qproperty-leftMargin: 28px;\n qproperty-rightMargin: 28px;\n}"
Replace: "#mainContainer[qApp_deviceIsDaylight=true] {\n qproperty-leftMargin: 14px;\n qproperty-rightMargin: 14px;\n}"
# LibraH2O/Libra2
@@ -74,7 +74,7 @@ Dictionary pop-up - increase available text area:
Find: "DictionaryViewFooter[qApp_deviceIsDragon=true] {\n max-height: 90px;\n min-height: 90px;\n}"
Replace: "DictionaryViewFooter[qApp_deviceIsDragon=true] {\n max-height: 60px;\n min-height: 60px;\n}"
MustMatchLength: yes
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- FindReplaceString:
Find: "DictionaryViewFooter[qApp_deviceIsDaylight=true] {\n max-height: 120px;\n min-height: 120px;\n}"
Replace: "DictionaryViewFooter[qApp_deviceIsDaylight=true] {\n max-height: 80px;\n min-height: 80px;\n}"
@@ -96,13 +96,13 @@ Increase Book Details synopsis area:
- {Find: "height: 390px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia
- {Find: "height: 550px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
- {Find: "height: 642px;", Replace: "height: 425px;"} #LibraH2O/Libra2
- - {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa
+ - {Find: "height: 715px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa/Elipsa2E
# Landscape mode: #bookInfoWidget[isLandscape=true]:
- {Find: "height: 210px;", Replace: "height: 200px;"} #Touch/Mini
- {Find: "height: 265px;", Replace: "height: 230px;"} #Glo/Aura/Aura2/Nia
- {Find: "height: 420px;", Replace: "height: 370px;"} #AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
- {Find: "height: 490px;", Replace: "height: 425px;"} #LibraH2O/Libra2
- - {Find: "height: 540px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa
+ - {Find: "height: 540px;", Replace: "height: 500px;"} #AuraOne/Forma/Sage/Elipsa/Elipsa2E
Increase library cover size:
- Enabled: no
@@ -124,7 +124,7 @@ Increase library cover size:
# AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E (Dragon)
- {Find: "width: 108px;", Replace: "width: 122px;"}
- {Find: "height: 168px;", Replace: "height: 190px;"}
- # AuraOne/Forma/Sage/Elipsa (Daylight)
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- {Find: "width: 140px;", Replace: "width: 164px;"}
- {Find: "height: 218px;", Replace: "height: 255px;"}
# LibraH2O/Libra2 (Storm)
@@ -160,7 +160,7 @@ Custom collection/author header title font:
- {Find: "font-size: 28px;", Replace: "font-size: 42px;"}
# LibraH2O/Libra2 (Storm)
- {Find: "font-size: 32px;", Replace: "font-size: 46px;"}
- # AuraOne/Forma/Sage/Elipsa (Daylight)
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- {Find: "font-size: 36px;", Replace: "font-size: 50px;"}
Reduce new header/footer height:
@@ -185,7 +185,7 @@ Reduce new header/footer height:
# AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E (Dragon)
- Find: "ReadingFooter[qApp_deviceIsDragon=true] {\n min-height: 101px;\n max-height: 101px;\n}"
Replace: "ReadingFooter[qApp_deviceIsDragon=true] {\n min-height: 66px;\n max-height: 66px;\n}"
- # AuraOne/Forma/Sage/Elipsa (Daylight)
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- Find: "ReadingFooter[qApp_deviceIsDaylight=true] {\n min-height: 131px;\n max-height: 131px;\n}"
Replace: "ReadingFooter[qApp_deviceIsDaylight=true] {\n min-height: 86px;\n max-height: 86px;\n}"
# LibraH2O/Libra2 (Storm)
@@ -252,7 +252,7 @@ Custom header/footer captions:
# LibraH2O/Libra2
- Find: "[qApp_deviceIsStorm=true] {\n font-size: 29px;\n}"
Replace: "[qApp_deviceIsStorm=true] {\n font-size: 29px; margin-top: 0px;\n}"
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- Find: "[qApp_deviceIsDaylight=true] {\n font-size: 32px;\n}"
Replace: "[qApp_deviceIsDaylight=true] {\n font-size: 32px; margin-top: 0px;\n}"
@@ -279,7 +279,7 @@ Custom header/footer captions:
# N.B. AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E could be reduced to 102 with no ill effects
- {Find: "footerMargin: 170;", Replace: "footerMargin:116;"}
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- {Find: "footerMargin: 221;", Replace: "footerMargin:133;"}
# Don't change anything below. It exists to free up some space for
@@ -324,7 +324,7 @@ Custom page navigation scrubber:
# LibraH2O/Libra2 (Storm)
- Find: "[qApp_deviceIsStorm=true] {\n font-size: 34px;"
Replace: "[qApp_deviceIsStorm=true] {\n font-size: 34px;"
- # AuraOne/Forma/Sage/Elipsa (Daylight)
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- Find: "[qApp_deviceIsDaylight=true] {\n font-size: 37px;"
Replace: "[qApp_deviceIsDaylight=true] {\n font-size: 37px;"
@@ -361,7 +361,7 @@ Custom page navigation scrubber:
# LibraH2O/Libra2 (Storm)
- Find: "#page[qApp_deviceIsStorm=true] {\n font-size: 30px;"
Replace: "#page[qApp_deviceIsStorm=true] {\n font-size: 30px;"
- # AuraOne/Forma/Sage/Elipsa (Daylight)
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- Find: "#page[qApp_deviceIsDaylight=true] {\n font-size: 34px;"
Replace: "#page[qApp_deviceIsDaylight=true] {\n font-size: 34px;"
@@ -405,7 +405,7 @@ Series list increase cover thumbnails:
# AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
- {Find: "topMargin: 14px;", Replace: "topMargin: 5px;"}
- {Find: "bottomMargin: 14px;", Replace: "bottomMargin: 0px;"}
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- {Find: "topMargin: 21px;", Replace: "topMargin: 7px;"}
- {Find: "bottomMargin: 21px;", Replace: "bottomMargin: 0px;"}
# LibraH2O/Libra2
@@ -422,7 +422,7 @@ Series list increase cover thumbnails:
# AuraHD/AuraH2O/AuraH202/GloHD/ClaraHD/Clara2E
- {Find: "width: 108px;", Replace: "width: 120px;"}
- {Find: "height: 175px;", Replace: "height: 195px;"}
- # AuraOne/Forma/Sage/Elipsa
+ # AuraOne/Forma/Sage/Elipsa/Elipsa2E
- {Find: "width: 140px;", Replace: "width: 164px;"}
- {Find: "height: 222px;", Replace: "height: 260px;"}
# LibraH2O/Libra2
diff --git a/nickel.yaml/oren64.yaml b/nickel.yaml/oren64.yaml
index 4fd1bc3..a2b4ee2 100644
--- a/nickel.yaml/oren64.yaml
+++ b/nickel.yaml/oren64.yaml
@@ -20,7 +20,7 @@ Increase headlines font:
# LibraH2O/Libra2
- Find: "#tabContainer > N3TabItem[qApp_deviceIsStorm=true] {\n font-size: 32px;\n}"
Replace: "#tabContainer > N3TabItem[qApp_deviceIsStorm=true] {\n font-size: 46px;\n}"
- # AuraONE/Forma/Sage/Elipsa
+ # AuraONE/Forma/Sage/Elipsa/Elipsa2E
- Find: "#tabContainer > N3TabItem[qApp_deviceIsDaylight=true] {\n font-size: 36px;\n}"
Replace: "#tabContainer > N3TabItem[qApp_deviceIsDaylight=true] {\n font-size: 50px;\n}"
@@ -56,7 +56,7 @@ New home screen subtitle custom font:
# LibraH2O/Libra2 (Storm)
- Find: "MetaDataLabel[qApp_deviceIsStorm=true] {\n font-size: 28px;\n}"
Replace: "MetaDataLabel[qApp_deviceIsStorm=true] {\n font-size: 30px;\n}"
- # AuraONE/Forma/Sage/Elipsa (Daylight)
+ # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- Find: "MetaDataLabel[qApp_deviceIsDaylight=true] {\n font-size: 31px;\n}"
Replace: "MetaDataLabel[qApp_deviceIsDaylight=true] {\n font-size: 34px;\n}"
#
@@ -73,7 +73,7 @@ New home screen subtitle custom font:
# LibraH2O/Libra2 (Storm)
- Find: "RegularElidedLabel[qApp_deviceIsStorm=true] {\n font-size: 42px;\n}"
Replace: "RegularElidedLabel[qApp_deviceIsStorm=true] {\n font-size: 42px;\n}"
- # AuraONE/Forma/Sage/Elipsa (Daylight)
+ # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- Find: "RegularElidedLabel[qApp_deviceIsDaylight=true] {\n font-size: 47px;\n}"
Replace: "RegularElidedLabel[qApp_deviceIsDaylight=true] {\n font-size: 47px;\n}"
@@ -97,7 +97,7 @@ Remove footer (row3) and increase cover size on new home screen:
# AuraHD/AuraH2O/AuraH2O2/GloHD/ClaraHD/Clara2E (Dragon)
- {Find: "qproperty-leftMargin: 57px;", Replace: "qproperty-leftMargin: 22px;"}
- {Find: "qproperty-rightMargin: 57px;", Replace: "qproperty-rightMargin: 22px;"}
- # AuraONE/Forma/Sage/Elipsa (Daylight)
+ # AuraONE/Forma/Sage/Elipsa/Elipsa2E (Daylight)
- {Find: "qproperty-leftMargin: 74px;", Replace: "qproperty-leftMargin: 29px;"}
- {Find: "qproperty-rightMargin: 74px;", Replace: "qproperty-rightMargin: 29px;"}
# LibraH2O/Libra2 (Storm)
diff --git a/nickel.yaml/pgaskin.yaml b/nickel.yaml/pgaskin.yaml
index 75208ff..e45b4ea 100644
--- a/nickel.yaml/pgaskin.yaml
+++ b/nickel.yaml/pgaskin.yaml
@@ -15,7 +15,7 @@ Remove forgot pin button from lock screen:
Removes the Forgot PIN -> Sign Out button from the lock screen.
If this is enabled and you forget your pin, you will need to
hard reset your Kobo.
- - BaseAddress: 0x1941D42 # qss/PinCodeInputDialog.qss
+ - BaseAddress: 0x1941D52 # qss/PinCodeInputDialog.qss
- ReplaceZlib:
Find: "#lblForgotPin[qApp_deviceIsDragon=true],\n#lblSignOut[qApp_deviceIsDragon=true] {\n font-size: 26px;\n}"
Replace: "#lblForgotPin,#lblSignOut{qproperty-visible:false;}"
@@ -23,7 +23,7 @@ Remove forgot pin button from lock screen:
Increase size of kepub chapter progress chart:
- Enabled: no
- Description: Originally by oren64, rewritten for 4.16.13337 by pgaskin (geek1011).
- - BaseAddress: 0x194BE97 # qss/ReadingMenuStatsView.qss
+ - BaseAddress: 0x194BEA7 # qss/ReadingMenuStatsView.qss
- ReplaceZlibGroup:
Replacements:
# Top padding is already set to 15px, 25px, 33px, vertical aligned to middle.
from kobopatch-patches.
The easiest release possible.
Excellent😃
On a non-patch topic, do you know whether it will be possible to access the new GoogleDrive feature from NickelMenu in the same way you can with Dropbox?
from kobopatch-patches.
On a non-patch topic, do you know whether it will be possible to access the new GoogleDrive feature from NickelMenu in the same way you can with Dropbox?
Yeah, that's possible (as is notebooks and the other recent features); I just haven't got around to doing it myself yet.
from kobopatch-patches.
Yeah, that's possible (as is notebooks and the other recent features); I just haven't got around to doing it myself yet.
Sounds promising, no rush. I suppose it's a bit of a dilemma as to whether to publish them publicly, though. I don't use notebooks myself.
from kobopatch-patches.
Related Issues (20)
- Patches for 4.33.19759 HOT 5
- "Un-Force user text-align in div,p tags in KePubs" break alignment changes HOT 1
- 3 Patch updates needed in librmsdk.so.1.0.0.yaml HOT 2
- Missing patch for enabling stylus on kepubs HOT 3
- Patches for 4.34.20097 HOT 11
- Update nickel patch `New home screen subtitle custom font` HOT 3
- Patches for 4.35.20400 HOT 10
- Default kepub fonts HOT 7
- Reading stats question HOT 1
- Missing Clara2E comment labels HOT 1
- Patches for 4.36.21095 HOT 14
- Musl library compatibility? HOT 3
- Patches for 4.37.21533 HOT 8
- Migrate CI to GitHub Actions
- Patches for 4.37.21586 HOT 4
- "Block WiFi firmware upgrade" not working
- Patches for fw 4.38.21908 HOT 4
- Patches for 4.38.21908 HOT 9
- Patches for 4.39.22801 HOT 46
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kobopatch-patches.