1024mkDocs Shortcuts

Quick run through mkDocs Installation & Update on macOS.

Install mkDocs

pip install mkdocs

Check Version

mkdocs -V

mkdocs, version 1.1.2 from /usr/local/lib/python3.9/site-packages/mkdocs (Python 3.9)

Update mkDocs

pip install -U mkdocs
mkdocs -V

mkdocs, version 1.4.2 from /usr/local/lib/python3.9/site-packages/mkdocs (Python 3.9)

Install mkdocs-material

pip install mkdocs-material

Update to latest mkdocs-material

pip install -U mkdocs-material

Create new mkDocs Site

mkdocs new my-new-site

Start Serving Site

cd my-new-site
mkdocs serve

Stop Serving Site

⌨️: ^[ctrl]-C

997Flask – [Errno 48] Address already in use

Problem:

Stopping the flask server with ⌃-Z (CRTL-Z), instead of the correct ⌃-C (CRTL-C), results in the server still bound to port 5000:

OSError: [Errno 48] Address already in use

Problem: After Flask crash, the port can still be occupied.

Solution:

Check who is using port 5000

sudo lsof -i:5000
kill $PID
kill -9 $PID

Success:

[2]  + killed     flask run

966Combining JSON files in Python

Quick python script to combine several JSON files into one. File names are dict keys in the JSON output.

import os
import json

entries = os.listdir(os.getcwd())

animationFiles = [
  'aaa',
  'bbb',
  'ccc'
]

output = {}

for name in animationFiles:
  with open(name + '.json') as f:
    output[name] = json.loads(f.read())

outputFile = open('output.json', 'w')
outputFile.write( json.dumps(output) )

print('Done')

636Python 3.1 and TextMate

http://stackoverflow.com/questions/1775954/using-python-3-1-with-textmate

Variable can be set in TextMate either on a global or on a per project basis. It seems some of the internals are coded using Python 2.x, therefore a global switch to the backwards-incompatible 3.x is not recommended.

Project based variable can be set by opening a project, deselecting any text files, and clicking on the little i-icon in the project window. My path for Python 3.1 is: TM_PYTHON /Library/Frameworks/Python.framework/ Versions/3.1/bin/python3 Your milage might vary.