_pub.n

• 2.1 Create a notebookhttp://www.noteshare.io/section/asciidoc-101?part=Create%20a%20notebook#_create_a_notebook
• 2.2 Create a new sectionhttp://www.noteshare.io/section/asciidoc-101?part=Create%20a%20new%20section#_create_a_new_section
• 2.3 Imageshttp://www.noteshare.io/section/asciidoc-101?part=Images#_images
• 2.4 Manage notebookhttp://www.noteshare.io/section/asciidoc-101?part=Manage%20notebook#_manage_notebook
• 2.5 Collaborationhttp://www.noteshare.io/section/asciidoc-101?part=Collaboration#_collaboration
• 2.6 Exporthttp://www.noteshare.io/section/asciidoc-101?part=Export#_export
• 3.1 First things firsthttp://www.noteshare.io/section/markup-basics?part=First%20things%20first#_first_things_first
• 3.2 Sectionshttp://www.noteshare.io/section/markup-basics?part=Sections#_sections
• 3.3 Blockshttp://www.noteshare.io/section/markup-basics?part=Blocks#_blocks
• 3.4 Basic tableshttp://www.noteshare.io/section/markup-basics?part=Basic%20tables#_basic_tables
• 4.5 Math Homeworkhttp://www.noteshare.io/section/math-homework?part=Math%20Homework#_math_homework
• 4.6 Chemistryhttp://www.noteshare.io/section/math-homework?part=Chemistry#_chemistry
• 6.1 Creating a Notehttp://www.noteshare.io/section/creating-notes-and-notebooks?part=Creating%20a%20Note#_creating_a_note
• 6.2 Editing a Notehttp://www.noteshare.io/section/creating-notes-and-notebooks?part=Editing%20a%20Note#_editing_a_note
• 6.3 Markup 102http://www.noteshare.io/section/creating-notes-and-notebooks?part=Markup%20102#_markup
• 6.4 Creating a notebookhttp://www.noteshare.io/section/creating-notes-and-notebooks?part=Creating%20a%20notebook#_creating_a_notebook
• 7.1 A simple tablehttp://www.noteshare.io/section/tables-?part=A%20simple%20table#_a_simple_table
• 7.2 A formatted tablehttp://www.noteshare.io/section/tables-?part=A%20formatted%20table#_a_formatted_table
• 8.1 References within a notehttp://www.noteshare.io/section/cross-references-2?part=References%20within%20a%20note#_references_within_a_note
• 8.2 References within Notesharehttp://www.noteshare.io/section/cross-references-2?part=References%20within%20Noteshare#_references_within_noteshare
• 8.3 References to a web pagehttp://www.noteshare.io/section/cross-references-2?part=References%20to%20a%20web%20page#_references_to_a_web_page
• 8.4 References to something inside a web pagehttp://www.noteshare.io/section/cross-references-2?part=References%20to%20something%20inside%20a%20web%20page#_references_to_something_inside_a_web_page
• 9.1 Syntaxhttp://www.noteshare.io/section/mathematical-notation?part=Syntax#_syntax
• 10.1 Exampleshttp://www.noteshare.io/section/chemistry?part=Examples#_examples
• 10.2 Structural formulashttp://www.noteshare.io/section/chemistry?part=Structural%20formulas#_structural_formulas
• 10.3 Referenceshttp://www.noteshare.io/section/chemistry?part=References#_references
• 14.1 Check-in and check-outhttp://www.noteshare.io/section/collaboration?part=Check-in%20and%20check-out#_check_in_and_check_out
• 15.1 Attributeshttp://www.noteshare.io/section/extras?part=Attributes#_attributes
• 16.1 Notes on the embed featurehttp://www.noteshare.io/section/test-of-embed-feature?part=Notes%20on%20the%20embed%20feature#_notes_on_the_embed_feature
• 20.1 Problem sets, etc.http://www.noteshare.io/section/technical-appendix?part=Problem%20sets,%20etc.#_problem_sets_etc
• 20.2 Quiz #1http://www.noteshare.io/section/technical-appendix?part=Quiz%20#1#_quiz
• 20.3 Quiz #2http://www.noteshare.io/section/technical-appendix?part=Quiz%20#2#_quiz
• 20.4 Technical notehttp://www.noteshare.io/section/technical-appendix?part=Technical%20note#_technical_note
• 22.1 Why Markup?http://www.noteshare.io/section/asciidoc-markup?part=Why%20Markup?#_why_markup
• 22.2 PDFhttp://www.noteshare.io/section/asciidoc-markup?part=PDF#_pdf
• 22.4 More Asciidoc Exampleshttp://www.noteshare.io/section/asciidoc-markup?part=More%20Asciidoc%20Examples#_more_asciidoc_examples

# Noteshare Handbook


## 16. Test of embed feature

In writing up lecture notes it frequently happens that you need to spend considerable time writing up some standard topic that is quite well-known and likely treated elsewhere. Suppose that you, or someone else already wrote up a perfectly good treatment of this topic. Wouldn’t it be nice if you could just say `embed::616223[]` to embed document `616223` and then go on about your writing?

Well, that is now possible. Imagine that you are a math professor, and you need for your students to review basic manifold theory. Someone, some time ago, wrote this up in the document with id 1080. So we just reference it like we did document 616223 above. And voilà! Look below and behold!! (Scroll please — look for Manifolds).

### 16.1. Notes on the embed feature

At the moment, every document (note, or lessson) in Noteshare is referenced by an integer id. This may or may not be the way to go for a long future for this idea. What I envision is a site — or a network of sites, which is what noteshare appears to be to the user — within which anyone can embed a document when, where, and how he pleases as long as the author of the document has given permission for embedding. This is the DRY principle applied to a community of authors (where the community extends in space and time — author A may use the text of author B 30 years after author B has passed on).

There is a lot to be thought out, but I think that this could be a valuable feature. Note also that there is a kind of live update bonus: If the author of "Manifolds" below updates his version, the "Embedder" can re-render his document to get the update. How the author notifies the embedder needs to be though out also.

Here is the basic code that implements the feature (it has evolved a bit since first written):

``````def TextTransformer.execute_embeds(text)

embedRX = /embed::(.*?)$(.*?)$/
scan = text.scan embedRX
for match in scan do
oldText = "embed::#{match[0]}[#{match[1]}]"
lesson = Lesson.where(id: match[0])[0]
if lesson
puts "EXX: I will embed lesson #{lesson.id}"
newText = lesson.original_content
text = text.gsub(oldText, newText)
end
end

return text
end``````

Note much to it, though this is a first and fast implementation.

 Note The embedded section below is just a start on a rough draft. It is used here as a proof-of-concept only.

embed::1080[]

Created December 13, 2014, last updated: August 21, 2015