Compare commits
8 Commits
cde23aea5a
...
main
Author | SHA1 | Date | |
---|---|---|---|
2bd968cfba | |||
9b8474efb9 | |||
f6d44f88ca | |||
56ab16c018 | |||
58e03fd344 | |||
fd0c53940e | |||
390a6af594 | |||
af73a7c7ec |
9
.fleet/run.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"type": "command",
|
||||
"name": "Command configuration",
|
||||
"command":
|
||||
}
|
||||
]
|
||||
}
|
4
.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
venv
|
||||
dist
|
||||
feedback
|
||||
backup
|
||||
backup
|
||||
*.sh
|
||||
*.zip
|
194
app.py
@ -1,23 +1,19 @@
|
||||
import subprocess
|
||||
import os
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import csv
|
||||
import os
|
||||
import re
|
||||
from datetime import datetime
|
||||
|
||||
from jinja2 import Environment, PackageLoader, select_autoescape
|
||||
import frontmatter
|
||||
from slugify import slugify
|
||||
import pypandoc
|
||||
|
||||
import shutil
|
||||
import subprocess
|
||||
import xml.etree.ElementTree as ET
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
import frontmatter
|
||||
import pypandoc
|
||||
from jinja2 import Environment, PackageLoader, select_autoescape
|
||||
from slugify import slugify
|
||||
|
||||
# TODO make newsletter URL's absolute to klank.school
|
||||
env = Environment(
|
||||
loader=PackageLoader("src"),
|
||||
autoescape=select_autoescape()
|
||||
)
|
||||
env = Environment(loader=PackageLoader("src"), autoescape=select_autoescape())
|
||||
|
||||
CONTENT_D = os.path.abspath("src/content")
|
||||
OUTPUT_D = "dist"
|
||||
@ -25,11 +21,7 @@ OUT_ASSETS = "dist/assets"
|
||||
SRC_ASSETS = "src/assets"
|
||||
documents = {}
|
||||
now = datetime.now()
|
||||
|
||||
# Utils
|
||||
def getParam(params, index):
|
||||
return params[index] if len(params) > index else False
|
||||
|
||||
word_count = 0
|
||||
|
||||
# jinja filter that can list documents
|
||||
def listDocuments(params):
|
||||
@ -39,22 +31,47 @@ def listDocuments(params):
|
||||
|
||||
return html
|
||||
|
||||
# jinja filter to make a slug out of a stirng
|
||||
def slugify_filter(value):
|
||||
return slugify(value)
|
||||
|
||||
# Source: https://github.com/gandreadis/markdown-word-count
|
||||
def count_words_in_markdown(text):
|
||||
|
||||
# Comments
|
||||
text = re.sub(r"<!--(.*?)-->", "", text, flags=re.MULTILINE)
|
||||
# Tabs to spaces
|
||||
text = text.replace("\t", " ")
|
||||
# More than 1 space to 4 spaces
|
||||
text = re.sub(r"[ ]{2,}", " ", text)
|
||||
# Footnotes
|
||||
text = re.sub(r"^\[[^]]*\][^(].*", "", text, flags=re.MULTILINE)
|
||||
# Indented blocks of code
|
||||
text = re.sub(r"^( {4,}[^-*]).*", "", text, flags=re.MULTILINE)
|
||||
# Replace newlines with spaces for uniform handling
|
||||
text = text.replace("\n", " ")
|
||||
# Custom header IDs
|
||||
text = re.sub(r"{#.*}", "", text)
|
||||
# Remove images
|
||||
text = re.sub(r"!\[[^\]]*\]\([^)]*\)", "", text)
|
||||
# Remove HTML tags
|
||||
text = re.sub(r"</?[^>]*>", "", text)
|
||||
# Remove special characters
|
||||
text = re.sub(r"[#*`~\-–^=<>+|/:]", "", text)
|
||||
# Remove footnote references
|
||||
text = re.sub(r"\[[0-9]*\]", "", text)
|
||||
# Remove enumerations
|
||||
text = re.sub(r"[0-9#]*\.", "", text)
|
||||
|
||||
return len(text.split())
|
||||
|
||||
|
||||
# jinja filter for date formatting
|
||||
def prettydate(value, format='%d/%m/%Y'):
|
||||
def prettydate(value, format="%d/%m/%Y"):
|
||||
return datetime.fromtimestamp(int(value)).strftime(format)
|
||||
|
||||
|
||||
# jinja filter to replace shortcodes in HTML
|
||||
def shortcode_filter(value):
|
||||
|
||||
shortcode_callbacks = {
|
||||
"show": listDocuments
|
||||
}
|
||||
shortcode_callbacks = {"show": listDocuments}
|
||||
|
||||
def shortcode_replacer(match):
|
||||
|
||||
@ -71,13 +88,15 @@ def shortcode_filter(value):
|
||||
|
||||
|
||||
env.filters["shortcode"] = shortcode_filter
|
||||
env.filters["slugify"] = slugify_filter
|
||||
env.filters["slugify"] = slugify
|
||||
env.filters["prettydate"] = prettydate
|
||||
|
||||
|
||||
# translate a single file into HTML
|
||||
def render_single_file(page, path, dist, name = False):
|
||||
def render_single_file(path, dist, name=False):
|
||||
name = Path(path).stem
|
||||
template = env.select_template([f"{name}.jinja", "post.jinja"])
|
||||
page = get_page_data(path)
|
||||
html = template.render(documents=documents, page=page, name=name)
|
||||
|
||||
if not os.path.exists(dist):
|
||||
@ -90,41 +109,31 @@ def render_single_file(page, path, dist, name = False):
|
||||
# find a pre-rendered page
|
||||
def get_existing_page(path, slug):
|
||||
stem = Path(path).stem
|
||||
folder = os.path.basename(os.path.dirname(path))
|
||||
folder = os.path.basename(os.path.dirname(path))
|
||||
|
||||
if stem == "index" and folder != "content":
|
||||
folder = Path(path).parent.parent.name
|
||||
|
||||
if slug in documents:
|
||||
return documents[slug]
|
||||
|
||||
|
||||
if folder == "content":
|
||||
return False
|
||||
|
||||
for doc in documents[folder]:
|
||||
if doc:
|
||||
if doc["slug"] == slug:
|
||||
return doc
|
||||
|
||||
|
||||
return [item for item in documents[folder] if item.get("slug") == slug]
|
||||
|
||||
return False
|
||||
|
||||
# build a slug including the folder
|
||||
def get_slug(path, folder, filename):
|
||||
if folder == "content":
|
||||
return slugify(filename)
|
||||
else:
|
||||
return slugify(f"{folder}/{filename}")
|
||||
|
||||
# compile markdown into cited HTML
|
||||
def get_page_data(path):
|
||||
print("Getting page data for: ", path)
|
||||
global word_count
|
||||
|
||||
filename = Path(path).stem
|
||||
folder = Path(path).parent.name
|
||||
slug = get_slug(path, folder, filename)
|
||||
|
||||
prerendered = get_existing_page(path, slug)
|
||||
slug = slugify(filename) if folder == "content" else slugify(f"{folder}/{filename}")
|
||||
|
||||
if prerendered:
|
||||
if prerendered := get_existing_page(path, slug):
|
||||
return prerendered
|
||||
|
||||
page = frontmatter.load(path)
|
||||
@ -136,15 +145,15 @@ def get_page_data(path):
|
||||
page["has_passed"] = datetime.fromtimestamp(page["start_datetime"]) < now
|
||||
|
||||
content = page.content
|
||||
|
||||
if "`include" in page.content:
|
||||
|
||||
if ".include" in page.content:
|
||||
print("doing an include!")
|
||||
content = pypandoc.convert_text(
|
||||
page.content,
|
||||
to='md',
|
||||
format='md',
|
||||
extra_args=[
|
||||
"--lua-filter=include-files.lua"
|
||||
])
|
||||
to="md",
|
||||
format="md",
|
||||
extra_args=["--lua-filter=include-files.lua"],
|
||||
)
|
||||
|
||||
page.body = pypandoc.convert_text(
|
||||
content,
|
||||
@ -153,11 +162,13 @@ def get_page_data(path):
|
||||
extra_args=[
|
||||
"--citeproc",
|
||||
"--bibliography=library.bib",
|
||||
"--csl=apa.csl",
|
||||
])
|
||||
"--csl=harvard-cite-them-right.csl",
|
||||
],
|
||||
)
|
||||
|
||||
return page
|
||||
|
||||
|
||||
# Do stuff to the circuit's pcb
|
||||
def save_circuit_svg(filepath, outpath, name):
|
||||
|
||||
@ -172,7 +183,7 @@ def save_circuit_svg(filepath, outpath, name):
|
||||
root.set("width", f"{width_px}mm")
|
||||
root.set("height", f"{height_px}mm")
|
||||
|
||||
os.makedirs(outpath, exist_ok = True)
|
||||
os.makedirs(outpath, exist_ok=True)
|
||||
|
||||
tree.write(f"{outpath}/{name}")
|
||||
|
||||
@ -180,30 +191,32 @@ def save_circuit_svg(filepath, outpath, name):
|
||||
# combine HTML & data with Jinja templates
|
||||
def render_posts(path, output_path=OUTPUT_D):
|
||||
name = Path(path).stem
|
||||
|
||||
|
||||
for filename in sorted(os.listdir(path)):
|
||||
file_path = Path(path) / filename
|
||||
|
||||
if file_path.suffix == ".md":
|
||||
render_single_file(get_page_data(file_path), file_path, f"{output_path}/{name}")
|
||||
render_single_file(file_path, f"{output_path}/{name}")
|
||||
elif file_path.is_dir():
|
||||
render_posts(file_path, f"{output_path}/{name}")
|
||||
elif file_path.suffix == ".svg":
|
||||
save_circuit_svg(file_path, f"{output_path}/{name}", filename)
|
||||
elif file_path.suffix in {".jpeg", ".mp3", ".jpg", ".png"}:
|
||||
os.makedirs(f"{output_path}/{name}", exist_ok = True)
|
||||
os.makedirs(f"{output_path}/{name}", exist_ok=True)
|
||||
shutil.copyfile(file_path, f"{output_path}/{name}/{filename}")
|
||||
else:
|
||||
print("doing nothing with", filename)
|
||||
|
||||
|
||||
# Pre-load before compiling
|
||||
def preload_documents():
|
||||
global documents
|
||||
|
||||
version = subprocess.check_output(["git", "rev-list", "--count", "HEAD"]).decode("utf-8").strip()
|
||||
version = (
|
||||
subprocess.check_output(["git", "rev-list", "--count", "HEAD"])
|
||||
.decode("utf-8")
|
||||
.strip()
|
||||
)
|
||||
|
||||
|
||||
documents["meta"] = {"now": now.strftime("%d %B %Y"), "version": version}
|
||||
documents["meta"] = {"now": now.strftime("%d %B %Y - %H:%M:%S"), "version": version}
|
||||
|
||||
for subdir in os.listdir(CONTENT_D):
|
||||
path = os.path.join(CONTENT_D, subdir)
|
||||
@ -217,46 +230,63 @@ def preload_documents():
|
||||
if filename.endswith(".md"):
|
||||
documents[name].append(get_page_data(cpath))
|
||||
elif os.path.isdir(cpath):
|
||||
documents[name].append(get_page_data(os.path.join(cpath, "index.md")))
|
||||
documents[name].append(
|
||||
get_page_data(os.path.join(cpath, "index.md"))
|
||||
)
|
||||
|
||||
elif Path(path).suffix == '.md':
|
||||
elif Path(path).suffix == ".md":
|
||||
documents[Path(path).stem] = get_page_data(path)
|
||||
|
||||
|
||||
def copy_assets():
|
||||
if os.path.exists(OUT_ASSETS):
|
||||
shutil.rmtree(OUT_ASSETS)
|
||||
|
||||
shutil.copytree(SRC_ASSETS, OUT_ASSETS)
|
||||
|
||||
|
||||
def get_inventory():
|
||||
global documents
|
||||
|
||||
with open("src/content/component-inventory.csv") as f:
|
||||
documents['inventory'] = []
|
||||
|
||||
for line in csv.DictReader(f, fieldnames=('ID', 'Amount', 'Name', 'Value', 'type', 'Date', 'Where','Mounting type')):
|
||||
for line in csv.DictReader(f, fieldnames=('ID', 'Amount', 'Name', 'Value', 'type', 'Date', 'Where', 'Mounting type')):
|
||||
documents['inventory'].append(line)
|
||||
|
||||
|
||||
def get_wordcount():
|
||||
global word_count
|
||||
word_count += count_words_in_markdown(documents["thesis"].body)
|
||||
|
||||
for section in ["chapters", "components", "recipes"]:
|
||||
for c in documents[section]:
|
||||
if section == "recipes" or c["filename"] != "index":
|
||||
count = count_words_in_markdown(c.body)
|
||||
print(f"{c['filename']}: has {count} words")
|
||||
word_count += count
|
||||
|
||||
print(f"word count: { word_count} ")
|
||||
documents["meta"]["count"] = word_count
|
||||
|
||||
|
||||
def main():
|
||||
print("....Start putting together a new document....")
|
||||
get_inventory()
|
||||
preload_documents()
|
||||
get_wordcount()
|
||||
|
||||
for subdir in os.listdir(CONTENT_D):
|
||||
path = os.path.join(CONTENT_D, subdir)
|
||||
|
||||
if os.path.isdir(path):
|
||||
print("Compile: an entire directory", path)
|
||||
print("Compile: an entire directory", Path(path).name)
|
||||
render_posts(path)
|
||||
elif Path(path).suffix == '.md':
|
||||
print("Compile: single page", path);
|
||||
render_single_file(get_page_data(path), path, OUTPUT_D)
|
||||
elif Path(path).suffix == ".md":
|
||||
print("Compile: single page", Path(path).name)
|
||||
render_single_file(path, OUTPUT_D)
|
||||
elif Path(path).suffix in [".csv"]:
|
||||
print("Compile: not compiling this file!")
|
||||
print("Compile: not compiling ", Path(path).name)
|
||||
|
||||
if os.path.exists(OUT_ASSETS):
|
||||
shutil.rmtree(OUT_ASSETS)
|
||||
|
||||
shutil.copytree(SRC_ASSETS, OUT_ASSETS)
|
||||
|
||||
print(f"total words: {word_count}")
|
||||
|
||||
copy_assets()
|
||||
|
||||
main()
|
||||
|
321
harvard-cite-them-right.csl
Normal file
@ -0,0 +1,321 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
|
||||
<info>
|
||||
<title>Cite Them Right 12th edition - Harvard</title>
|
||||
<id>http://www.zotero.org/styles/harvard-cite-them-right</id>
|
||||
<link href="http://www.zotero.org/styles/harvard-cite-them-right" rel="self"/>
|
||||
<link href="http://www.zotero.org/styles/harvard-cite-them-right-11th-edition" rel="template"/>
|
||||
<link href="http://www.citethemrightonline.com/" rel="documentation"/>
|
||||
<author>
|
||||
<name>Patrick O'Brien</name>
|
||||
</author>
|
||||
<category citation-format="author-date"/>
|
||||
<category field="generic-base"/>
|
||||
<summary>Harvard according to Cite Them Right, 11th edition.</summary>
|
||||
<updated>2022-06-27T11:10:37+00:00</updated>
|
||||
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
|
||||
</info>
|
||||
<locale xml:lang="en-GB">
|
||||
<terms>
|
||||
<term name="editor" form="short">
|
||||
<single>ed.</single>
|
||||
<multiple>eds</multiple>
|
||||
</term>
|
||||
<term name="editortranslator" form="verb">edited and translated by</term>
|
||||
<term name="edition" form="short">edn.</term>
|
||||
</terms>
|
||||
</locale>
|
||||
<macro name="editor">
|
||||
<choose>
|
||||
<if type="chapter paper-conference" match="any">
|
||||
<names variable="container-author" delimiter=", " suffix=", ">
|
||||
<name and="text" initialize-with=". " delimiter=", " sort-separator=", " name-as-sort-order="all"/>
|
||||
</names>
|
||||
<choose>
|
||||
<if variable="container-author" match="none">
|
||||
<names variable="editor translator" delimiter=", ">
|
||||
<name and="text" initialize-with="."/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
</names>
|
||||
</if>
|
||||
</choose>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="secondary-contributors">
|
||||
<choose>
|
||||
<if type="chapter paper-conference" match="none">
|
||||
<names variable="editor translator" delimiter=". ">
|
||||
<label form="verb" text-case="capitalize-first" suffix=" "/>
|
||||
<name and="text" initialize-with="."/>
|
||||
</names>
|
||||
</if>
|
||||
<else-if variable="container-author" match="any">
|
||||
<names variable="editor translator" delimiter=". ">
|
||||
<label form="verb" text-case="capitalize-first" suffix=" "/>
|
||||
<name and="text" initialize-with=". " delimiter=", "/>
|
||||
</names>
|
||||
</else-if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="author">
|
||||
<names variable="author">
|
||||
<name and="text" delimiter-precedes-last="never" initialize-with="." name-as-sort-order="all"/>
|
||||
<label form="short" prefix=" (" suffix=")"/>
|
||||
<et-al font-style="italic"/>
|
||||
<substitute>
|
||||
<names variable="editor"/>
|
||||
<names variable="translator"/>
|
||||
<choose>
|
||||
<if type="article-newspaper article-magazine" match="any">
|
||||
<text variable="container-title" text-case="title" font-style="italic"/>
|
||||
</if>
|
||||
<else>
|
||||
<text macro="title"/>
|
||||
</else>
|
||||
</choose>
|
||||
</substitute>
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="author-short">
|
||||
<names variable="author">
|
||||
<name form="short" and="text" delimiter=", " delimiter-precedes-last="never" initialize-with=". "/>
|
||||
<et-al font-style="italic"/>
|
||||
<substitute>
|
||||
<names variable="editor"/>
|
||||
<names variable="translator"/>
|
||||
<choose>
|
||||
<if type="article-newspaper article-magazine" match="any">
|
||||
<text variable="container-title" text-case="title" font-style="italic"/>
|
||||
</if>
|
||||
<else>
|
||||
<text macro="title"/>
|
||||
</else>
|
||||
</choose>
|
||||
</substitute>
|
||||
</names>
|
||||
</macro>
|
||||
<macro name="access">
|
||||
<choose>
|
||||
<if variable="DOI">
|
||||
<group delimiter=": ">
|
||||
<text term="available at" text-case="capitalize-first"/>
|
||||
<text variable="DOI" prefix="https://doi.org/"/>
|
||||
</group>
|
||||
</if>
|
||||
<else-if variable="URL">
|
||||
<text term="available at" suffix=": " text-case="capitalize-first"/>
|
||||
<text variable="URL"/>
|
||||
<group prefix=" (" delimiter=": " suffix=")">
|
||||
<text term="accessed" text-case="capitalize-first"/>
|
||||
<date form="text" variable="accessed">
|
||||
<date-part name="day"/>
|
||||
<date-part name="month"/>
|
||||
<date-part name="year"/>
|
||||
</date>
|
||||
</group>
|
||||
</else-if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="number-volumes">
|
||||
<choose>
|
||||
<if variable="volume" match="none">
|
||||
<group delimiter=" " prefix="(" suffix=")">
|
||||
<text variable="number-of-volumes"/>
|
||||
<label variable="volume" form="short" strip-periods="true"/>
|
||||
</group>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="title">
|
||||
<choose>
|
||||
<if type="bill book legal_case legislation motion_picture report song thesis webpage graphic" match="any">
|
||||
<group delimiter=". ">
|
||||
<group delimiter=" ">
|
||||
<group delimiter=" ">
|
||||
<text variable="title" font-style="italic"/>
|
||||
<text variable="medium" prefix="[" suffix="]"/>
|
||||
</group>
|
||||
<text macro="number-volumes"/>
|
||||
</group>
|
||||
<text macro="edition"/>
|
||||
</group>
|
||||
</if>
|
||||
<else>
|
||||
<text variable="title" form="long" quotes="true"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="publisher">
|
||||
<choose>
|
||||
<if type="thesis">
|
||||
<group delimiter=". ">
|
||||
<text variable="genre"/>
|
||||
<text variable="publisher"/>
|
||||
</group>
|
||||
</if>
|
||||
<else-if type="report">
|
||||
<group delimiter=". ">
|
||||
<group delimiter=" ">
|
||||
<text variable="genre"/>
|
||||
<text variable="number"/>
|
||||
</group>
|
||||
<group delimiter=": ">
|
||||
<text variable="publisher-place"/>
|
||||
<text variable="publisher"/>
|
||||
</group>
|
||||
</group>
|
||||
</else-if>
|
||||
<else-if type="article-journal article-newspaper article-magazine" match="none">
|
||||
<group delimiter=" ">
|
||||
<group delimiter=", ">
|
||||
<choose>
|
||||
<if type="speech" variable="event" match="any">
|
||||
<text variable="event" font-style="italic"/>
|
||||
</if>
|
||||
</choose>
|
||||
<group delimiter=": ">
|
||||
<text variable="publisher-place"/>
|
||||
<text variable="publisher"/>
|
||||
</group>
|
||||
</group>
|
||||
<group prefix="(" suffix=")" delimiter=", ">
|
||||
<text variable="collection-title"/>
|
||||
<text variable="collection-number"/>
|
||||
</group>
|
||||
</group>
|
||||
</else-if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="year-date">
|
||||
<choose>
|
||||
<if variable="issued">
|
||||
<date variable="issued">
|
||||
<date-part name="year"/>
|
||||
</date>
|
||||
<text variable="year-suffix"/>
|
||||
</if>
|
||||
<else>
|
||||
<text term="no date"/>
|
||||
<text variable="year-suffix" prefix=" "/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="locator">
|
||||
<choose>
|
||||
<if type="article-journal">
|
||||
<text variable="volume"/>
|
||||
<text variable="issue" prefix="(" suffix=")"/>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="published-date">
|
||||
<choose>
|
||||
<if type="article-newspaper article-magazine post-weblog speech" match="any">
|
||||
<date variable="issued">
|
||||
<date-part name="day" suffix=" "/>
|
||||
<date-part name="month" form="long"/>
|
||||
</date>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="pages">
|
||||
<choose>
|
||||
<if type="chapter paper-conference article-journal article article-magazine article-newspaper book review review-book report" match="any">
|
||||
<group delimiter=" ">
|
||||
<label variable="page" form="short"/>
|
||||
<text variable="page"/>
|
||||
</group>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="container-title">
|
||||
<choose>
|
||||
<if variable="container-title">
|
||||
<group delimiter=". ">
|
||||
<group delimiter=" ">
|
||||
<text variable="container-title" font-style="italic"/>
|
||||
<choose>
|
||||
<if type="article article-journal" match="any">
|
||||
<choose>
|
||||
<if match="none" variable="page volume">
|
||||
<text value="Preprint" prefix="[" suffix="]"/>
|
||||
</if>
|
||||
</choose>
|
||||
</if>
|
||||
</choose>
|
||||
</group>
|
||||
<text macro="edition"/>
|
||||
</group>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="edition">
|
||||
<choose>
|
||||
<if is-numeric="edition">
|
||||
<group delimiter=" ">
|
||||
<number variable="edition" form="ordinal"/>
|
||||
<text term="edition" form="short" strip-periods="true"/>
|
||||
</group>
|
||||
</if>
|
||||
<else>
|
||||
<text variable="edition"/>
|
||||
</else>
|
||||
</choose>
|
||||
</macro>
|
||||
<macro name="container-prefix">
|
||||
<choose>
|
||||
<if type="chapter paper-conference" match="any">
|
||||
<text term="in"/>
|
||||
</if>
|
||||
</choose>
|
||||
</macro>
|
||||
<citation et-al-min="4" et-al-use-first="1" disambiguate-add-year-suffix="true" disambiguate-add-names="true" disambiguate-add-givenname="true" collapse="year">
|
||||
<sort>
|
||||
<key macro="year-date"/>
|
||||
</sort>
|
||||
<layout prefix="(" suffix=")" delimiter="; ">
|
||||
<group delimiter=", ">
|
||||
<group delimiter=", ">
|
||||
<text macro="author-short"/>
|
||||
<text macro="year-date"/>
|
||||
</group>
|
||||
<group>
|
||||
<label variable="locator" form="short" suffix=" "/>
|
||||
<text variable="locator"/>
|
||||
</group>
|
||||
</group>
|
||||
</layout>
|
||||
</citation>
|
||||
<bibliography and="text" et-al-min="4" et-al-use-first="1">
|
||||
<sort>
|
||||
<key macro="author"/>
|
||||
<key macro="year-date"/>
|
||||
<key variable="title"/>
|
||||
</sort>
|
||||
<layout suffix=".">
|
||||
<group delimiter=". ">
|
||||
<group delimiter=" ">
|
||||
<text macro="author"/>
|
||||
<text macro="year-date" prefix="(" suffix=")"/>
|
||||
<group delimiter=", ">
|
||||
<text macro="title"/>
|
||||
<group delimiter=" ">
|
||||
<text macro="container-prefix"/>
|
||||
<text macro="editor"/>
|
||||
<text macro="container-title"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<text macro="secondary-contributors"/>
|
||||
<text macro="publisher"/>
|
||||
</group>
|
||||
<group delimiter=", " prefix=", ">
|
||||
<text macro="locator"/>
|
||||
<text macro="published-date"/>
|
||||
<text macro="pages"/>
|
||||
</group>
|
||||
<text macro="access" prefix=". "/>
|
||||
</layout>
|
||||
</bibliography>
|
||||
</style>
|
73
library.bib
@ -1,3 +1,10 @@
|
||||
@misc{99PanelDesign,
|
||||
title = {(99+) {{Panel}}: {{Design}} for {{Hackability}}},
|
||||
urldate = {2025-03-14},
|
||||
howpublished = {https://www.academia.edu/110475342/Panel\_Design\_for\_Hackability},
|
||||
file = {/Users/Rosa/Zotero/storage/33PDJSPD/Panel_Design_for_Hackability.html}
|
||||
}
|
||||
|
||||
@article{abalansaElectronicWasteEnvironmental2021,
|
||||
title = {Electronic {{Waste}}, an {{Environmental Problem Exported}} to {{Developing Countries}}: {{The GOOD}}, the {{BAD}} and the {{UGLY}}},
|
||||
shorttitle = {Electronic {{Waste}}, an {{Environmental Problem Exported}} to {{Developing Countries}}},
|
||||
@ -30,10 +37,11 @@
|
||||
file = {/Users/Rosa/Zotero/storage/LTRYTQS2/charles-r-acland-residual-media_pdf -- Xerox WorkCentre 5655 -- fd5e0a915ed3fdf92f48da0ca8009c71 -- Anna’s Archive-1.pdf}
|
||||
}
|
||||
|
||||
@techreport{baldeGlobalEWasteMonitor,
|
||||
@techreport{baldeGlobalEWasteMonitor2024,
|
||||
title = {The {{Global E-Waste Monitor}} 2024},
|
||||
author = {Bald{\'e}, Cornelis P. and Kuehr, Ruediger and Yamamoto, Tales and McDonald, Rosie and D'Angelo, Elena and Althaf, Shahana and Bel, Garam and {Fernandez-Cubillo}, Elena and Forti, Vanessa and Gray, Vanessa and Herat, Sunil and Honda, Shunichi and Iattoni, Giulia and Khetriwal, Deepali S. and di Cortemiglia, Vittoria Luda and Lobuntsova, Yuliya and Nnorom, Innocent and Wagner (2024), Michelle and Bald{\'e}, Cornelis P. and {International Telecommunication Union (ITU)} and {United Nations Institute for Training and Research (UNITAR)}},
|
||||
institution = {International Telecommunication Union (ITU)},
|
||||
year = {2024},
|
||||
langid = {english},
|
||||
annotation = {titleTranslation: THE GLOBAL E-WASTE MONITOR 2024},
|
||||
file = {/Users/Rosa/Zotero/storage/WGS4GDYK/GEM_2024_EN_11_NOV-web.pdf}
|
||||
}
|
||||
@ -157,6 +165,21 @@
|
||||
file = {/Users/Rosa/Zotero/storage/6G8IIDT5/article.pdf}
|
||||
}
|
||||
|
||||
@article{chokkattuWhatYourDefunct2025,
|
||||
title = {What to {{Do With Your Defunct Humane Ai Pin}}},
|
||||
author = {Chokkattu, Julian},
|
||||
year = {2025},
|
||||
month = feb,
|
||||
journal = {Wired},
|
||||
issn = {1059-1028},
|
||||
urldate = {2025-03-13},
|
||||
abstract = {Humane Ai's Pins stopped working today, turning the year-old wearable into a paperweight. Here are some ideas for what to do with yours if you want to avoid e-waste.},
|
||||
chapter = {tags},
|
||||
langid = {american},
|
||||
keywords = {artificial intelligence,shopping,wearables},
|
||||
file = {/Users/Rosa/Zotero/storage/J4U6SVG3/what-to-do-with-your-humane-ai-pin.html}
|
||||
}
|
||||
|
||||
@book{collinsHandmadeElectronicMusic2009,
|
||||
title = {Handmade Electronic Music: The Art of Hardware Hacking},
|
||||
shorttitle = {Handmade Electronic Music},
|
||||
@ -247,11 +270,14 @@
|
||||
file = {/Users/Rosa/Zotero/storage/D6EBFKZU/popupforcollaborativemusicmaking.wordpress.com.html}
|
||||
}
|
||||
|
||||
@article{fennisOntologyElectronicWaste,
|
||||
@article{fennisOntologyElectronicWaste2022,
|
||||
title = {Ontology {{Of Electronic Waste}}},
|
||||
author = {Fennis, Maurits},
|
||||
year = {2022},
|
||||
month = nov,
|
||||
langid = {english},
|
||||
keywords = {summarised},
|
||||
annotation = {titleTranslation: Ontologie van elektronisch afval},
|
||||
file = {/Users/Rosa/Zotero/storage/PZ45G9QF/Fennis - Ontology Of Electronic Waste.pdf}
|
||||
}
|
||||
|
||||
@ -263,6 +289,19 @@
|
||||
file = {/Users/Rosa/Zotero/storage/4HTDFEDL/Fernandez and Iazzetta - Circuit-Bending and DIY Culture.pdf}
|
||||
}
|
||||
|
||||
@misc{foresmanAppleScrewingNew2011,
|
||||
title = {Apple ``Screwing'' New {{iPhones}} out of Simple {{DIY}} Repair},
|
||||
author = {Foresman, Chris},
|
||||
year = {2011},
|
||||
month = jan,
|
||||
journal = {Ars Technica},
|
||||
urldate = {2025-03-14},
|
||||
abstract = {Apple is purposefully making it harder to get inside its devices buy using {\dots}},
|
||||
howpublished = {https://arstechnica.com/gadgets/2011/01/apple-screwing-new-iphones-out-of-simple-diy-repair/},
|
||||
langid = {american},
|
||||
file = {/Users/Rosa/Zotero/storage/AZ3IAGCT/apple-screwing-new-iphones-out-of-simple-diy-repair.html}
|
||||
}
|
||||
|
||||
@article{fullerIntroductionAutomaticInstruments1983,
|
||||
title = {An Introduction to Automatic Instruments},
|
||||
author = {Fuller, David},
|
||||
@ -393,6 +432,19 @@
|
||||
file = {/Users/Rosa/Zotero/storage/K5SZIEPI/Hertz and Parikka - 2012 - Zombie Media Circuit Bending Media Archaeology into an Art Method.pdf}
|
||||
}
|
||||
|
||||
@article{hillPanelDesignHackability2004,
|
||||
title = {Panel: {{Design}} for {{Hackability}}},
|
||||
shorttitle = {Panel},
|
||||
author = {Hill, Dan},
|
||||
year = {2004},
|
||||
month = jan,
|
||||
urldate = {2025-03-14},
|
||||
abstract = {Design for hackability encourages designers and nondesigners to critically and creatively explore interactivity, technology and media-to reclaim authorship and ownership of technologies and the social and cultural worlds in which we live. Hackability},
|
||||
langid = {english},
|
||||
keywords = {No DOI found},
|
||||
file = {/Users/Rosa/Zotero/storage/CWFGVBXA/Panel_Design_for_Hackability.html}
|
||||
}
|
||||
|
||||
@book{holmesElectronicExperimentalMusic2012,
|
||||
title = {Electronic and Experimental Music: Technology, Music, and Culture},
|
||||
shorttitle = {Electronic and Experimental Music},
|
||||
@ -946,18 +998,29 @@
|
||||
publisher = {Harvard University press},
|
||||
address = {Cambridge (Mass.) London},
|
||||
isbn = {978-0-674-00889-2},
|
||||
langid = {american},
|
||||
langid = {english},
|
||||
keywords = {new},
|
||||
file = {/Users/Rosa/Zotero/storage/B6P7MAUL/Pinch and Trocco - 2002 - Analog days the invention and impact of the Moog synthesizer.pdf}
|
||||
}
|
||||
|
||||
@book{postmaWeggooienMooiNiet,
|
||||
@book{postmaWeggooienMooiNiet2015,
|
||||
title = {Weggooien, Mooi Niet!},
|
||||
author = {Postma, Martine},
|
||||
editor = {Rhoen, Marion},
|
||||
year = {2015},
|
||||
month = mar,
|
||||
publisher = {de Vrije Uitgevers},
|
||||
isbn = {978-94-90298-06-7},
|
||||
keywords = {summarised}
|
||||
}
|
||||
|
||||
@misc{Principles,
|
||||
title = {Principles},
|
||||
urldate = {2025-03-14},
|
||||
howpublished = {https://permacomputing.net/Principles/},
|
||||
file = {/Users/Rosa/Zotero/storage/TBYIGTHI/Principles.html}
|
||||
}
|
||||
|
||||
@inproceedings{raghavanMacroscopicallySustainableNetworking2016,
|
||||
title = {Macroscopically Sustainable Networking: On Internet Quines},
|
||||
shorttitle = {Macroscopically Sustainable Networking},
|
||||
|
@ -1,12 +1,12 @@
|
||||
|
||||
|
||||
const dialog = document.querySelector("dialog");
|
||||
|
||||
const closeDialog = (e) => {
|
||||
e.stopPropagation();
|
||||
console.log("close")
|
||||
dialog.close();
|
||||
document.body.removeEventListener("click", closeDialog);
|
||||
}
|
||||
|
||||
const showLightbox = (e) => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
@ -18,7 +18,5 @@ const showLightbox = (e) => {
|
||||
document.body.addEventListener("click", closeDialog, false);
|
||||
}
|
||||
document.querySelectorAll("article img").forEach((img) => {
|
||||
console.log(img);
|
||||
img.addEventListener("click", showLightbox);
|
||||
})
|
||||
|
||||
|
BIN
src/assets/chapters/bastl_kit.webp
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
src/assets/chapters/toolkit.jpeg
Normal file
After Width: | Height: | Size: 897 KiB |
BIN
src/assets/chapters/toolkit.webp
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
src/assets/components/Capacitors.JPG
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
src/assets/components/PCB_1.JPG
Normal file
After Width: | Height: | Size: 946 KiB |
BIN
src/assets/components/PCB_2.jpg
Normal file
After Width: | Height: | Size: 309 KiB |
BIN
src/assets/components/Resistors.JPG
Normal file
After Width: | Height: | Size: 445 KiB |
BIN
src/assets/components/TransistorsED.JPG
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
src/assets/components/chip.JPG
Normal file
After Width: | Height: | Size: 840 KiB |
BIN
src/assets/font/FiraSans/FiraSans-Bold.eot
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Bold.otf
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Bold.ttf
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Bold.woff
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Bold.woff2
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Book.eot
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Book.otf
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Book.ttf
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Book.woff
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Book.woff2
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Heavy.eot
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Heavy.otf
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Heavy.ttf
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Heavy.woff
Normal file
BIN
src/assets/font/FiraSans/FiraSans-Heavy.woff2
Normal file
4
src/assets/paged.polyfill.js
Normal file
3
src/assets/schematics/Antenna-COM-Aerial.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M74.88 150V12.5m.12 50 37.5-50M75 62.5l-37.5-50"/>
|
||||
</svg>
|
After Width: | Height: | Size: 200 B |
3
src/assets/schematics/Antenna-COM-Dipole.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M49.5 150 50 50H12.5m87.25 100L100 50h37.5"/>
|
||||
</svg>
|
After Width: | Height: | Size: 195 B |
3
src/assets/schematics/Antenna-COM-Loop.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M50 150v-37.5L12.5 75 75 12.5 137.5 75 100 112.5V150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 205 B |
6
src/assets/schematics/Audio-COM-Buzzer.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M25 12.5h100s0 50-50 50-50-50-50-50Z"/>
|
||||
<path d="M0 74.69h50V56.25m50 0V75h50"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 259 B |
3
src/assets/schematics/Audio-COM-Loudspeaker.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M37.5 37.5H75l50-31.25v137.5L75 112.5H37.5v-75zm37.5 0v75M0 49.94h37.5M0 100h37.5"/>
|
||||
</svg>
|
After Width: | Height: | Size: 234 B |
6
src/assets/schematics/Audio-IEC-Microphone.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<circle cx="75" cy="75" r="50"/>
|
||||
<path d="M0 49.94h31.25M0 100h31.25M125 18.75v112.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 257 B |
3
src/assets/schematics/Audio-IEEE-Microphone.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M118.75 12.5v125S50 137.5 50 75s68.75-62.5 68.75-62.5ZM0 49.66l56.25.34M0 100.28l56.25-.28"/>
|
||||
</svg>
|
After Width: | Height: | Size: 243 B |
3
src/assets/schematics/Capacitor-COM-Feedthrough.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.5h150M25 50s25 12.5 50 12.5S125 50 125 50M25 100s25-12.5 50-12.5 50 12.5 50 12.5M75 87.5V150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 251 B |
3
src/assets/schematics/Capacitor-IEC-NonPolarized.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.97h65.5m84.5.28H84.5m0-31.25v62m-19-62v62"/>
|
||||
</svg>
|
After Width: | Height: | Size: 200 B |
3
src/assets/schematics/Capacitor-IEC-Polarized.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.97h65.5m84.5.28H84.5m0-31.25v62m-19-62v62m65.75-56h-25m12.5-12.5v25"/>
|
||||
</svg>
|
After Width: | Height: | Size: 226 B |
3
src/assets/schematics/Capacitor-IEC-Trimmer.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.97h65.5m84.5.28H84.5m0-31.25v62m-19-62v62M25 104.25l98-57.5m8.25 15.75L112.5 31.25"/>
|
||||
</svg>
|
After Width: | Height: | Size: 241 B |
4
src/assets/schematics/Capacitor-IEC-Variable.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.97h65.5m84.5.28H84.5m0-31.25v62m-19-62v62m-40.5.25 84.79-52.99"/>
|
||||
<path d="M113.3 65.76 125 43.75l-24.91.87 13.21 21.14z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 283 B |
3
src/assets/schematics/Capacitor-IEEE-NonPolarized.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M150 74.97H84.5M0 75.25h66.5M54 44s12.5 12.25 12.5 31S54 106 54 106m30.5-62v62"/>
|
||||
</svg>
|
After Width: | Height: | Size: 231 B |
3
src/assets/schematics/Capacitor-IEEE-Polarized.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M150 74.97H84.5M0 75.25h66.5M54 44s12.5 12.25 12.5 31S54 106 54 106m30.5-62v62m46.75-56h-25m12.5-12.5v25"/>
|
||||
</svg>
|
After Width: | Height: | Size: 257 B |
6
src/assets/schematics/Diode-COM-LED.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m100 75-50 31.25v-62.5L100 75zm0-34.25v68.5M50 75H0m100 0h50m-50-43.75 18.75-18.75"/>
|
||||
<path d="m122.49 19.34 3.87-14.45-14.45 3.87 10.58 10.58z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m118.75 50 18.75-18.75"/>
|
||||
<path d="m141.24 38.09 3.87-14.45-14.45 3.87 10.58 10.58z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 470 B |
7
src/assets/schematics/Diode-COM-Laser.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m100 75-50 31.25v-62.5L100 75zm0-34.25v68.5M50 75H0m100 0h50M62.5 40.5V13.98"/>
|
||||
<path d="M69.98 16.17 62.5 3.22l-7.48 12.95h14.96z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M87.5 40.5V13.98"/>
|
||||
<path d="M94.98 16.17 87.5 3.22l-7.48 12.95h14.96z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M112.5 40.75v68.5"/>
|
||||
</svg>
|
After Width: | Height: | Size: 544 B |
6
src/assets/schematics/Diode-COM-Photodiode.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m100 75-50 31.25v-62.5L100 75zm0-34.25v68.5M50 75H0m100 0h50m-12.5-43.75L118.75 50"/>
|
||||
<path d="m115.01 43.16-3.87 14.45 14.45-3.87-10.58-10.58z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M118.75 12.5 100 31.25"/>
|
||||
<path d="m96.26 24.41-3.87 14.45 14.45-3.87-10.58-10.58z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 469 B |
3
src/assets/schematics/Diode-COM-Shockley.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M100 37.5v75m0-37.5L43.75 40.75v71.75M0 75h150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 199 B |
6
src/assets/schematics/Diode-COM-Shottky.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="m100 75-50 31.25v-62.5L100 75zm-50 0H0m100 0h50"/>
|
||||
<path d="M87.5 97v12.5H100v-69h12.5V53"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 271 B |
3
src/assets/schematics/Diode-COM-Standard.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m100 75-50 31.25v-62.5L100 75zm0-34.25v68.5M50 75H0m100 0h50"/>
|
||||
</svg>
|
After Width: | Height: | Size: 213 B |
6
src/assets/schematics/Diode-COM-Tunnel.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="m100 75-50 31.25v-62.5L100 75zm-50 0H0m100 0h50"/>
|
||||
<path d="M87.5 109.25H100v-68.5H87.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 269 B |
3
src/assets/schematics/Diode-COM-Varicap.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m92.75 75-50 31.25v-62.5l50 31.25zm-50 0H0m108.25 0H150m-54.25 37.5v-75m12.5 75v-75"/>
|
||||
</svg>
|
After Width: | Height: | Size: 236 B |
6
src/assets/schematics/Diode-COM-Zener.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="m100 75-50 31.25v-62.5L100 75zm-50 0H0m100 0h50"/>
|
||||
<path d="M112.5 109.5 100 100V50l-12.5-9.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 275 B |
3
src/assets/schematics/Fuse-IEC.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.88 25 75m0-25h100v50H25zm100 25h25M43.75 50v50m62.5-50v50"/>
|
||||
</svg>
|
After Width: | Height: | Size: 216 B |
3
src/assets/schematics/Fuse-IEEE-Alt.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 75.25 25 75s0-25 25-25 25 25 25 25 0 25 25 25 25-25 25-25h25"/>
|
||||
</svg>
|
After Width: | Height: | Size: 216 B |
3
src/assets/schematics/Fuse-IEEE.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M0 74.88h150M25 50h100v50H25z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 182 B |
6
src/assets/schematics/Ground-COM-Chassis.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M56.25 125 75 75h-.31V0"/>
|
||||
<path d="m25 125 18.75-50h62.5L87.5 125"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 248 B |
3
src/assets/schematics/Ground-COM-General.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M75 0v75m-50 0h100m-56.25 50h12.5M50 100h50"/>
|
||||
</svg>
|
After Width: | Height: | Size: 196 B |
3
src/assets/schematics/Ground-COM-Signal.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M75 0v62.5m-50 0h100L75 125 25 62.5z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 189 B |
3
src/assets/schematics/IC-COM-Comparator.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 25v100l100-50L25 25zm0 25H0m125 25h25M0 100h25m9.5-47H53m-9.25-9.25v18.5M34.5 97H53"/>
|
||||
</svg>
|
After Width: | Height: | Size: 240 B |
8
src/assets/schematics/IC-COM-FlipFlop-ClockedD.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v125H25zM25 50H0m25 50H0m125-50h25m-25 50h25"/>
|
||||
<path d="m111.57 53.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66m4.24 52.65 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M97 84.25h18.75"/>
|
||||
<path d="M37.5 40.79H43a8.67 8.67 0 0 1 2.84.35 5 5 0 0 1 2.25 1.7 8.56 8.56 0 0 1 1.42 3 16.43 16.43 0 0 1 .49 4.35 14.62 14.62 0 0 1-.46 3.93A8.69 8.69 0 0 1 48 57.39a5.17 5.17 0 0 1-2.12 1.47 7.44 7.44 0 0 1-2.66.39H37.5Zm3 3.12v12.23h2.25a6.53 6.53 0 0 0 1.83-.14 2.53 2.53 0 0 0 1.21-.77 4.06 4.06 0 0 0 .79-1.78 14.31 14.31 0 0 0 .31-3.45 13.2 13.2 0 0 0-.31-3.29 4.48 4.48 0 0 0-.85-1.71 2.7 2.7 0 0 0-1.4-.87 10.82 10.82 0 0 0-2.47-.18Zm27.75-6.38 3.14-.34a4.57 4.57 0 0 0 1.15 2.63 3.23 3.23 0 0 0 2.34.84 3.3 3.3 0 0 0 2.35-.75 2.32 2.32 0 0 0 .77-1.75 1.79 1.79 0 0 0-.33-1.09 2.7 2.7 0 0 0-1.16-.79c-.38-.14-1.24-.41-2.59-.79a8.24 8.24 0 0 1-3.62-1.79 5 5 0 0 1-1.47-3.64 5.1 5.1 0 0 1 .69-2.59 4.49 4.49 0 0 1 2-1.84 7.19 7.19 0 0 1 3.14-.63 6.19 6.19 0 0 1 4.53 1.5 5.55 5.55 0 0 1 1.6 4l-3.23.16a3.2 3.2 0 0 0-.89-2 2.94 2.94 0 0 0-2-.61 3.39 3.39 0 0 0-2.2.65 1.37 1.37 0 0 0-.52 1.13 1.47 1.47 0 0 0 .48 1.1 7.91 7.91 0 0 0 3 1.21 14.32 14.32 0 0 1 3.48 1.3 4.74 4.74 0 0 1 1.77 1.84 5.94 5.94 0 0 1 .64 2.89 5.86 5.86 0 0 1-.76 2.92 4.8 4.8 0 0 1-2.16 2 8.12 8.12 0 0 1-3.48.66 6.39 6.39 0 0 1-4.66-1.59 7.31 7.31 0 0 1-2.01-4.63Zm.5 87.47v-18.46h5.91a7.88 7.88 0 0 1 3.24.49 3.65 3.65 0 0 1 1.61 1.77 6.62 6.62 0 0 1 .61 2.91 6 6 0 0 1-.92 3.43 4 4 0 0 1-2.75 1.71A7.06 7.06 0 0 1 78 118.4a21.07 21.07 0 0 1 1.6 3l1.7 3.6h-3.41l-2-4a25.94 25.94 0 0 0-1.48-2.71 2.14 2.14 0 0 0-.84-.77 3.53 3.53 0 0 0-1.41-.21h-.57V125Zm2.81-10.66h2.07a8.35 8.35 0 0 0 2.53-.22 1.64 1.64 0 0 0 .78-.78 3 3 0 0 0 .29-1.39 2.69 2.69 0 0 0-.38-1.5 1.61 1.61 0 0 0-1-.73 18.74 18.74 0 0 0-2-.06h-2.29Z"/>
|
||||
<path fill="none" stroke="#000" stroke-width="5" d="M75.28 0v12.5M74.72 150v-12.5"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 87.5 50 100l-25 12.5v-25z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
6
src/assets/schematics/IC-COM-FlipFlop-ClockedJK.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v125H25zM25 50H0m25 50H0m125-50h25m-25 50h25"/>
|
||||
<path d="m111.57 53.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66m4.24 52.65 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M97 84.25h18.75M25 62.5 50 75 25 87.5v-25zM0 74.53h25.06"/>
|
||||
<path d="M46.13 40.5h3.93v11.67a11.4 11.4 0 0 1-.42 3.52 5.12 5.12 0 0 1-2.08 2.59 7.23 7.23 0 0 1-4 1 6.11 6.11 0 0 1-4.46-1.53c-1-1-1.56-3.75-1.57-5.72h3.72a9.46 9.46 0 0 0 .49 3.07 2.16 2.16 0 0 0 1.95 1 2.21 2.21 0 0 0 1.86-.71 5.29 5.29 0 0 0 .55-3ZM37.56 109V90.5h2.8v8.2L46 90.5h3.76l-5.22 7.19L50.06 109h-3.62l-3.81-8.66-2.27 3.08V109Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
6
src/assets/schematics/IC-COM-FlipFlop-ClockedT.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v125H25zM25 50H0m25 50H0m125-50h25m-25 50h25"/>
|
||||
<path d="m111.57 53.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66m4.24 52.65 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M97 84.25h18.75M25 87.5 50 100l-25 12.5v-25z"/>
|
||||
<path d="M42.17 59.25V43.67H37.5V40.5H50v3.17h-4.66v15.58Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
6
src/assets/schematics/IC-COM-FlipFlop-GatedD.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v125H25zM25 50H0m25 50H0m125-50h25m-25 50h25"/>
|
||||
<path d="m111.57 53.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66m4.24 52.65 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M97 84.25h18.75"/>
|
||||
<path d="M37.5 109.21V90.75h12.19v3.12h-8.87V98h8.25v3.11h-8.25v5H50v3.11Zm0-68.42H43a8.67 8.67 0 0 1 2.84.35 5 5 0 0 1 2.25 1.7 8.56 8.56 0 0 1 1.42 3 16.43 16.43 0 0 1 .49 4.35 14.62 14.62 0 0 1-.46 3.93A8.69 8.69 0 0 1 48 57.39a5.17 5.17 0 0 1-2.12 1.47 7.44 7.44 0 0 1-2.66.39H37.5Zm3 3.12v12.23h2.25a6.53 6.53 0 0 0 1.83-.14 2.53 2.53 0 0 0 1.21-.77 4.06 4.06 0 0 0 .79-1.78 14.31 14.31 0 0 0 .31-3.45 13.2 13.2 0 0 0-.31-3.29 4.48 4.48 0 0 0-.85-1.71 2.7 2.7 0 0 0-1.4-.87 10.82 10.82 0 0 0-2.47-.18Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
6
src/assets/schematics/IC-COM-FlipFlop-GatedSR.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v125H25zM25 50H0m25 50H0m125-50h25m-25 50h25"/>
|
||||
<path d="m111.57 53.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66M37 53.05l3.14-.35a4.54 4.54 0 0 0 1.15 2.63 3.23 3.23 0 0 0 2.34.84 3.3 3.3 0 0 0 2.37-.75 2.32 2.32 0 0 0 .79-1.74 1.79 1.79 0 0 0-.33-1.09 2.7 2.7 0 0 0-1.16-.79c-.38-.14-1.24-.41-2.59-.79a8.35 8.35 0 0 1-3.64-1.78 5 5 0 0 1-1.47-3.64 5.09 5.09 0 0 1 .67-2.59 4.47 4.47 0 0 1 2-1.83 7.19 7.19 0 0 1 3.15-.63A6.19 6.19 0 0 1 47.94 42a5.54 5.54 0 0 1 1.6 4l-3.23.16a3.15 3.15 0 0 0-.89-2 2.94 2.94 0 0 0-2-.61 3.39 3.39 0 0 0-2.2.65 1.35 1.35 0 0 0-.52 1.12 1.46 1.46 0 0 0 .48 1.1 7.91 7.91 0 0 0 3 1.21A14.32 14.32 0 0 1 47.59 49a4.67 4.67 0 0 1 1.77 1.84 6.32 6.32 0 0 1-.12 5.78 4.74 4.74 0 0 1-2.16 2 8.12 8.12 0 0 1-3.48.66 6.43 6.43 0 0 1-4.66-1.58A7.3 7.3 0 0 1 37 53.05Zm.5 56.2V90.79h5.91a7.88 7.88 0 0 1 3.24.49 3.65 3.65 0 0 1 1.61 1.77 6.62 6.62 0 0 1 .61 2.95 6 6 0 0 1-.87 3.39 4 4 0 0 1-2.75 1.71 7.06 7.06 0 0 1 1.5 1.55 21.07 21.07 0 0 1 1.6 3l1.7 3.6h-3.41l-2-4a25.94 25.94 0 0 0-1.48-2.71 2.14 2.14 0 0 0-.84-.77 3.53 3.53 0 0 0-1.41-.21h-.57v7.71Zm2.81-10.66h2.07a8.35 8.35 0 0 0 2.53-.22 1.64 1.64 0 0 0 .78-.78A3 3 0 0 0 46 96.2a2.69 2.69 0 0 0-.38-1.5 1.61 1.61 0 0 0-1.07-.7 18.74 18.74 0 0 0-2-.06h-2.24Zm71.26 5.31 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M97 84.25h18.75M25 75H0"/>
|
||||
<path d="M37.48 84.31V65.85h12.19V69H40.8v4.09h8.25v3.11H40.8v5H50v3.11Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
9
src/assets/schematics/IC-COM-FlipFlop-SimpleSR.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v125H25zM25 50H0m25 50H0m125-50h25m-25 50h25"/>
|
||||
<path d="m111.57 53.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66M37 53l3.14-.34a4.57 4.57 0 0 0 1.15 2.63 3.23 3.23 0 0 0 2.34.84 3.3 3.3 0 0 0 2.37-.72 2.32 2.32 0 0 0 .79-1.75 1.79 1.79 0 0 0-.33-1.09 2.7 2.7 0 0 0-1.16-.79c-.38-.14-1.24-.41-2.59-.79a8.24 8.24 0 0 1-3.64-1.79 5 5 0 0 1-1.47-3.64 5.1 5.1 0 0 1 .67-2.56 4.49 4.49 0 0 1 2-1.84 7.19 7.19 0 0 1 3.15-.63A6.19 6.19 0 0 1 47.94 42a5.55 5.55 0 0 1 1.6 4l-3.23.16a3.2 3.2 0 0 0-.89-2 2.94 2.94 0 0 0-2-.61 3.39 3.39 0 0 0-2.2.65 1.37 1.37 0 0 0-.52 1.13 1.47 1.47 0 0 0 .48 1.1 7.91 7.91 0 0 0 3 1.21 14.32 14.32 0 0 1 3.48 1.3 4.74 4.74 0 0 1 1.77 1.84 5.94 5.94 0 0 1 .57 2.87 5.86 5.86 0 0 1-.76 2.92 4.8 4.8 0 0 1-2.16 2 8.12 8.12 0 0 1-3.48.66 6.39 6.39 0 0 1-4.66-1.59A7.31 7.31 0 0 1 37 53Z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M34.5 34.25h18.75"/>
|
||||
<path d="M37.5 109.25V90.79h5.91a7.88 7.88 0 0 1 3.24.49 3.65 3.65 0 0 1 1.61 1.77 6.62 6.62 0 0 1 .61 2.95 6 6 0 0 1-.87 3.39 4 4 0 0 1-2.75 1.71 7.06 7.06 0 0 1 1.5 1.55 21.07 21.07 0 0 1 1.6 3l1.7 3.6h-3.41l-2-4a25.94 25.94 0 0 0-1.48-2.71 2.14 2.14 0 0 0-.84-.77 3.53 3.53 0 0 0-1.41-.21h-.57v7.71Zm2.81-10.66h2.07a8.35 8.35 0 0 0 2.53-.22 1.64 1.64 0 0 0 .78-.78A3 3 0 0 0 46 96.2a2.69 2.69 0 0 0-.38-1.5 1.61 1.61 0 0 0-1.07-.7 18.74 18.74 0 0 0-2-.06h-2.24Z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M34.5 84.25h18.75"/>
|
||||
<path d="m111.57 103.9 2 1.29-1.36 3.16-2-1.44a4.78 4.78 0 0 1-4 2.34 5.08 5.08 0 0 1-4.48-2.46 12.52 12.52 0 0 1-1.73-6.91 12.5 12.5 0 0 1 1.62-6.88 5.15 5.15 0 0 1 8.79 0 12.5 12.5 0 0 1 1.59 6.88c0 3.18-.43 4.02-.43 4.02Zm-2.37-1.33a13.51 13.51 0 0 0 .24-2.69 9.25 9.25 0 0 0-.94-4.7 2.76 2.76 0 0 0-5 0 9.22 9.22 0 0 0-1 4.69 9.44 9.44 0 0 0 1 4.75 2.84 2.84 0 0 0 2.41 1.58 2.41 2.41 0 0 0 1.9-.85l-2-1.44 1.52-2.66"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M97 84.25h18.75"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
3
src/assets/schematics/IC-COM-Logic-AND.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M31.25 37.5h25c18.75 0 56.25 0 56.25 37.5S75 112.5 56.25 112.5h-25ZM0 49.81h31.25M0 100.06h31.25M112.5 75H150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 262 B |
3
src/assets/schematics/IC-COM-Logic-Buffer.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 37.5v75L112.5 75 25 37.5zM25 75H0m112.5 0H150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 202 B |
6
src/assets/schematics/IC-COM-Logic-Inverter.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M22 37.5v75L112.5 75 22 37.5zM22 75H0m137.75 0H150"/>
|
||||
<circle cx="128.13" cy="74.88" r="9.38"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 274 B |
6
src/assets/schematics/IC-COM-Logic-NAND.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M31.25 37.5h25c18.75 0 56.25 0 56.25 37.5S75 112.5 56.25 112.5h-25ZM0 49.81h31.25M0 100.06h31.25M134.5 75H150"/>
|
||||
<circle cx="124.88" cy="74.88" r="9.38"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 333 B |
6
src/assets/schematics/IC-COM-Logic-NOR.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M31.25 37.5h25c37.5 0 56.25 37.5 56.25 37.5s-18.75 37.5-56.25 37.5h-25s12.5-18.75 12.5-37.5-12.5-37.5-12.5-37.5ZM0 49.81h37.5M0 100.06h37.5m97-24.93H150"/>
|
||||
<circle cx="124.88" cy="75" r="9.38"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 373 B |
3
src/assets/schematics/IC-COM-Logic-OR.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M31.25 37.5h25c37.5 0 56.25 37.5 56.25 37.5s-18.75 37.5-56.25 37.5h-25s12.5-18.75 12.5-37.5-12.5-37.5-12.5-37.5ZM0 49.81h37.5M0 100.06h37.5m75-25.06H150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 305 B |
7
src/assets/schematics/IC-COM-Logic-XNOR.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M31.25 37.5h25c37.5 0 56.25 37.5 56.25 37.5s-18.75 37.5-56.25 37.5h-25s12.5-18.75 12.5-37.5-12.5-37.5-12.5-37.5ZM0 49.81h37.5M0 100.06h37.5m97-24.93H150"/>
|
||||
<circle cx="124.88" cy="75" r="9.38"/>
|
||||
<path d="M18.75 112.5s12.5-18.75 12.5-37.5-12.5-37.95-12.5-37.95"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 449 B |
6
src/assets/schematics/IC-COM-Logic-XOR.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M31.25 37.5h25c37.5 0 56.25 37.5 56.25 37.5s-18.75 37.5-56.25 37.5h-25s12.5-18.75 12.5-37.5-12.5-37.5-12.5-37.5ZM0 49.81h37.5M0 100.06h37.5m75-25.06H150"/>
|
||||
<path d="M18.75 113s12.5-18.75 12.5-37.5-12.5-38-12.5-38"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 394 B |
3
src/assets/schematics/IC-COM-OpAmp.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 25v100l100-50L25 25zm0 25H0m125 25h25M0 100h25m9.5-47H53m-9.25-9.25v18.5M34.5 97H53M74.69 0v50m.37 100v-50"/>
|
||||
</svg>
|
After Width: | Height: | Size: 263 B |
8
src/assets/schematics/IC-COM-Schmitt-Inverted.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M19 25v100l100-50L19 25zm0 50H0m137.5 0H150"/>
|
||||
<path d="M31.5 65.75h31.25V84.5"/>
|
||||
<path d="M78.5 84.5H47V65.75"/>
|
||||
<circle cx="131.5" cy="75" r="6.25"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 346 B |
7
src/assets/schematics/IC-COM-Schmitt.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M25 25v100l100-50L25 25zm0 50H0m125 0h25"/>
|
||||
<path d="M37.5 84.5h31.25V65.75"/>
|
||||
<path d="M84.5 65.75H53V84.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 297 B |
3
src/assets/schematics/Inductor-COM-Air.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-linejoin="round" stroke-width="5" d="M0 75.13h12.5s0-18.82 15.63-18.82S43.75 75 43.75 75s0-18.75 15.63-18.75S75 75 75 75s0-18.75 15.63-18.75S106.25 75 106.25 75s0-18.75 15.63-18.75S137.5 75 137.5 75H150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 319 B |
3
src/assets/schematics/Inductor-COM-Ferrite-Bead.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m78.35 19.2 43.3 25-50 86.6-43.3-25zM0 75.13 45.75 75M150 75h-45.75"/>
|
||||
</svg>
|
After Width: | Height: | Size: 220 B |
3
src/assets/schematics/Inductor-COM-Magnetic.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-linejoin="round" stroke-width="5" d="M0 75.13h12.5s0-18.82 15.63-18.82S43.75 75 43.75 75s0-18.75 15.63-18.75S75 75 75 75s0-18.75 15.63-18.75S106.25 75 106.25 75s0-18.75 15.63-18.75S137.5 75 137.5 75H150M12.5 43.75h125m-125-12.5h125"/>
|
||||
</svg>
|
After Width: | Height: | Size: 348 B |
6
src/assets/schematics/Inductor-COM-Tapped.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-width="5">
|
||||
<path stroke-linejoin="round" d="M0 75.13h12.5s0-18.82 15.63-18.82S43.75 75 43.75 75s0-18.75 15.63-18.75S75 75 75 75s0-18.75 15.63-18.75S106.25 75 106.25 75s0-18.75 15.63-18.75S137.5 75 137.5 75H150"/>
|
||||
<path stroke-miterlimit="10" d="M75 75v75m31.25-75v75"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 405 B |
5
src/assets/schematics/Inductor-COM-Variable.svg
Normal file
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-linejoin="round" stroke-width="5" d="M0 75.13h12.5s0-18.82 15.63-18.82S43.75 75 43.75 75s0-18.75 15.63-18.75S75 75 75 75s0-18.75 15.63-18.75S106.25 75 106.25 75s0-18.75 15.63-18.75S137.5 75 137.5 75H150"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m25 100 85.65-64.24"/>
|
||||
<path d="M115.21 47.92 125 25l-24.75 2.98 14.96 19.94z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 483 B |
3
src/assets/schematics/Miscellaneous-COM-ADC.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m25 75.06 37.5-37.5H125v75H62.5L25 75.06zm-25-.37h25m100 .37h25"/>
|
||||
</svg>
|
After Width: | Height: | Size: 216 B |
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M50 25h50v100H50zM37.5 43.75v62.5m75-62.5v62.5M0 74.63h37.5m75 .37H150"/>
|
||||
</svg>
|
After Width: | Height: | Size: 223 B |
3
src/assets/schematics/Miscellaneous-COM-DAC.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m125 75.06-37.5-37.5H25v75h62.5l37.5-37.5zM0 74.69h25m100 .37h25"/>
|
||||
</svg>
|
After Width: | Height: | Size: 217 B |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<circle cx="75" cy="75" r="50"/>
|
||||
<path d="M0 75h50s0-25 25-25 25 25 25 25h50"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 249 B |
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<circle cx="75" cy="75" r="50"/>
|
||||
<path d="M0 75.25h25M125 75h25M39.5 39.5l71 71m-71 0 71-71"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 264 B |
18
src/assets/schematics/Miscellaneous-COM-Optocoupler.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 62.5h25l-12.5 25-12.5-25zm-3 25h31M0 24.56l37.5.44v37.5M0 124.69l37.5.31V87.5M93.75 50v50M150 24.94l-37.5.06v25L93.75 62.5M150 124.88l-37.5.12v-25L93.75 87.5"/>
|
||||
<path d="m106.58 87.84-7.67 11.27 13.62.91-5.95-12.18z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M58.44 62.5h18.3"/>
|
||||
<path d="M74.55 69.98 87.5 62.5l-12.95-7.48v14.96z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M58.44 87.5h18.3"/>
|
||||
<path d="M74.55 94.98 87.5 87.5l-12.95-7.48v14.96z"/>
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M137.5 138.75v5h-5"/>
|
||||
<path stroke-dasharray="10.45 10.45" d="M122.05 143.75H22.73"/>
|
||||
<path d="M17.5 143.75h-5v-5"/>
|
||||
<path stroke-dasharray="9.81 9.81" d="M12.5 128.94V16.15"/>
|
||||
<path d="M12.5 11.25v-5h5"/>
|
||||
<path stroke-dasharray="10.45 10.45" d="M27.95 6.25h99.32"/>
|
||||
<path d="M132.5 6.25h5v5"/>
|
||||
<path stroke-dasharray="9.81 9.81" d="M137.5 21.06v112.79"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
6
src/assets/schematics/Miscellaneous-COM-Probe_Point.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<circle cx="75" cy="75" r="18.75"/>
|
||||
<path d="M0 75.19h56.25m37.5-.19H150"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 245 B |
14
src/assets/schematics/Relay-COM-COM-SPDT.svg
Normal file
@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 12.5h100v25H25zM125 25h25M0 24.81h25M0 99.69h25"/>
|
||||
<circle cx="31.25" cy="100" r="6.25" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M150 75.63H93.75"/>
|
||||
<path d="M93.75 78h12.5L100 87.5 93.75 78z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m37.25 104 75.25 8.5"/>
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M74.88 37.5V40"/>
|
||||
<path stroke-dasharray="4.9 4.9" d="M74.88 44.9v56.4"/>
|
||||
<path d="M74.88 103.75v2.5"/>
|
||||
</g>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M150 124.38H93.75"/>
|
||||
<path d="M93.75 122h12.5l-6.25-9.5-6.25 9.5z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 937 B |
11
src/assets/schematics/Relay-COM-COM-SPST-NC.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 37.5h100v25H25zM125 50h25M0 49.81h25m125 50.07H93.75M0 99.69h25"/>
|
||||
<circle cx="31.25" cy="100" r="6.25" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5"/>
|
||||
<path d="M93.75 102.25h12.5l-6.25 9.5-6.25-9.5z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="m37.25 102 75.25 10.5"/>
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M75 62.5V65"/>
|
||||
<path stroke-dasharray="5.5 5.5" d="M75 70.5v30.25"/>
|
||||
<path d="M75 103.5v2.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 699 B |
11
src/assets/schematics/Relay-COM-COM-SPST-NO.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M25 37.5h100v25H25zM125 50h25M0 49.81h25m125 50.07H93.75M0 99.69h25"/>
|
||||
<circle cx="31.25" cy="100" r="6.25" fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5"/>
|
||||
<path d="M93.75 102.25h12.5l-6.25 9.5-6.25-9.5z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5" d="M37.25 104 100 137.5"/>
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M74.88 62.5V65"/>
|
||||
<path stroke-dasharray="5 5" d="M74.88 70v47.5"/>
|
||||
<path d="M74.88 120v2.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 698 B |
7
src/assets/schematics/Relay-IEC-SPDT.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M62.5 6.25h25v37.5h-25zm0 18.75H0m150 0H87.5M0 99.88l50-.13 62.5 18.75"/>
|
||||
<path stroke-dasharray="5" d="M75 43.75v62.5"/>
|
||||
<path d="M100 106v18.75h50M150 75h-50"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 349 B |
7
src/assets/schematics/Relay-IEC-SPST-NC.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M62.5 31.25h25v37.5h-25zm0 18.75H0m150 0H87.5M0 99.88l50 .12 62.5 12.5"/>
|
||||
<path stroke-dasharray="5" d="M75 68.75v37.5"/>
|
||||
<path d="M100 118.75V100h50"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 339 B |
6
src/assets/schematics/Relay-IEC-SPST-NO.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="5">
|
||||
<path d="M62.5 31.25h25v37.5h-25zm0 18.75H0m150 0H87.5M0 99.88l50 .12 50-18.75m0 18.75h50"/>
|
||||
<path stroke-dasharray="5" d="M75 68.75V87.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 310 B |
18
src/assets/schematics/Relay-IEEE-SPDT.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-width="5">
|
||||
<path stroke-linejoin="round" d="M0 25h12.5s0 18.81 15.63 18.81 15.62-18.68 15.62-18.68 0 18.75 15.63 18.75S75 25.13 75 25.13s0 18.75 15.63 18.75 15.62-18.75 15.62-18.75 0 18.75 15.63 18.75 15.62-18.75 15.62-18.75H150M12.5 56.25h125"/>
|
||||
<g stroke-miterlimit="10">
|
||||
<circle cx="37.5" cy="99" r="6.25"/>
|
||||
<path d="M0 99.06h31.25"/>
|
||||
</g>
|
||||
<g stroke-miterlimit="10">
|
||||
<circle cx="112.5" cy="75" r="6.25"/>
|
||||
<path d="M150 74.94h-31.25"/>
|
||||
</g>
|
||||
<path stroke-miterlimit="10" d="m43.75 102.25 87.5 16.5"/>
|
||||
<g stroke-miterlimit="10">
|
||||
<circle cx="112.5" cy="125" r="6.25"/>
|
||||
<path d="M150 124.94h-31.25"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 859 B |
11
src/assets/schematics/Relay-IEEE-SPST-NC.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-width="5">
|
||||
<path stroke-linejoin="round" d="M0 25h12.5s0 18.81 15.63 18.81 15.62-18.68 15.62-18.68 0 18.75 15.63 18.75S75 25.13 75 25.13s0 18.75 15.63 18.75 15.62-18.75 15.62-18.75 0 18.75 15.63 18.75 15.62-18.75 15.62-18.75H150M12.5 56.25h125"/>
|
||||
<g stroke-miterlimit="10">
|
||||
<circle cx="37.5" cy="99" r="6.25"/>
|
||||
<path d="M0 99.06h31.25"/>
|
||||
<circle cx="112.5" cy="99" r="6.25"/>
|
||||
<path d="M150 98.94h-31.25m-75 3.31 81.25 4"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 619 B |
11
src/assets/schematics/Relay-IEEE-SPST-NO.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150">
|
||||
<g fill="none" stroke="#000" stroke-width="5">
|
||||
<path stroke-linejoin="round" d="M0 25h12.5s0 18.81 15.63 18.81 15.62-18.68 15.62-18.68 0 18.75 15.63 18.75S75 25.13 75 25.13s0 18.75 15.63 18.75 15.62-18.75 15.62-18.75 0 18.75 15.63 18.75 15.62-18.75 15.62-18.75H150M12.5 56.25h125"/>
|
||||
<g stroke-miterlimit="10">
|
||||
<circle cx="37.5" cy="99" r="6.25"/>
|
||||
<path d="M0 99.06h31.25"/>
|
||||
<circle cx="112.5" cy="99" r="6.25"/>
|
||||
<path d="M150 98.94h-31.25m-75 3.31 81.25 29"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 620 B |