astro cleanup

This commit is contained in:
lovebird 2025-03-29 16:08:55 +01:00
parent f03b4f4913
commit 74bdd9aefe
25 changed files with 43 additions and 632 deletions

View File

@ -23,7 +23,7 @@
"format": "unix-time"
}
],
"default": "2025-03-29T13:57:25.167Z"
"default": "2025-03-29T15:08:34.462Z"
},
"description": {
"type": "string",

File diff suppressed because one or more lines are too long

View File

@ -552,7 +552,7 @@
},
"https://github.com/%5Bfiltered%5D": {
"isValid": false,
"timestamp": 1743256684215
"timestamp": 1743260582222
},
"https://github.com/darigovresearch": {
"isValid": true,
@ -670,7 +670,7 @@
},
"https://scholarworks.uni.edu/cgi/viewcontent.cgi?article=3680%5C&context=grp": {
"isValid": false,
"timestamp": 1743256646938
"timestamp": 1743260915889
},
"https://pmc.ncbi.nlm.nih.gov/articles/PMC10489002/": {
"isValid": true,
@ -754,7 +754,7 @@
},
"https://journals.plos.org/plosone/article?id=10.1371%252Fjournal.pone.0288696": {
"isValid": false,
"timestamp": 1743256659073
"timestamp": 1743260916346
},
"https://www.youtube.com/watch?v=_a7usMe_K38": {
"isValid": true,
@ -841,7 +841,7 @@
},
"https://www.toraytac.com/media/c3feb206-1398-4e0e-bca6-df7780f11745/tcCurg/TenCate%2520Advanced%2520Composites/Documents/Technical%2520papers/TenCate_chopped_fiber_thermoplastics_compression_molding_technical_paper.pdf": {
"isValid": false,
"timestamp": 1743256647752
"timestamp": 1743260916511
},
"https://youtu.be/qtZv96cifIU": {
"isValid": true,
@ -1397,7 +1397,7 @@
},
"https://www.amazon.it/s?k=cnc+CNC%20Router": {
"isValid": true,
"timestamp": 1743256648933,
"timestamp": 1743260541154,
"meta": {
"title": "Ci dispiace",
"image": "https://images-eu.ssl-images-amazon.com/images/G/29/x-locale/communities/people/logo.gif",
@ -1897,7 +1897,7 @@
},
"https://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1288%5C&context=eesp": {
"isValid": false,
"timestamp": 1743256650379
"timestamp": 1743260542529
},
"*": {
"isValid": false,
@ -1905,7 +1905,7 @@
},
"https://partners.noplasticsunday.com/NPSblog/?bmode=view%5C&idx=11164797": {
"isValid": true,
"timestamp": 1743256654596,
"timestamp": 1743260545524,
"meta": {
"title": "노플라스틱선데이",
"description": "지속가능한 제조 서비스 NPS Partners",
@ -2062,7 +2062,7 @@
},
"https://www.youtube.com/watch?v=Eq9IbetsLB4%5C&t=2s": {
"isValid": true,
"timestamp": 1743256656184,
"timestamp": 1743260547267,
"meta": {
"title": "Injection molding machine for recycling plastic",
"description": "Injection molding machine for recycling plastic (called \"Smart Injector\"). The design is low-cost and uses easy componentsIMPORTANT! The machine is still wor...",
@ -2647,7 +2647,7 @@
},
"https://www.youtube.com/watch?time_continue=163%5C&v=95aPYlXShTY%5C&feature=emb_logo": {
"isValid": true,
"timestamp": 1743256657541,
"timestamp": 1743260548955,
"meta": {
"title": "Hands-Free Door Opener: Technical Information",
"description": "Discover our available models, printing and mounting instructions, and informational sticker for our 3D-printed hands-free door opener to avoid passing on CO...",
@ -2895,7 +2895,7 @@
},
"https://crescent.education/wp-content/uploads/2019/02/MODULE-II-%25E2%2580%2593-FUNDAMENTALS-OF-EXTRUSION-MOULDING.pdf": {
"isValid": false,
"timestamp": 1743256658926
"timestamp": 1743260550264
},
"https://rjginc.com/essential-injection-molding-safety-standards-and-practices/": {
"isValid": true,
@ -2920,7 +2920,7 @@
},
"https://www.oldergeeks.com/downloads/search.php?limit=100%5C&string=Power+Software+Ltd.%5C&sort=file_name%5C&order=asc%5C&id=0%5C&page=9": {
"isValid": true,
"timestamp": 1743256660226,
"timestamp": 1743260551685,
"meta": {
"favicon": "https://www.oldergeeks.com/favicon.ico"
}
@ -3131,7 +3131,7 @@
},
"https://papers.ssrn.com/sol3/Delivery.cfm/733008ad-9620-43bf-896c-aa4a2e9931e5-MECA.pdf?abstractid=4611811%5C&mirid=1": {
"isValid": true,
"timestamp": 1743256663909,
"timestamp": 1743260555380,
"meta": {
"title": "Page Cannot be Found",
"favicon": "https://papers.ssrn.com/favicon.ico"
@ -3231,7 +3231,7 @@
},
"https://en.wikipedia.org/wiki/Jigsaw_%5C(power_tool%5C": {
"isValid": false,
"timestamp": 1743256664663
"timestamp": 1743260555753
},
"https://www.amazon.de/-/en/Stanley-10-099-Classic/dp/B001FWP58U": {
"isValid": false,
@ -3819,7 +3819,7 @@
},
"https://scibizsw.com/20_THE%2520OFFICIAL%2520RASPBERRY%2520PI%2520PROJECTS%2520BOOK%2520v3.pdf": {
"isValid": false,
"timestamp": 1743256681281
"timestamp": 1743260579454
},
"https://archive.org/stream/MagPi/Projects_Book_v3_djvu.txt": {
"isValid": true,
@ -5834,7 +5834,7 @@
},
"https://www.rainbow-pkg.com/news/youpinzhiku%25E4%25B8%25A8hot-stamping-and-cold-stamping-technology-which-one-is-more-suitable-for-your-packaging-products/": {
"isValid": false,
"timestamp": 1743256668775
"timestamp": 1743260559381
},
"https://ch-wauters.com/en/cold-foil-stamping-by-wauters/": {
"isValid": true,
@ -6091,7 +6091,7 @@
},
"https://%5Bfiltered%5D.github.io/academy/build/compression": {
"isValid": false,
"timestamp": 1743256669401
"timestamp": 1743260560008
},
"https://davehakkens.nl/community/forums/topic/v4-sheet-press-mould-development/index.html": {
"isValid": true,
@ -7218,7 +7218,7 @@
},
"https://guides.lib.virginia.edu/c.php?g=1164312%5C&p=8718414": {
"isValid": true,
"timestamp": 1743256671738,
"timestamp": 1743260562097,
"meta": {
"title": "LibGuides: COVID-19 Pandemic Children's Book Collection: Normalizing Face Masks",
"description": "LibGuides: COVID-19 Pandemic Children's Book Collection: Normalizing Face Masks",
@ -7462,7 +7462,7 @@
},
"https://forum.freecad.org/viewtopic.php?style=1%5C&t=62057": {
"isValid": true,
"timestamp": 1743256673005,
"timestamp": 1743260563192,
"meta": {
"title": "Step by step tutorial on injection mold design - FreeCAD Forum",
"image": "https://forum.freecad.org/styles/elegance/theme/images/logo.png",
@ -7664,7 +7664,7 @@
},
"https://www.youtube.com/watch?v=YzjTm3FRLVY%5C&t=5s": {
"isValid": true,
"timestamp": 1743256674614,
"timestamp": 1743260564331,
"meta": {
"title": "Recycling plastic waste on the beaches of Panama",
"description": "Precious Plastic community submission! Thanks Thomas, check him out in our forums:https://davehakkens.nl/community/members/thomasthefirst/More information: h...",
@ -7881,7 +7881,7 @@
},
"https://seafood.media/fis/worldnEws/worldnews.asp?monthyear=9-2024%5C&day=18%5C&id=131886%5C&l=e%5C&country=%5C&special=%5C&ndb=1%5C&df=1": {
"isValid": true,
"timestamp": 1743256679891,
"timestamp": 1743260578029,
"meta": {
"title": "Seafood Media Group - Worldnews",
"image": "https://seafood.media/fis/gif/free/flags/ES.gif",
@ -8033,7 +8033,7 @@
},
"https://%5Bfiltered%5D.github.io/academy/build/sheetpressbuild": {
"isValid": false,
"timestamp": 1743256680482
"timestamp": 1743260578676
},
"https://www.singhalglobal.com/blog/sheets-of-hdpe-manufacturing-processes-and-various-use": {
"isValid": true,
@ -8504,7 +8504,7 @@
},
"https://www.youtube.com/watch?v=gxkcffQD3eQ%5C&t=131s": {
"isValid": true,
"timestamp": 1743256682907,
"timestamp": 1743260580886,
"meta": {
"title": "🎄⭐🎅Como hacer figuras de plástico- Figuras Navideñas de Plástico Reciclado🎄⭐🎅",
"description": "En este tutorial reciclamos tapas de botellas y las convertimos en figuras navideñas usando la dremel motosaw y un horno de pizza",
@ -9409,7 +9409,7 @@
},
"https://scholarworks.uark.edu/cgi/viewcontent.cgi?article=1066%5C&context=inquiry": {
"isValid": false,
"timestamp": 1743256685390
"timestamp": 1743260583402
},
"https://www.youtube.com/watch?v=1OZVCOYlYy8": {
"isValid": true,
@ -9435,7 +9435,7 @@
},
"https://www.forum.linuxcnc.org/30-cnc-machines/53486-the-linuxcnc-rigid-CNC%20Router-an-open-source-dual-z-axis-gantry-machine": {
"isValid": true,
"timestamp": 1743256687480,
"timestamp": 1743260585376,
"meta": {
"title": "The LinuxCNC "Rigid Router" an open-source dual z-axis gantry machine",
"description": "Hi all, I recently designed an open-source CNC router. My goal was to make a rigid, medium-format CNC router that can self-manufacture new machines and not...",
@ -9522,7 +9522,7 @@
},
"https://www.bunnings.com.au/search/products?q=fiber%2520cement": {
"isValid": false,
"timestamp": 1743256687761
"timestamp": 1743260585725
},
"https://safeworkwear.com.au/electrical-gloves": {
"isValid": false,
@ -10099,7 +10099,7 @@
},
"https://citeseerx.ist.psu.edu/document?repid=rep1%5C&type=pdf%5C&doi=2d21d208bf921ec8278814cfbee00e60e54acfb4": {
"isValid": false,
"timestamp": 1743256688694
"timestamp": 1743260586561
},
"https://www.youtube.com/watch?v=viwbxM6F7zc": {
"isValid": true,
@ -10304,7 +10304,7 @@
},
"https://dspace.mit.edu/bitstream/handle/1721.1/127868/1196826370-MIT.pdf?sequence=1%5C&isAllowed=y": {
"isValid": true,
"timestamp": 1743256692671,
"timestamp": 1743260590602,
"meta": {
"favicon": "https://dspace.mit.edu/favicon.ico"
}
@ -10400,7 +10400,7 @@
},
"*No%20link%20provided%20in%20source%20text*": {
"isValid": false,
"timestamp": 1743256693579
"timestamp": 1743260591053
},
"https://www.instructables.com/Bottle-Cap-Table-with-Poured-Resin-Surface/": {
"isValid": true,

View File

@ -16,8 +16,6 @@ export function remarkReadingTime() {
return function (tree, { data }) {
const textOnPage = toString(tree);
const readingTime = getReadingTime(textOnPage);
// readingTime.text will give us minutes read as a friendly string,
// i.e. "3 min read"
data.astro.frontmatter.minutesRead = readingTime.text;
};
}
@ -33,7 +31,7 @@ export default defineConfig({
enabled: false,
},
i18n: {
locales: ["es", "en", "de", "fr", "it", "ar", "ja", "zh", "nl", "it", "pt"],
locales: ["en"],
defaultLocale: "en",
},
alias: {
@ -51,11 +49,6 @@ export default defineConfig({
config: './tailwind.config.cjs',
jit: true
}),
compress({
algorithm: 'gzip', // You can also use 'brotliCompress' for Brotli
threshold: 1024, // Compress files larger than 1KB
deleteOriginFile: false, // Keep original files (optional)
}),
{
name: 'auto-import-img',
transform(code, id) {

View File

@ -21,7 +21,9 @@ export const urlBlacklist: readonly string[] = [
"preciousplastic.com",
"community.preciousplastic.com",
"bazar.preciousplastic.com",
"onearmy.earth"
"onearmy.earth",
"davehakkens.nl",
"sustainabledesign.studio"
] as const;
export const bannedWords: readonly string[] = [

View File

@ -8,8 +8,9 @@ export const OSR_ROOT = () => path.resolve(resolve("${OSR_ROOT}"))
export const LOGGING_NAMESPACE = 'polymech-site'
export const TRANSLATE_CONTENT = true
export const LANGUAGES = ['en', 'ar', 'de', 'ja', 'es', 'zh', 'fr']
export const LANGUAGES_PROD = ['en', 'es', 'ar', 'de', 'ja', 'zh', 'fr', 'nl', 'it', 'pt']
export const LANGUAGES = ['en']
export const LANGUAGES_SITE = ['en', 'ar', 'de', 'ja', 'es', 'zh', 'fr']
export const LANGUAGES_PROD = ['en']
export const isRTL = (lang) => lang === 'ar'
// i18n constants
@ -32,6 +33,7 @@ export const HOWTO_ADD_REFERENCES = true
export const HOWTO_COMPLETE_SKILLS = false
export const HOWTO_LOCAL_RESOURCES = false
export const HOWTO_SEO_LLM = true
export const HOWTO_MAX_ITEMS = 10
export const HOWTO_MIGRATION = () => path.resolve(resolve("./data/last.json"))
export const HOWTO_ROOT_INTERN = () => path.resolve(resolve("./public/resources/howtos"))

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 KiB

View File

@ -1,300 +0,0 @@
{
"id": "mIXA2UBI2weRIer7DMW0",
"total_views": 1,
"moderation": "draft",
"comments": [],
"_deleted": true,
"creatorCountry": "be",
"_createdBy": "fromwastetowind",
"previousSlugs": [
"3d-print-a-500w-windturbine-from-recycled-pet"
],
"_id": "mIXA2UBI2weRIer7DMW0",
"description": "This tutorial will teach you how to print the parts for a basic windturbine. \nA how-to for a more advanced windturbine with follow soon.",
"_modified": "2024-01-23T13:30:33.263Z",
"fileLink": "",
"cover_image": {
"size": 341861,
"updated": "2022-05-28T12:50:28.413Z",
"contentType": "image/png",
"timeCreated": "2022-05-28T12:50:28.413Z",
"fullPath": "uploads/howtos/mIXA2UBI2weRIer7DMW0/284410269_538285404469005_5504249321824877867_n-1810ab2b8cb.png",
"name": "284410269_538285404469005_5504249321824877867_n-1810ab2b8cb.png",
"downloadUrl": "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FmIXA2UBI2weRIer7DMW0%2F284410269_538285404469005_5504249321824877867_n-1810ab2b8cb.png?alt=media&token=7d4b79f8-038b-4fd9-8c70-19a5d3aacef3",
"type": "image/png"
},
"tags": [],
"time": "1-2 weeks",
"files": [],
"_contentModifiedTimestamp": "2022-05-28T12:50:33.564Z",
"mentions": [],
"title": "3D-print a 500W windturbine from recycled PET",
"difficulty_level": "Hard",
"steps": [
{
"text": "Todo",
"_animationKey": "unique1",
"title": "Acquire all parts",
"images": [
{
"updated": "2022-05-28T12:46:01.580Z",
"size": 46139,
"type": "image/jpeg",
"fullPath": "uploads/howtos/nPMq2miDDDIP6OflIffB/permanent-magnet-generator-240v08331602850-1810ab333db.jpg",
"contentType": "image/jpeg",
"downloadUrl": "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FnPMq2miDDDIP6OflIffB%2Fpermanent-magnet-generator-240v08331602850-1810ab333db.jpg?alt=media&token=307d6597-c6f8-42b8-a06f-1e582afb82dd",
"timeCreated": "2022-05-28T12:46:01.580Z",
"name": "permanent-magnet-generator-240v08331602850-1810ab333db.jpg"
}
]
},
{
"text": "We're using SuperSlicer because it has the best thin-edge control, which is important for the leading edge of the blade. It also allows to use multiple infills in one object.\n\n- 5mm wall thickness\n- spar of 1cm: 100%infill\n- above the spar: 5% gyroid infill\n- under the spar: 18% gyroid infill\n- (todo:upload gcode and SuperSlicer 3mf project)",
"title": "Set-up your slicing software",
"_animationKey": "unique2",
"images": [
{
"contentType": "image/png",
"type": "image/png",
"size": 50773,
"downloadUrl": "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FnPMq2miDDDIP6OflIffB%2Fsuperslicer1-1810ab38891.png?alt=media&token=cc197dbc-933e-4e9c-89d4-91b6161c9c2c",
"timeCreated": "2022-05-28T12:46:03.207Z",
"fullPath": "uploads/howtos/nPMq2miDDDIP6OflIffB/superslicer1-1810ab38891.png",
"name": "superslicer1-1810ab38891.png",
"updated": "2022-05-28T12:46:03.207Z"
},
{
"updated": "2022-05-28T12:47:08.712Z",
"downloadUrl": "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FkXwyUnDicMvmHhGgCAQJ%2Fsuperslicer2-1810ab3e44d.png?alt=media&token=bbb8e7a8-4440-4821-b2a4-1570ab219379",
"fullPath": "uploads/howtos/kXwyUnDicMvmHhGgCAQJ/superslicer2-1810ab3e44d.png",
"type": "image/png",
"timeCreated": "2022-05-28T12:47:08.712Z",
"contentType": "image/png",
"size": 142899,
"name": "superslicer2-1810ab3e44d.png"
}
]
},
{
"_animationKey": "unique1usf9a",
"images": [
{
"name": "284170163_326718269616463_2564227729431909493_n-1810ab5b6aa.jpg",
"updated": "2022-05-28T12:50:31.292Z",
"downloadUrl": "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FmIXA2UBI2weRIer7DMW0%2F284170163_326718269616463_2564227729431909493_n-1810ab5b6aa.jpg?alt=media&token=febdf092-6311-4e6d-88c5-f6d6dfe5676c",
"contentType": "image/jpeg",
"type": "image/jpeg",
"fullPath": "uploads/howtos/mIXA2UBI2weRIer7DMW0/284170163_326718269616463_2564227729431909493_n-1810ab5b6aa.jpg",
"size": 255407,
"timeCreated": "2022-05-28T12:50:31.292Z"
}
],
"text": "Blades and hub will look like this.",
"title": "Print!"
},
{
"_animationKey": "unique2dr2u",
"title": "Assemble blades and hub",
"text": "Use 10mm bolts",
"images": [
{
"updated": "2022-05-28T12:50:34.280Z",
"type": "image/png",
"size": 526515,
"downloadUrl": "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FmIXA2UBI2weRIer7DMW0%2F283666920_541139140955404_515806269962593427_n%20copy-1810ab67279.png?alt=media&token=2dc3a3c7-3775-4da6-9db6-64a820c73102",
"contentType": "image/png",
"timeCreated": "2022-05-28T12:50:34.280Z",
"fullPath": "uploads/howtos/mIXA2UBI2weRIer7DMW0/283666920_541139140955404_515806269962593427_n copy-1810ab67279.png",
"name": "283666920_541139140955404_515806269962593427_n copy-1810ab67279.png"
}
]
},
{
"videoUrl": "https://youtu.be/lA4Sl1riOsA",
"_animationKey": "uniquen2y7yf",
"images": [],
"title": "Balance the propeller",
"text": "Make sure that each blade has the same weight to prevent vibrations"
}
],
"_created": "2022-05-28T12:50:33.564Z",
"slug": "3d-print-a-500w-windturbine-from-recycled-pet",
"user": {
"_modified": "2024-01-25T12:40:40.422Z",
"type": "machine-builder",
"moderation": "accepted",
"_id": "fromwastetowind",
"verified": false,
"_deleted": false,
"_created": "2024-01-25T12:40:40.422Z",
"location": {
"lng": "4.4081929",
"lat": "51.2340787"
},
"geo": {
"latitude": 51.2340787,
"lookupSource": "coordinates",
"longitude": 4.4081929,
"localityLanguageRequested": "en",
"continent": "Europe",
"continentCode": "EU",
"countryName": "Belgium",
"countryCode": "BE",
"principalSubdivision": "Flanders",
"principalSubdivisionCode": "BE-VLG",
"city": "Antwerpen",
"locality": "Antwerp",
"postcode": "2000",
"plusCode": "9F366CM5+J7",
"localityInfo": {
"administrative": [
{
"name": "Belgium",
"description": "constitutional monarchy in Western Europe",
"isoName": "Belgium",
"order": 5,
"adminLevel": 2,
"isoCode": "BE",
"wikidataId": "Q31",
"geonameId": 2802361
},
{
"name": "Flanders",
"description": "federal region of Belgium",
"isoName": "Flanders",
"order": 7,
"adminLevel": 4,
"isoCode": "BE-VLG",
"wikidataId": "Q9337",
"geonameId": 3337388
},
{
"name": "Provincie Antwerpen",
"description": "province in Flanders, Belgium",
"isoName": "Provincie Antwerpen",
"order": 9,
"adminLevel": 6,
"isoCode": "BE-VAN",
"wikidataId": "Q1116",
"geonameId": 2803136
},
{
"name": "Arrondissement of Antwerp",
"description": "1 of 43 administrative arrondissements of Belgium",
"order": 10,
"adminLevel": 7,
"wikidataId": "Q90895",
"geonameId": 2803137
},
{
"name": "Antwerpen",
"description": "municipality in the province of Antwerp, Belgium",
"order": 11,
"adminLevel": 8,
"wikidataId": "Q12892",
"geonameId": 2803138
},
{
"name": "Antwerp",
"order": 12,
"adminLevel": 9
}
],
"informative": [
{
"name": "Europe",
"description": "continent",
"isoName": "Europe",
"order": 1,
"isoCode": "EU",
"wikidataId": "Q46",
"geonameId": 6255148
},
{
"name": "North European Plain",
"description": "geomorphological region in Europe iceland",
"order": 2,
"wikidataId": "Q560549"
},
{
"name": "Benelux",
"description": "politico-economic union between Belgium, the Netherlands and Luxembourg",
"order": 3,
"wikidataId": "Q13116"
},
{
"name": "Europe/Brussels",
"description": "time zone",
"order": 4
},
{
"name": "Dutch Language Union",
"description": "Dutch language regulator",
"order": 6,
"wikidataId": "Q152299"
},
{
"name": "Flemish Community",
"description": "one of the three official communities in Belgium",
"order": 8,
"wikidataId": "Q9331"
},
{
"name": "2000",
"description": "postal code",
"order": 13
}
]
}
},
"data": {
"urls": [
{
"name": "Website",
"url": "https://www.fromwastetowind.com"
},
{
"name": "Social media",
"url": "https://www.linkedin.com/company/fromwastetowind/"
},
{
"name": "Instagram",
"url": "https://www.instagram.com/fromwastetowind/"
},
{
"name": "Facebook",
"url": "https://www.facebook.com/fromwastetowind"
},
{
"name": "Bazar",
"url": "https://bazar.preciousplastic.com/vendor.php?dispatch=companies.update&company_id=879"
},
{
"name": "Email",
"url": "mailto:bram@fromwastetowind.com"
},
{
"name": "sponsor the work",
"url": "https://www.patreon.com/one_army"
}
],
"description": "From Waste To Wind is a start-up that 3D-prints windturbines from plastic waste and makes small windturbines accessible. All windturbines are fully open-source and can be built with easy to find parts. ",
"services": [
{
"welding": false,
"assembling": true,
"machining": false,
"electronics": true,
"molds": false
}
],
"title": "fromwastetowind",
"images": []
},
"detail": {
"services": [],
"urls": []
}
},
"images": []
}

View File

@ -1,219 +0,0 @@
id: "mIXA2UBI2weRIer7DMW0"
total_views: 1
moderation: "draft"
comments: []
_deleted: true
creatorCountry: "be"
_createdBy: "fromwastetowind"
previousSlugs:
- "3d-print-a-500w-windturbine-from-recycled-pet"
_id: "mIXA2UBI2weRIer7DMW0"
description: "This tutorial will teach you how to print the parts for a basic windturbine. \nA how-to for a more advanced windturbine with follow soon."
_modified: "2024-01-23T13:30:33.263Z"
fileLink: ""
cover_image:
size: 341861
updated: "2022-05-28T12:50:28.413Z"
contentType: "image/png"
timeCreated: "2022-05-28T12:50:28.413Z"
fullPath: "uploads/howtos/mIXA2UBI2weRIer7DMW0/284410269_538285404469005_5504249321824877867_n-1810ab2b8cb.png"
name: "284410269_538285404469005_5504249321824877867_n-1810ab2b8cb.png"
downloadUrl: "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FmIXA2UBI2weRIer7DMW0%2F284410269_538285404469005_5504249321824877867_n-1810ab2b8cb.png?alt=media&token=7d4b79f8-038b-4fd9-8c70-19a5d3aacef3"
type: "image/png"
tags: []
time: "1-2 weeks"
files: []
_contentModifiedTimestamp: "2022-05-28T12:50:33.564Z"
mentions: []
title: "3D-print a 500W windturbine from recycled PET"
difficulty_level: "Hard"
steps:
- text: "Todo"
_animationKey: "unique1"
title: "Acquire all parts"
images:
- updated: "2022-05-28T12:46:01.580Z"
size: 46139
type: "image/jpeg"
fullPath: "uploads/howtos/nPMq2miDDDIP6OflIffB/permanent-magnet-generator-240v08331602850-1810ab333db.jpg"
contentType: "image/jpeg"
downloadUrl: "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FnPMq2miDDDIP6OflIffB%2Fpermanent-magnet-generator-240v08331602850-1810ab333db.jpg?alt=media&token=307d6597-c6f8-42b8-a06f-1e582afb82dd"
timeCreated: "2022-05-28T12:46:01.580Z"
name: "permanent-magnet-generator-240v08331602850-1810ab333db.jpg"
- text: "We're using SuperSlicer because it has the best thin-edge control, which is important for the leading edge of the blade. It also allows to use multiple infills in one object.\n\n- 5mm wall thickness\n- spar of 1cm: 100%infill\n- above the spar: 5% gyroid infill\n- under the spar: 18% gyroid infill\n- (todo:upload gcode and SuperSlicer 3mf project)"
title: "Set-up your slicing software"
_animationKey: "unique2"
images:
- contentType: "image/png"
type: "image/png"
size: 50773
downloadUrl: "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FnPMq2miDDDIP6OflIffB%2Fsuperslicer1-1810ab38891.png?alt=media&token=cc197dbc-933e-4e9c-89d4-91b6161c9c2c"
timeCreated: "2022-05-28T12:46:03.207Z"
fullPath: "uploads/howtos/nPMq2miDDDIP6OflIffB/superslicer1-1810ab38891.png"
name: "superslicer1-1810ab38891.png"
updated: "2022-05-28T12:46:03.207Z"
- updated: "2022-05-28T12:47:08.712Z"
downloadUrl: "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FkXwyUnDicMvmHhGgCAQJ%2Fsuperslicer2-1810ab3e44d.png?alt=media&token=bbb8e7a8-4440-4821-b2a4-1570ab219379"
fullPath: "uploads/howtos/kXwyUnDicMvmHhGgCAQJ/superslicer2-1810ab3e44d.png"
type: "image/png"
timeCreated: "2022-05-28T12:47:08.712Z"
contentType: "image/png"
size: 142899
name: "superslicer2-1810ab3e44d.png"
- _animationKey: "unique1usf9a"
images:
- name: "284170163_326718269616463_2564227729431909493_n-1810ab5b6aa.jpg"
updated: "2022-05-28T12:50:31.292Z"
downloadUrl: "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FmIXA2UBI2weRIer7DMW0%2F284170163_326718269616463_2564227729431909493_n-1810ab5b6aa.jpg?alt=media&token=febdf092-6311-4e6d-88c5-f6d6dfe5676c"
contentType: "image/jpeg"
type: "image/jpeg"
fullPath: "uploads/howtos/mIXA2UBI2weRIer7DMW0/284170163_326718269616463_2564227729431909493_n-1810ab5b6aa.jpg"
size: 255407
timeCreated: "2022-05-28T12:50:31.292Z"
text: "Blades and hub will look like this."
title: "Print!"
- _animationKey: "unique2dr2u"
title: "Assemble blades and hub"
text: "Use 10mm bolts"
images:
- updated: "2022-05-28T12:50:34.280Z"
type: "image/png"
size: 526515
downloadUrl: "https://firebasestorage.googleapis.com/v0/b/onearmyworld.appspot.com/o/uploads%2Fhowtos%2FmIXA2UBI2weRIer7DMW0%2F283666920_541139140955404_515806269962593427_n%20copy-1810ab67279.png?alt=media&token=2dc3a3c7-3775-4da6-9db6-64a820c73102"
contentType: "image/png"
timeCreated: "2022-05-28T12:50:34.280Z"
fullPath: "uploads/howtos/mIXA2UBI2weRIer7DMW0/283666920_541139140955404_515806269962593427_n copy-1810ab67279.png"
name: "283666920_541139140955404_515806269962593427_n copy-1810ab67279.png"
- videoUrl: "https://youtu.be/lA4Sl1riOsA"
_animationKey: "uniquen2y7yf"
images: []
title: "Balance the propeller"
text: "Make sure that each blade has the same weight to prevent vibrations"
_created: "2022-05-28T12:50:33.564Z"
slug: "3d-print-a-500w-windturbine-from-recycled-pet"
user:
_modified: "2024-01-25T12:40:40.422Z"
type: "machine-builder"
moderation: "accepted"
_id: "fromwastetowind"
verified: false
_deleted: false
_created: "2024-01-25T12:40:40.422Z"
location:
lng: "4.4081929"
lat: "51.2340787"
geo:
latitude: 51.2340787
lookupSource: "coordinates"
longitude: 4.4081929
localityLanguageRequested: "en"
continent: "Europe"
continentCode: "EU"
countryName: "Belgium"
countryCode: "BE"
principalSubdivision: "Flanders"
principalSubdivisionCode: "BE-VLG"
city: "Antwerpen"
locality: "Antwerp"
postcode: "2000"
plusCode: "9F366CM5+J7"
localityInfo:
administrative:
- name: "Belgium"
description: "constitutional monarchy in Western Europe"
isoName: "Belgium"
order: 5
adminLevel: 2
isoCode: "BE"
wikidataId: "Q31"
geonameId: 2802361
- name: "Flanders"
description: "federal region of Belgium"
isoName: "Flanders"
order: 7
adminLevel: 4
isoCode: "BE-VLG"
wikidataId: "Q9337"
geonameId: 3337388
- name: "Provincie Antwerpen"
description: "province in Flanders, Belgium"
isoName: "Provincie Antwerpen"
order: 9
adminLevel: 6
isoCode: "BE-VAN"
wikidataId: "Q1116"
geonameId: 2803136
- name: "Arrondissement of Antwerp"
description: "1 of 43 administrative arrondissements of Belgium"
order: 10
adminLevel: 7
wikidataId: "Q90895"
geonameId: 2803137
- name: "Antwerpen"
description: "municipality in the province of Antwerp, Belgium"
order: 11
adminLevel: 8
wikidataId: "Q12892"
geonameId: 2803138
- name: "Antwerp"
order: 12
adminLevel: 9
informative:
- name: "Europe"
description: "continent"
isoName: "Europe"
order: 1
isoCode: "EU"
wikidataId: "Q46"
geonameId: 6255148
- name: "North European Plain"
description: "geomorphological region in Europe iceland"
order: 2
wikidataId: "Q560549"
- name: "Benelux"
description: "politico-economic union between Belgium, the Netherlands and Luxembourg"
order: 3
wikidataId: "Q13116"
- name: "Europe/Brussels"
description: "time zone"
order: 4
- name: "Dutch Language Union"
description: "Dutch language regulator"
order: 6
wikidataId: "Q152299"
- name: "Flemish Community"
description: "one of the three official communities in Belgium"
order: 8
wikidataId: "Q9331"
- name: "2000"
description: "postal code"
order: 13
data:
urls:
- name: "Website"
url: "https://www.fromwastetowind.com"
- name: "Social media"
url: "https://www.linkedin.com/company/fromwastetowind/"
- name: "Instagram"
url: "https://www.instagram.com/fromwastetowind/"
- name: "Facebook"
url: "https://www.facebook.com/fromwastetowind"
- name: "Bazar"
url: "https://bazar.preciousplastic.com/vendor.php?dispatch=companies.update&company_id=879"
- name: "Email"
url: "mailto:bram@fromwastetowind.com"
- name: "sponsor the work"
url: "https://www.patreon.com/one_army"
description: "From Waste To Wind is a start-up that 3D-prints windturbines from plastic waste and makes small windturbines accessible. All windturbines are fully open-source and can be built with easy to find parts. "
services:
- welding: false
assembling: true
machining: false
electronics: true
molds: false
title: "fromwastetowind"
images: []
detail:
services: []
urls: []
images: []

View File

@ -1,5 +0,0 @@
### 3D-print a 500W windturbine from recycled PET
This tutorial will teach you how to print the parts for a basic windturbine.
A how-to for a more advanced windturbine with follow soon.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,3 +0,0 @@
### Acquire all parts
Todo

View File

@ -1,9 +0,0 @@
### Set-up your slicing software
We're using SuperSlicer because it has the best thin-edge control, which is important for the leading edge of the blade. It also allows to use multiple infills in one object.
- 5mm wall thickness
- spar of 1cm: 100%infill
- above the spar: 5% gyroid infill
- under the spar: 18% gyroid infill
- (todo:upload gcode and SuperSlicer 3mf project)

View File

@ -1,3 +0,0 @@
### Print!
Blades and hub will look like this.

View File

@ -1,3 +0,0 @@
### Assemble blades and hub
Use 10mm bolts

View File

@ -1,3 +0,0 @@
### Balance the propeller
Make sure that each blade has the same weight to prevent vibrations

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

View File

@ -25,7 +25,7 @@ import { AnnotationMode, generateCacheKey, cacheAnnotation, getCachedAnnotation
import { urlCache } from '../base/url-cache.js';
const NB_ITEMS = 350
const expandUrls = true
import {
@ -44,7 +44,8 @@ import {
HOWTO_LOCAL_RESOURCES,
HOWTO_ADD_RESOURCES,
HOWTO_ADD_REFERENCES,
HOWTO_SEO_LLM
HOWTO_SEO_LLM,
HOWTO_MAX_ITEMS
} from "config/config.js"
@ -142,7 +143,7 @@ export const raw = async () => {
}
})
howtos = howtos.filter((h: IHowto) => h.steps.length > 0 && !blacklist.includes(h._createdBy))
howtos = howtos.slice(0, NB_ITEMS)
howtos = howtos.slice(0, HOWTO_MAX_ITEMS)
return howtos
}
export const defaults = async (data: any, cwd: string, root: string) => {

View File

@ -1,10 +1,8 @@
---
import BaseLayout from "@/layouts/BaseLayout.astro";
import Contact from "@/components/forms/Contact.astro";
import Wrapper from "@/components/containers/Wrapper.astro";
---
<BaseLayout>
<Wrapper>
<Contact />
</Wrapper>
</BaseLayout>

View File

@ -1,11 +0,0 @@
---
import BaseLayout from "@/layouts/BaseLayout.astro";
import PricingTiers from "@/components/pricing/PricingTiers.astro";
import Faq from "@/components/infopages/Faq.astro";
---
<BaseLayout>
<PricingTiers />
<Faq />
</BaseLayout>

View File

@ -3,30 +3,8 @@ import Wrapper from "@/components/containers/Wrapper.astro";
import { getCollection } from "astro:content";
import BaseLayout from "@/layouts/BaseLayout.astro";
import EntriesOne from "@/components/blog/EntriesOne.astro";
const all = await getCollection("resources")
---
<BaseLayout>
<Wrapper>
<section>
<div class="grid sm:grid-cols-1 lg:grid-cols-3 xl:grid-cols-3 gap-2 py-2">
{
all
.slice()
.map((post) => (
<EntriesOne
url={"/resources/posts/" + post.slug}
title={post.data.title}
description={post.data.description}
alt={post.data.title}
pubDate={post.data.pubDate.toString().slice(0, 10)}
author={post.data.author}
image={post.data.image}
/>
))
}
</div>
</section>
</Wrapper>
</BaseLayout>

View File

@ -1,7 +0,0 @@
---
import BaseLayout from "@/layouts/BaseLayout.astro";
import StyleGuide from "@/components/system/StyleGuide.astro";
---
<BaseLayout>
<StyleGuide />
</BaseLayout>