Skip to content

Commit b4be0f3

Browse files
authored
Add opengraph extension (#1)
* Rename README.md to temp * Initial Commit * Remove unused logger * Add comments and fix typo * Add usage to readme * Add option to configure description length * Remove temporary workaround * Remove extra newline * Rename project * Modify readme * Remove temp * Add LICENSE.md * Add deploy and unit tests * Update readme * Address comments * Address comments * Capitalize README.md
1 parent dc97abb commit b4be0f3

File tree

17 files changed

+619
-1
lines changed

17 files changed

+619
-1
lines changed

.github/workflows/workflow.yml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Test and Deploy
2+
on:
3+
push:
4+
branches:
5+
- master
6+
create:
7+
tags:
8+
- '*'
9+
jobs:
10+
test-extension:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ['3.6', '3.7', '3.8', 'pypy3']
15+
steps:
16+
- uses: actions/checkout@v2
17+
- name: Setup Python
18+
uses: actions/setup-python@v2
19+
with:
20+
python-version: ${{ matrix.python-version }}
21+
- name: Install dependencies
22+
run: |
23+
set -xe
24+
python -VV
25+
python -m site
26+
python -m pip install --upgrade pip setuptools wheel
27+
python -m pip install -r dev-requirements.txt
28+
- name: Run Tests for ${{ matrix.python-version }}
29+
run: |
30+
python -m pytest -vv
31+
pypi-release:
32+
needs: test-extension
33+
runs-on: ubuntu-latest
34+
if: contains(github.ref, 'refs/tags/')
35+
steps:
36+
- uses: actions/checkout@v2
37+
with:
38+
fetch-depth: 0
39+
- name: Set up Python
40+
uses: actions/setup-python@v2
41+
with:
42+
python-version: '3.7'
43+
- name: Install Dependencies
44+
run: |
45+
python -m pip install --upgrade pip
46+
pip install -r ./dev-requirements.txt
47+
- name: Build PyPI Wheel
48+
run: |
49+
python setup.py sdist
50+
python setup.py bdist_wheel
51+
- name: Publish a Python distribution to PyPI
52+
uses: pypa/gh-action-pypi-publish@master
53+
with:
54+
user: __token__
55+
password: ${{ secrets.pypi_password }}

.gitignore

+288
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
2+
# Created by https://www.toptal.com/developers/gitignore/api/windows,linux,python,pycharm,visualstudiocode
3+
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,linux,python,pycharm,visualstudiocode
4+
5+
### Linux ###
6+
*~
7+
8+
# temporary files which can be created if a process still has a handle open of a deleted file
9+
.fuse_hidden*
10+
11+
# KDE directory preferences
12+
.directory
13+
14+
# Linux trash folder which might appear on any partition or disk
15+
.Trash-*
16+
17+
# .nfs files are created when an open file is removed but is still being accessed
18+
.nfs*
19+
20+
### PyCharm ###
21+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
22+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
23+
24+
# User-specific stuff
25+
.idea/**/workspace.xml
26+
.idea/**/tasks.xml
27+
.idea/**/usage.statistics.xml
28+
.idea/**/dictionaries
29+
.idea/**/shelf
30+
31+
# Generated files
32+
.idea/**/contentModel.xml
33+
34+
# Sensitive or high-churn files
35+
.idea/**/dataSources/
36+
.idea/**/dataSources.ids
37+
.idea/**/dataSources.local.xml
38+
.idea/**/sqlDataSources.xml
39+
.idea/**/dynamic.xml
40+
.idea/**/uiDesigner.xml
41+
.idea/**/dbnavigator.xml
42+
43+
# Gradle
44+
.idea/**/gradle.xml
45+
.idea/**/libraries
46+
47+
# Gradle and Maven with auto-import
48+
# When using Gradle or Maven with auto-import, you should exclude module files,
49+
# since they will be recreated, and may cause churn. Uncomment if using
50+
# auto-import.
51+
# .idea/artifacts
52+
# .idea/compiler.xml
53+
# .idea/jarRepositories.xml
54+
# .idea/modules.xml
55+
# .idea/*.iml
56+
# .idea/modules
57+
# *.iml
58+
# *.ipr
59+
60+
# CMake
61+
cmake-build-*/
62+
63+
# Mongo Explorer plugin
64+
.idea/**/mongoSettings.xml
65+
66+
# File-based project format
67+
*.iws
68+
69+
# IntelliJ
70+
out/
71+
72+
# mpeltonen/sbt-idea plugin
73+
.idea_modules/
74+
75+
# JIRA plugin
76+
atlassian-ide-plugin.xml
77+
78+
# Cursive Clojure plugin
79+
.idea/replstate.xml
80+
81+
# Crashlytics plugin (for Android Studio and IntelliJ)
82+
com_crashlytics_export_strings.xml
83+
crashlytics.properties
84+
crashlytics-build.properties
85+
fabric.properties
86+
87+
# Editor-based Rest Client
88+
.idea/httpRequests
89+
90+
# Android studio 3.1+ serialized cache file
91+
.idea/caches/build_file_checksums.ser
92+
93+
### PyCharm Patch ###
94+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
95+
96+
# *.iml
97+
# modules.xml
98+
# .idea/misc.xml
99+
# *.ipr
100+
101+
# Sonarlint plugin
102+
.idea/**/sonarlint/
103+
104+
# SonarQube Plugin
105+
.idea/**/sonarIssues.xml
106+
107+
# Markdown Navigator plugin
108+
.idea/**/markdown-navigator.xml
109+
.idea/**/markdown-navigator-enh.xml
110+
.idea/**/markdown-navigator/
111+
112+
# Cache file creation bug
113+
# See https://youtrack.jetbrains.com/issue/JBR-2257
114+
.idea/$CACHE_FILE$
115+
116+
### Python ###
117+
# Byte-compiled / optimized / DLL files
118+
__pycache__/
119+
*.py[cod]
120+
*$py.class
121+
122+
# C extensions
123+
*.so
124+
125+
# Distribution / packaging
126+
.Python
127+
build/
128+
develop-eggs/
129+
dist/
130+
downloads/
131+
eggs/
132+
.eggs/
133+
lib/
134+
lib64/
135+
parts/
136+
sdist/
137+
var/
138+
wheels/
139+
pip-wheel-metadata/
140+
share/python-wheels/
141+
*.egg-info/
142+
.installed.cfg
143+
*.egg
144+
MANIFEST
145+
146+
# PyInstaller
147+
# Usually these files are written by a python script from a template
148+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
149+
*.manifest
150+
*.spec
151+
152+
# Installer logs
153+
pip-log.txt
154+
pip-delete-this-directory.txt
155+
156+
# Unit test / coverage reports
157+
htmlcov/
158+
.tox/
159+
.nox/
160+
.coverage
161+
.coverage.*
162+
.cache
163+
nosetests.xml
164+
coverage.xml
165+
*.cover
166+
*.py,cover
167+
.hypothesis/
168+
.pytest_cache/
169+
170+
# Translations
171+
*.mo
172+
*.pot
173+
174+
# Django stuff:
175+
*.log
176+
local_settings.py
177+
db.sqlite3
178+
db.sqlite3-journal
179+
180+
# Flask stuff:
181+
instance/
182+
.webassets-cache
183+
184+
# Scrapy stuff:
185+
.scrapy
186+
187+
# Sphinx documentation
188+
docs/_build/
189+
190+
# PyBuilder
191+
target/
192+
193+
# Jupyter Notebook
194+
.ipynb_checkpoints
195+
196+
# IPython
197+
profile_default/
198+
ipython_config.py
199+
200+
# pyenv
201+
.python-version
202+
203+
# pipenv
204+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
205+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
206+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
207+
# install all needed dependencies.
208+
#Pipfile.lock
209+
210+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
211+
__pypackages__/
212+
213+
# Celery stuff
214+
celerybeat-schedule
215+
celerybeat.pid
216+
217+
# SageMath parsed files
218+
*.sage.py
219+
220+
# Environments
221+
.env
222+
.venv
223+
env/
224+
venv/
225+
ENV/
226+
env.bak/
227+
venv.bak/
228+
229+
# Spyder project settings
230+
.spyderproject
231+
.spyproject
232+
233+
# Rope project settings
234+
.ropeproject
235+
236+
# mkdocs documentation
237+
/site
238+
239+
# mypy
240+
.mypy_cache/
241+
.dmypy.json
242+
dmypy.json
243+
244+
# Pyre type checker
245+
.pyre/
246+
247+
# pytype static type analyzer
248+
.pytype/
249+
250+
### VisualStudioCode ###
251+
.vscode/*
252+
!.vscode/settings.json
253+
!.vscode/tasks.json
254+
!.vscode/launch.json
255+
!.vscode/extensions.json
256+
*.code-workspace
257+
258+
### VisualStudioCode Patch ###
259+
# Ignore all local history of files
260+
.history
261+
262+
### Windows ###
263+
# Windows thumbnail cache files
264+
Thumbs.db
265+
Thumbs.db:encryptable
266+
ehthumbs.db
267+
ehthumbs_vista.db
268+
269+
# Dump file
270+
*.stackdump
271+
272+
# Folder config file
273+
[Dd]esktop.ini
274+
275+
# Recycle Bin used on file shares
276+
$RECYCLE.BIN/
277+
278+
# Windows Installer files
279+
*.cab
280+
*.msi
281+
*.msix
282+
*.msm
283+
*.msp
284+
285+
# Windows shortcuts
286+
*.lnk
287+
288+
# End of https://www.toptal.com/developers/gitignore/api/windows,linux,python,pycharm,visualstudiocode

LICENSE.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Copyright (c) 2020 FIRST
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions are met:
6+
* Redistributions of source code must retain the above copyright
7+
notice, this list of conditions and the following disclaimer.
8+
* Redistributions in binary form must reproduce the above copyright
9+
notice, this list of conditions and the following disclaimer in the
10+
documentation and/or other materials provided with the distribution.
11+
* Neither the name of the FIRST nor the
12+
names of its contributors may be used to endorse or promote products
13+
derived from this software without specific prior written permission.
14+
15+
THIS SOFTWARE IS PROVIDED BY FIRST AND CONTRIBUTORS "AS IS" AND ANY
16+
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17+
WARRANTIES OF MERCHANTABILITY NONINFRINGEMENT AND FITNESS FOR A PARTICULAR
18+
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FIRST OR CONTRIBUTORS BE LIABLE FOR
19+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

0 commit comments

Comments
 (0)