Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add old blog posts #13

Open
hellantos opened this issue Dec 8, 2021 · 23 comments
Open

Add old blog posts #13

hellantos opened this issue Dec 8, 2021 · 23 comments

Comments

@hellantos
Copy link
Owner

No description provided.

@gavanderhoorn
Copy link
Collaborator

@robinsonmm: could you contact me about exporting old posts from our current host?

@robinsonmm
Copy link

robinsonmm commented Jan 25, 2022 via email

@robinsonmm
Copy link

robinsonmm commented Jan 25, 2022

Blogs are here, but is is everything.

@gavanderhoorn
Copy link
Collaborator

thanks, this looks like it's exactly what we need.

@robinsonmm
Copy link

robinsonmm commented Jan 26, 2022 via email

@gavanderhoorn
Copy link
Collaborator

gavanderhoorn commented Jan 27, 2022

@robinsonmm: did you find any way to export content in a form other than HTML?

Perhaps SP stores content in a format which doesn't mix formatting with content?

The export you provided seems essentially like the RSS feed, which includes all content, but in its final "rendered" form. I can only include everything verbatim, meaning with all the embedded HTML tags (edit: that's not entirely true, but having it separate would make things easier and probably more consistent).

That's not too nice, and if we could avoid that, it would be great.

@robinsonmm
Copy link

robinsonmm commented Jan 27, 2022 via email

@gavanderhoorn
Copy link
Collaborator

gavanderhoorn commented Jan 27, 2022

In the meantime I've put something together which does a decent job:

click to expand
---
author: matt.robinson@swri.org
comments: false
date: 2017-09-12 16:48:51+00:00
slug: 2017-9-12-ros-additive-manufacturing
title: ROS Additive Manufacturing
media_type: image
media_link: /assets/images/something.png
description: The ROS Additive Manufacturing (RAM) project is a set of ROS packages that enables automatic generation of trajectories for additive manufacturing. It has been designed for metallic additive manufacturing with industrial robots. This project is open-source and under the BSD license.
layout: post
---
The ROS Additive Manufacturing (RAM) project is a set of ROS packages that enables automatic generation of trajectories for additive manufacturing. It has been designed for metallic additive manufacturing with industrial robots. This project is open-source and under the BSD license.

Starting with a YAML file representing a 2D polygon or a 3D mesh, the goal is to obtain a trajectory and construct a 3D part with a robot. The user provides input files and some parameters, then generate the trajectory. The user is then able to modify the trajectory within a GUI if needed. Finally the user can obtain a robot program (specific to a brand) via a post processor (the post processor is not included in the project).

**MOTIVE**
There are many software products available to generate trajectories for 3-D printing. Most of them are designed for plastic and resin 3-D printing (FDM, SLS etc.) with Cartesian machines. The algorithms usually have an "infill" parameter that allows the user to choose how much material should be put inside of the "shells" (the exterior of the 3D volume). This is very handy to produce lightweight parts, but when set to 100%, the parts are not completely filled and some holes (porosities) remain.

With 3-D metallic printing, parts are very often expected to be fully filled with material and the tolerance for porosities is very low. This constraint does not allow us to use conventional 3-D printing software and led us to create our own solution. Depending on the process (powder projection, wire) there can be other requirements. For example processes using wire are not simple to stop and start, having a continuous trajectory becomes mandatory to ensure deposition quality.

This is why we decided to create a very flexible software solution, providing a clean and modern approach to 3-D printing.

**SOFTWARE ARCHITECTURE**

The project is split in modules, each of them has a specific functionality, the main modules are:

* Path planning: Automatically generates a trajectory given an input file and some parameters (layer height, etc.)
* Display: Publishes the trajectory in RViz so that it can be visualized and features different visualization modes
* Modify trajectory: Allows for trajectory modification by selecting poses and tweaking them (geometry, parameters)

This modular approach easily allows for adding, removing or modifying functionalities inside the software. The software can be used through a Qt GUI based on RViz and is designed to be easy to use for a non programmer.

![Star.jpg](https://images.squarespace-cdn.com/content/v1/51df34b1e4b08840dcfd2841/1505233049782-0A3GCJ05EQA7FU025GCH/Star.jpg)

**CURRENT STATE**

The application is working and easy to compile, code quality is ensured by Continuous Integration including Unit Tests.

There are some missing functionalities, for example:

* Entry/exit trajectories (will be added before the end of September)
* Trajectory simulation (will be added soon)
* Post processor (most likely won't be included in the project because it is too robot specific)
* Ability to generate trajectories with process stop/start: sometimes the part cannot be constructed without stopping and starting the process again
* Allow to generate trajectories with diagonal layers

The software is already able to generate complex trajectories:

![Complex Stack.jpg](https://images.squarespace-cdn.com/content/v1/51df34b1e4b08840dcfd2841/1505232479993-67EAX33P2A3407H7QHDP/Complex+Stack.jpg)

![trivet.jpg](https://images.squarespace-cdn.com/content/v1/51df34b1e4b08840dcfd2841/1505232516430-KBX1CLSZN3EBVFPMP45M/trivet.jpg)

**FUTURE DEVELOPMENTS**

In the future, we would like to be able to generate trajectories for 3D printing when the initial surface is not flat. This implies creating a specific algorithm.  
  
We also need to write some documentation and a user guide for the software.

**CONCLUSION**

You can find more information on the official [ROS Additive manufacturing]([http://wiki.ros.org/ros\_additive\_manufacturing](https://urldefense.proofpoint.com/v2/url?u=http-3A__wiki.ros.org_ros-5Fadditive-5Fmanufacturing&d=DwMCaQ&c=l_IU86Q8JTGnHn9K9kRmRlrLmhfeE6S9tCyr6T8mzvM&r=g82jlXpkAlQYZr3pjAgOObx2RJeTG-QNqBpd-DWgPGY&m=EA-1Ie-IkI_RMSOkSwwKO2jkSLtAbZJmr00BWdfjiB4&s=9gP82KRa3igxnQSzCng76W4KwfA0h663Kj6CSUjddiM&e=)) wiki webpage.  
Digests of the advancement are frequently posted on [the SwRI mailing list]([https://groups.google.com/forum/#!searchin/swri-ros-pkg-dev/additive%7Csort:relevance/swri-ros-pkg-dev/Bd7weRLIrpU/Wk-aCsGiAQAJ](https://urldefense.proofpoint.com/v2/url?u=https-3A__groups.google.com_forum_-23-21searchin_swri-2Dros-2Dpkg-2Ddev_additive-257Csort-3Arelevance_swri-2Dros-2Dpkg-2Ddev_Bd7weRLIrpU_Wk-2DaCsGiAQAJ&d=DwMCaQ&c=l_IU86Q8JTGnHn9K9kRmRlrLmhfeE6S9tCyr6T8mzvM&r=g82jlXpkAlQYZr3pjAgOObx2RJeTG-QNqBpd-DWgPGY&m=EA-1Ie-IkI_RMSOkSwwKO2jkSLtAbZJmr00BWdfjiB4&s=FXRhQtTdH8DCvU4lPGNNqRBwKXPVNkiPMWr7U9pqlPg&e=)); please post your questions about the project here!  
  
You can contribute to this project by reporting issues, writing documentation or opening merge request to fix bugs, improve/add functionalities.

Authored by Victor Lamoine, Institut Maupertuis, France, on GitHub at [https://gitlab.com/InstitutMaupertuis/](https://urldefense.proofpoint.com/v2/url?u=https-3A__gitlab.com_InstitutMaupertuis_&d=DwMCaQ&c=l_IU86Q8JTGnHn9K9kRmRlrLmhfeE6S9tCyr6T8mzvM&r=g82jlXpkAlQYZr3pjAgOObx2RJeTG-QNqBpd-DWgPGY&m=cwJFOaQmsBpTJpZzgOb2fuKUvCA8PMHCj6VhyxLA48Y&s=kff3RYCQHGs5zlrkb4SVE5lFjizvzqScmTAekyv-ISM&e=)

Rendered version (original here):

click to expand

The ROS Additive Manufacturing (RAM) project is a set of ROS packages that enables automatic generation of trajectories for additive manufacturing. It has been designed for metallic additive manufacturing with industrial robots. This project is open-source and under the BSD license.

Starting with a YAML file representing a 2D polygon or a 3D mesh, the goal is to obtain a trajectory and construct a 3D part with a robot. The user provides input files and some parameters, then generate the trajectory. The user is then able to modify the trajectory within a GUI if needed. Finally the user can obtain a robot program (specific to a brand) via a post processor (the post processor is not included in the project).

MOTIVE
There are many software products available to generate trajectories for 3-D printing. Most of them are designed for plastic and resin 3-D printing (FDM, SLS etc.) with Cartesian machines. The algorithms usually have an "infill" parameter that allows the user to choose how much material should be put inside of the "shells" (the exterior of the 3D volume). This is very handy to produce lightweight parts, but when set to 100%, the parts are not completely filled and some holes (porosities) remain.

With 3-D metallic printing, parts are very often expected to be fully filled with material and the tolerance for porosities is very low. This constraint does not allow us to use conventional 3-D printing software and led us to create our own solution. Depending on the process (powder projection, wire) there can be other requirements. For example processes using wire are not simple to stop and start, having a continuous trajectory becomes mandatory to ensure deposition quality.

This is why we decided to create a very flexible software solution, providing a clean and modern approach to 3-D printing.

SOFTWARE ARCHITECTURE

The project is split in modules, each of them has a specific functionality, the main modules are:

  • Path planning: Automatically generates a trajectory given an input file and some parameters (layer height, etc.)
  • Display: Publishes the trajectory in RViz so that it can be visualized and features different visualization modes
  • Modify trajectory: Allows for trajectory modification by selecting poses and tweaking them (geometry, parameters)

This modular approach easily allows for adding, removing or modifying functionalities inside the software. The software can be used through a Qt GUI based on RViz and is designed to be easy to use for a non programmer.

Star.jpg

CURRENT STATE

The application is working and easy to compile, code quality is ensured by Continuous Integration including Unit Tests.

There are some missing functionalities, for example:

  • Entry/exit trajectories (will be added before the end of September)
  • Trajectory simulation (will be added soon)
  • Post processor (most likely won't be included in the project because it is too robot specific)
  • Ability to generate trajectories with process stop/start: sometimes the part cannot be constructed without stopping and starting the process again
  • Allow to generate trajectories with diagonal layers

The software is already able to generate complex trajectories:

Complex Stack.jpg

trivet.jpg

FUTURE DEVELOPMENTS

In the future, we would like to be able to generate trajectories for 3D printing when the initial surface is not flat. This implies creating a specific algorithm.

We also need to write some documentation and a user guide for the software.

CONCLUSION

You can find more information on the official ROS Additive manufacturing wiki webpage.
Digests of the advancement are frequently posted on the SwRI mailing list; please post your questions about the project here!

You can contribute to this project by reporting issues, writing documentation or opening merge request to fix bugs, improve/add functionalities.

Authored by Victor Lamoine, Institut Maupertuis, France, on GitHub at https://gitlab.com/InstitutMaupertuis/


There are some weird things (like duplicated images) and I need to filter out Proofpoint urldefense URLs, but other than that, for a fully automated conversion, it's quite OK I believe.

@gavanderhoorn
Copy link
Collaborator

Question to all: how do we want to list authors?

There doesn't appear to be any real consistency in the SP export. It's a mix of names and email addresses (ie: some posts have names, others addresses).

I can easily map addresses to names (simple search-replace), or we could amend names with addresses, or the other way around (something like John Doe <john.doe@something.somewhere>, I guess that's supported @ipa-cmh).

What would our preference be?

@gavanderhoorn
Copy link
Collaborator

Related: do we want to "port" the tags in some way?

If I understand this correctly it should be possible to keep them.

We have quite a few posts with tags.

@gavanderhoorn
Copy link
Collaborator

gavanderhoorn commented Jan 28, 2022

Current state of conversion: here.

This is automated, so there are bound to be weird things.


Edit: moved outstanding issues to #18.

@hellantos
Copy link
Owner Author

hellantos commented Jan 28, 2022

Question to all: how do we want to list authors?

There doesn't appear to be any real consistency in the SP export. It's a mix of names and email addresses (ie: some posts have names, others addresses).

I can easily map addresses to names (simple search-replace), or we could amend names with addresses, or the other way around (something like John Doe <john.doe@something.somewhere>, I guess that's supported @ipa-cmh).

Jekyll is pretty stupid, author is just a text field, no input verification, so yes it is supported.
Not sure about prefered, but I would be okay with mail adresses mixed with author names. Extracting names from mail addresses will probably have some cases where it does not work...

@hellantos
Copy link
Owner Author

hellantos commented Jan 28, 2022

@gavanderhoorn

Related: do we want to "port" the tags in some way?

If I understand this correctly it should be possible to keep them.

We have quite a few posts with tags.

Yes, you simply have to add the tags: [tag1] [tag2] [...] to the yaml frontmatter of each post. Careful, tags that consist of two words probably need to be added with a single tag: [tag 1] statement.

I'll probably need to do some magic to have them in the website though...

@gavanderhoorn
Copy link
Collaborator

but I would be okay with mail adresses mixed with author names. Extracting names from mail addresses will probably have some cases where it does not work...

no, that's not what I'm suggesting.

There are about 28 post authors, but in some cases, John Doe posted as John Doe, when in other cases, he posted as john.doe@something.somewhere.

It's the same person, just different "identifiers".

What I'm suggesting is to map john.doe@something.somewhere to John Doe. So whenever the converter script encounters john.doe@something.somewhere as the post author, it will just replace it by John Doe.

(I've already implemented this, it's trivial).

Yes, you simply have to add the tags: [tag1] [tag2] [...] to the yaml frontmatter of each post. Careful, tags that consist of two words probably need to be added with a single tag: [tag 1] statement.

already done, see 2013-10-3-nist-ric-americas-member-of-the-week.md for instance.

re: spaces: I've used the all-lowercase-separated-by-hyphens version, not the regular "words with spaces" version (see #13 (comment)).

@gavanderhoorn gavanderhoorn mentioned this issue Jan 28, 2022
18 tasks
@gavanderhoorn
Copy link
Collaborator

gavanderhoorn commented Jan 28, 2022

Another idea: would we want to include a link to the original post on squarespace at the top of the converted one?

Given the risk of lossy-conversion, this might actually be a nice thing to do.

It would also make it easier for us to compare the original against the migrated post.

(we can always remove them later quite easily)


Edit: added this in a2a96f8.

The 'real' deployment should of course link to a backup (sub)domain.

@gavanderhoorn
Copy link
Collaborator

I just noticed there are a couple posts included in the export which are marked as draft.

Would we want to migrate those, or exclude them/

@robinsonmm @ipa-cmh @Leesls ?

@robinsonmm
Copy link

Exclude drafts.

Also i have been guilty of entering them for my staff, so i could see where my email address may come in , though the author is someone else. I see that example with the ROS Additive Mfg has my email address as the title but that is Victor LaMoine, for instance.

@gavanderhoorn gavanderhoorn changed the title Add old blog posts for 2020 only for now. Add old blog posts Feb 1, 2022
@gavanderhoorn
Copy link
Collaborator

As we'll import everything, I've updated the title of the issue.

@gavanderhoorn
Copy link
Collaborator

Exclude drafts.

Ok.

Also i have been guilty of entering them for my staff, so i could see where my email address may come in , though the author is someone else. I see that example with the ROS Additive Mfg has my email address as the title but that is Victor LaMoine, for instance.

this is not something I can automate.

Someone will have to go through the converted posts and update the front matter.

@gavanderhoorn
Copy link
Collaborator

I'll check again. This is the direct export from the automated export function. I'll check and see if they have export options under the advanced settings.

@robinsonmm: any luck?

it's ok if there's no immediately better export format.

I just wanted to know whether I should spend time improving the conversion, or whether I should wait on what you'd be able to get out of SP.

@robinsonmm
Copy link

Per squarespace after working on this: You can export certain content from your Squarespace site into an .xml file. This is useful if you want to export content to WordPress. Not everything will export, as many features rely on our platform’s JavaScript and CSS.

What content will and won't export
Because of how WordPress is designed, it's not possible to import all types of Squarespace content. Our .xml file is set up to export primarily the content that will import to your WordPress site.

What content exports
Layout pages
One blog page, including all of its posts and up to 1000 comments per post
Text blocks
Image blocks
Text from other blocks like the embed block, Twitter block, and Instagram block will export with minimum structure
Gallery pages
Project pages

What content won't export
Other page types (including album pages, cover pages, index pages, info pages, events pages, portfolio pages, and store pages)
Content in page-specific headers, footers, and sidebars
More than one blog page
Folders
Audio blocks
Product blocks
Video blocks
Drafts
Style changes
Custom CSS
Note: Some content, such as linked .pdf files, will export in the .xml file but can't import to a WordPress site. Visit their documentation for more details.

@gavanderhoorn
Copy link
Collaborator

Sounds like the export you found is the one they refer to in their email?

@robinsonmm
Copy link

Yes. It is geared toward WordPress. All the linked content it seems would have to be recreated. And no event pages, so leveraging event pages to add back in the presentations etc, all of that will be lost. Oh well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants