diff --git a/.gitignore b/.gitignore index be9123a..3a42aea 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,402 @@ /.vs +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.production + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/jarRepositories.xml +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + +# Android Profiling +*.hprof + +# Covers files to be ignored for android development using Android Studio. + +# Built application files +*.apk +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle +.gradle/ +build/ + +# Signing files +.signing/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio +/*/build/ +/*/local.properties +/*/out +/*/*/build +/*/*/production +captures/ +.navigation/ +*.ipr +*~ +*.swp + +# Keystore files +*.jks +*.keystore + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Android Patch +gen-external-apklibs + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# NDK +obj/ + +# IntelliJ IDEA +*.iml +*.iws +/out/ + +# User-specific configurations +.idea/caches/ +.idea/libraries/ +.idea/shelf/ +.idea/workspace.xml +.idea/tasks.xml +.idea/.name +.idea/compiler.xml +.idea/copyright/profiles_settings.xml +.idea/encodings.xml +.idea/misc.xml +.idea/modules.xml +.idea/scopes/scope_settings.xml +.idea/dictionaries +.idea/vcs.xml +.idea/jsLibraryMappings.xml +.idea/datasources.xml +.idea/dataSources.ids +.idea/sqlDataSources.xml +.idea/dynamic.xml +.idea/uiDesigner.xml +.idea/assetWizardSettings.xml +.idea/gradle.xml +.idea/jarRepositories.xml +.idea/navEditor.xml + +# OS-specific files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Legacy Eclipse project files +.classpath +.project +.cproject +.settings/ + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.war +*.ear + +# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml) +hs_err_pid* + +## Plugin-specific files: + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Mongo Explorer plugin +.idea/mongoSettings.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +.vscode/* +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# End of https://mrkandreev.name/snippets/gitignore-generator/#Java,Node,Kotlin,Android,AndroidStudio,VisualStudioCode diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..3f76a17 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,26 @@ +default: true +extends: null + +# Mivel az editorok nagy része támogatja a sortörést, egszerűsítjük vele a feladatunkat. +# Később, ha sok időnk lesz rá be lehet állítani +MD013: false + +# A plain HTML elemek nem mindig szépek, de a Markdownban nem mindig lehet őket kicserélni. +MD004: + style: "dash" + +MD033: + allowed_elements: + - "img" + - "div" + - "kbd" + +MD046: false + +# Emphasized text is surrounded by underscores, not asterisks. +MD049: + style: "underscore" + +# Strong emphasis is surrounded by asterisks not underscores. +MD050: + style: "asterisk" diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..12d71b6 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "davidanson.vscode-markdownlint", + "yzhang.markdown-all-in-one", + "usernamehw.errorlens", + "esbenp.prettier-vscode" + ] +} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3daa5d4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,87 @@ +# Kontribúciós guidelineok + +## Hibák jelzése + +Amennyiben hibát találsz az anyagban, vagy szeretnéd bővíteni, de nem áll módodban javítani, nyithatsz egy issue-t amiben leírod a hibát. + +0. Nézd meg, hogy valaki nem jelezte-e, amit szeretnél. + Gyakran már létező problémákat találnak, amire már van pull request, + így mielőtt bármit tennél nézd meg valaki nem előzött-e meg +1. Az issues tabon a new issue gombbal hozz létre egy új issue-t. +2. Lásd el a megfelelő címkékkel + 1. A labor típusa (`android` az androidos laboroknál és `web` a webes laboroknál) + 2. A hiba típusa (`clarification`, `typo`, `illustration` vagy `notes`) +3. Írd le, hogy mit kéne tartalmaznia a javításnak + +## Változtatások javaslása + +Amennyiben a hozzájárulásod meg tudod valósítani indíts pull requestet + +1. Forkold a repository-t +2. Végezd el a változtatásokat. +3. Ellenőrizd, hogy ne kerüljön bele a commitba olyan file, amit az editor generált (pl.: `.idea` mappa) +4. Indíts egy pull requestet, ami elmagyarázza, hogy milyen változtatásokat és miért végeztél +5. Lásd el a megfelelő címkékkel + 1. A labor típusa (`android` az androidos laboroknál és `web` a webes laboroknál) + 2. A hiba típusa (`clarification`, `typo`, `illustration` vagy `notes`) +6. Valaki, akinek hozzáférése van a repositoryhoz, ellenőrzi a változtatások szükségességét, és elbírálja, hogy valóban bekerülhet az anyagba. +7. Ha ez megtörtént a változtatások belekerülnek az anyagba. + +## Code style + +- Kotlin: a [hivatalos style guide](https://kotlinlang.org/docs/coding-conventions.html) alapján +- HTML & CSS & JavaScript: A [Prettier](https://prettier.io/docs/en/why-prettier.html) style guide alapján +- Markdown: Mivel az alap spec nem mindig a legtisztábban érthető, a [markdownlint szabályai](https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md) alapján, az `MD033` kivételével. + +Ezek a stílusok a tárgyban ajánlott editorokban könnyen beállíthatóak. + +### VSCode + +Ajánlott extensionök: + +- [`yzhang.markdown-all-in-one`](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one): MD szinkronizált live preview +- [`DavidAnson.vscode-markdownlint`](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint): MD formázás, szabályok stb. +- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode): HTML+CSS formázó +- [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens): Kiemeli a hibákat hogy gyorsabben megtaláljuk őket + +Az editor beállításához nyisd meg a repo-t a gyökerében VSCode-al. A VSCode fel fogja ajánlani a két markdown extension-t. + +Ha ez megtörtént, nyiss meg egy markdown dokumentumot, lés használd a CTRL+SHIFT+P shortcutot, a command palette megnyitásához. +> A command palette a VSCode parancsaihoz nyújt hozzáférést, autocompleteeli a parancsokat és egy minimális GUI-t is biztosít. + +A command palette-be keressük meg a `Format Document With...` menüpontot és válasszuk ki. +Ekkor egy almenübe dob az editor és kiválaszthatjuk hogy melyik formázóval formázzuk a MD dokumentumokat. +Legalul lesz egy `Configure Default Formatter`, válasszuk ezt. +Ezután válasszuk a `markdownlint` extensiont, és készen vagyunk. +> **FONTOS!** +> Ne válaszd ki a prettiert formatterként, mert eltöri a szövegbuborékokat. + +Ezen felül érdemes lehet bekapcsolni a mentés előtti formázást. + +A CTRL+, shortcuttal megnyitjuk a beállításokat, és rákeresünk arra, hogy format on save. +Itt kipipáljuk a checkboxot és készen vagyunk. + +Ha ehhez nem lenne törelmed, itt a json amit a `settings.json`-ba illesztve beállítódik minden. + +```json +{ + "[markdown]": { + "editor.defaultFormatter": "DavidAnson.vscode-markdownlint", + "editor.formatOnSave": true + } +} +``` + +## Ajánlások + +### Android + +- Az androidos Kotlin és XML fileokat illetve kódrészleteket Android Studioban formázva érdemes hozzáadni az anyaghoz +- Ahhoz hogy biztosan formázva legyenek a fileok használd a `ctrl+alt+L` shortcutot + +### Markdown Fileok + +- A markdown fileokat se az Android Studio se a Visual Studio Code nem rendereli alaphelyzetben. + Erre a feladatra a következő extensionöket/pluginokat tudom ajánlani: + - VSCode: [`yzhang.markdown-all-in-one`](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) + - Android Studio: [Markdown Editor](https://plugins.jetbrains.com/plugin/17254-markdown-editor)