diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..2bb9ce2b0a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,33 @@ +version: 2 + +jobs: + deploy-website: + docker: + # specify the version you desire here + - image: circleci/ruby:2.4-node + + steps: + - checkout + - run: + name: Install Ruby + command: | + gem install bundler -v 2.1.4 + bundle install + + - run: npm install + + - run: + name: Build + command: | + npm run build + +workflows: + version: 2 + + build_and_deploy: + jobs: + - deploy-website: + filters: + branches: + only: master + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000..1e40e57c8a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[*.{md,markdown}] +trim_trailing_whitespace = false + +[*.html] +indent_style = space +indent_size = 2 + +[*.{css,scss}] +indent_style = space +indent_size = 2 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000..9381c80381 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +* +!src/**/* \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000000..ea749490c7 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,17 @@ +{ + "extends": ["eslint:recommended"], + "env": { "browser": true }, + "rules": { + "curly": "off", + "no-var": "warn", + "require-jsdoc": "off", + "object-curly-spacing": "off", + "comma-dangle": "off", + "max-len": "off", + "no-inner-declarations": "off", + "no-console": "warn" + }, + "parserOptions": { + "sourceType": "module" + } +} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000000..783c88a930 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,62 @@ +name: Deploy Website + +on: + push: + branches: + - master + +jobs: + deploy-website: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6.3 + + - name: Install Bundler + run: gem install bundler -v 2.1.4 + + - name: Install dependencies + run: bundle install + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: Install npm dependencies + run: npm install + + - name: Build the site + run: npm run build + + - name: Configure CNAME + run: echo "docs.tapsell.ir" > _site/CNAME + + - name: Configure Git + run: | + git config --global user.email "technical.tapsell@gmail.com" + git config --global user.name "tapsellCI" + git config --global url.https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/.insteadOf https://github.com/ + + - name: Deploy to GitHub Pages + env: + PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + git clone https://github.com/tapsellorg/TapsellDocument.git + cd TapsellDocument + if [ `git branch --list gh-pages` ]; then + git checkout gh-pages + else + git checkout --orphan gh-pages + fi + rm -rf * + cp -r ../_site/* . + git add -A + git commit -m "update gh pages" + git push https://tapsellCI:${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/tapsellorg/TapsellDocument.git gh-pages --force \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..ac301d876d --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +# Sass +.sass-cache +*.scssc + +# Sublime Text +sftp-config.json + +# Jekyll +_site +.jekyll-metadata +.bundle +vendor +._jekyll_build_temp + +# Node.js +node_modules/ + +# Logfiles and tempfiles +*.log +/log/* +!/log/.keep +/tmp + +# Other unneeded files +doc/ +*.swp +*~ +.project +.DS_Store +.idea +.secret diff --git a/.liquidrc b/.liquidrc new file mode 100644 index 0000000000..d48a0d481d --- /dev/null +++ b/.liquidrc @@ -0,0 +1,59 @@ +{ + "ignore": [ + { + "type": "liquid", + "begin": "comment", + "end": "endcomment" + }, + { + "type": "liquid", + "begin": "capture", + "end": "endcapture" + }, + { + "type": "html", + "begin": "script", + "end": "script" + }, + { + "type": "html", + "begin": "style", + "end": "style" + } + ], + "html": { + "correct": false, + "force_attribute": false, + "braces": false, + "preserve": 2, + "unformatted": false + }, + "js": { + "preserve": 1, + "method_chain": 0, + "quote_convert": "single", + "format_array": "indent", + "format_object": "indent", + "braces": false, + "no_semicolon": false, + "brace_block": true + }, + "scss": { + "css_insert_lines": true, + "preserve": 2, + "braces": false, + "brace_block": true + }, + "css": { + "css_insert_lines": true, + "preserve": 2, + "braces": false, + "brace_block": true + }, + "json": { + "preserve": 0, + "braces": false, + "brace_block": true, + "no_semicolon": true + } +} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..c35c7a4d1e --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +src/jekyll/**/* diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000000..aca6c0b48b --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,14 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "semi": true, + "singleQuote": true, + "printWidth": 140, + "htmlWhitespaceSensitivity": "ignore", + "useTabs": false, + "quoteProps": "as-needed", + "bracketSpacing": true, + "jsxBracketSameLine": true, + "arrowParens": "avoid", + "endOfLine": "lf" +} diff --git a/.vscode/markdown-snippets.code-snippets b/.vscode/markdown-snippets.code-snippets new file mode 100644 index 0000000000..c00f4595da --- /dev/null +++ b/.vscode/markdown-snippets.code-snippets @@ -0,0 +1,27 @@ +{ + // Place your doc-platform workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and + // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope + // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is + // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: + // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. + // Placeholders with the same ids are connected. + // Example: + // "Print to console": { + // "scope": "javascript,typescript", + // "prefix": "log", + // "body": [ + // "console.log('$1');", + // "$2" + // ], + // "description": "Log output to console" + // } + + "baseurl relative link": { + "scope": "markdown", + "prefix": "relative_link", + "body": [ + "[$1]({{ '$2' | relative_url }})" + ], + "description": "Relative link" + } +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..de2daafd24 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "editor.tabSize": 2, + "editor.wordWrapColumn": 140, + "html.format.wrapLineLength": 140, + "html.format.wrapAttributes": "aligned-multiple", + "editor.insertSpaces": true +} diff --git a/CNAME b/CNAME new file mode 100644 index 0000000000..0571103aeb --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +docs.tapsell.ir diff --git a/__doc-jekyll-clickable-boxes.html b/__doc-jekyll-clickable-boxes.html new file mode 100644 index 0000000000..09417ff159 --- /dev/null +++ b/__doc-jekyll-clickable-boxes.html @@ -0,0 +1 @@ +
در هر تعاملی که کاربر با اپلیکیشن دارد، کتابخانه متریکس این تعامل را در قالب یک رویداد برای سرور ارسال میکند. تعریف کتابخانه متریکس از یک نشست، بازه زمانی مشخصی است که کاربر با اپلیکیشن در تعامل است.
در کتابخانه متریکس سه نوع رویداد داریم:
@Override
+protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+
+ Uri data = intent.getData();
+ Metrix.getInstance().appWillOpenUrl(data);
+}
+
This is a text with a footnote1.
ASCII | HTML | |
---|---|---|
Single backticks | <span>test</span> | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
با استفاده از سینتکس blockquote مارک داون، میتونی از این باکسها بسازی.
ضمنا میتونی رنگش رو از بین رنگهای زیر انتخاب کنی
red, green, orange, purple, blue, gray
با استفاده از data-title میتونی بالای باکس هر چی خواستی بنویسی
{:data-title="توجه" data-color="gray"}
اگر شما میخواهید اپلیکیشن خود را در استور های مختلف مانند کافه بازار، گوگل پلی و … منتشر کنید، با استفاده از متد زیر میتوانید مشاهده کنید که کاربر از کدام استور ( مثلا کافه بازار، گوگل پلی، مایکت، اول مارکت و وبسایت … ) اپلیکیشن را نصب کرده اند و منبع نصب های ارگانیک خود را شناسایی کنید
And here is the definition. ↩