Click to See Complete Forum and Search --> : Frames, footnotes, and mass-repetition


ulillillia
07-01-2005, 05:58 AM
Currently, I'm planning on doing a mass-update on my website. Huge chunks of my website have footnotes pointing to the same thing and other areas among the same groups of pages use the same exact bit of HTML. At the top of every page within a topic uses the same repeating bit of HTML. When I would like to change something, I have to edit every single page one by one using the copy/paste feature. If you were to view my website, for example, my dreams page (http://www.ulillillia.us/aboutme/aboutmemysteriousdreams.html), at the top of every page is the same image being repeated (though I'd like to change it) and, within each dream category, the top parts are always the same. Also, more significant, is the bottom of every page within a main category, three images appear repeatedly among every page. I'd like to reduce this redundancy so that, when I want to edit something, I only need to edit one file instead of a hundred files (or more). How can I accomplish this?

Also, during my mass-update, I plan on creating a footnote index, which contains a list of every footnote and cross-references to other articles. This way, instead of updating hundreds of files to fix outdated or incorrect content, I only need to edit one file to change everything. For the footnote index, I'd like to, sort of, use a frame at the bottom of the page. From what I've heard, search engines can't index pages that use frames. The top part is the most important, the bottom part is of no importance for indexing in search engines, they're just a bunch of links pointing to various sections and articles on my website and sometimes just explanatory things (like to help understand slope ratio, something I bring up often). This would make my site more user friendly, however, it's the search engine indexation that I'm worried about. It's tough to explain though. The top part is the main article/page, not really a frame. The bottom part is of a frame which points to the same file on every page.

Links clicked on in the footnotes index just open up a new window, using the target="_blank" notice in the anchor tag. Footnote links change the positioning of the footnote index using the name attribute of the anchor tag which makes the frame "jump" to where the main content referenced is. Clicking on any other link just opens a new window (sometimes they're to external sites, other times they're files or for page navigation). Here's a rough representation on how I'd like it formatted:


+--------------------------------------+
|Main webpage content here |
|(about 75% height at 800x600) |
| |
| |
| |
| |
| |
| |
| |
| |
+--------------------------------------+
|Footnotes in here |
|(about 25% height at 800x600) |
+--------------------------------------+


This is just a simple representation to give you an idea on what I mean. Click a footnote link on the top part, which is a pure HTML file (not of a frame with the file being linked to from that frame), the bottom part jumps to where the footnote referenced is.

To sum up:
Click footnote link on top or bottom: footnotes frame jumps to where it should go;
Click on link to external site on top or bottom: opens a new window;
Click on regular link such as to download a file or for general navigation, the top part reloads (or the footnotes list also reloads).

Am I clear on this?

graatz
07-01-2005, 10:47 AM
It seems like what you are talking about would either require (a) a massive change to the layout of your page or (b) server-side scripting such as ASP ... or (c) a professional page editor such as Dreamweaver. That is, at least, if I'm understanding you correctly... let me see if I can summarize:

Each page has a topic
Each similar topic shares a header
Some similar topics share footers
There are multiple topic categories that result in different header/footer combinations
You want to edit each header and footer once

Now if you want everything to display in one static page... like:
--------------------------
HEADER |
--------------------------
|^|
| |
BODY | | <-scrollbar
| |
|v|
--------------------------
FOOTER |
--------------------------

In this format, we have files header1.html, header2.html, etc...; footer1.html, footer2.html, etc...; body1.html, body2.html, etc.....

If we know that body4 should have header2 and footer5, we set all links to body4 to update the src of all three frames (client-side scripting like javascript works perfectly for this) ... if clicking a footer link must open a new page, we can reference the frame page and again set the three sources using script. However, with this format, it might just make more sense to update the main page (people typically don't like pop-ups :p)

Now we can skip the frames and keep the format of your page using client-side scripting and include files. With this, you'd keep your headers and footers in include files then just have a line in your page reference the appropriate header and footer. To change a header or footer, you just make changes to the include file.....

Hope this has given you some avenues to research :)

ulillillia
07-01-2005, 11:13 AM
Nice try, but I don't know ANY webpage-related scripting, so I'm out of luck there. The only language I know to some minor extent is HTML and what comes with Gamestudio (http://www.conitec.net/a4info.htm). I don't recognize Dreamweaver though. I only use Wordpad, which comes with Windows. Notepad produces "not enough memory" errors when the file size gets around 30 KB and some files, quite a few of them, are 40 KB or bigger so I have to use Wordpad to edit HTML files. As for your summarization:

Each page has a topic // true and it varies more than most anything else

Each similar topic shares a header // not sure if you mean the head tag or the top part of the page, but either case is true

Some similar topics share footers // not true except for the images at the bottom which return you to the indexes. The footnotes is what I'm thinking of as being the footer as footnotes are usually located in the footer of a page.

There are multiple topic categories that result in different header/footer combinations // true; the footer varies the least and the header varies the most

You want to edit each header and footer once // true

You got this part of it correct. Dreamweaver - don't recognize it. I have a very low budget in case you don't know.

Basically, all I'd like is to "paste" the content of an HTML file (or part of an HTML file (such as without the headers and stuff)) into the header part and footer part. When I need to edit or replace something, I only need to edit that single HTML file and all other related parts are changed. It's like CSS (I've copied some examples I had in my cache to figure it out to some extent), when you edit the file, the whole style changes. Scripting is much more complicated and I don't have anything in my cache and it's hard to see the source to try to figure stuff out.

At this moment, repeated copying and pasting is about the only thing that I could use, but then, when editting 300 files, it really gets at you for time consumption. This is why this is getting to the point in which this is very handy and essential, especially with all that repetition.

graatz
07-01-2005, 11:42 AM
It seems like your best bet is to follow my first suggestion... the javascript that you'd need to add to your page is not particularly complicated.. you could set it up so that one function would be appended to the <head> tag of each html page with links and an onclick attribute would be added to each of your <a> tags... the harder part would be organizing your data into the new format.. besides actually making the frameset page and sundering your current pages into heads, bodys, and foots, you'd need to make note of the right heads and foots to each body.. that way, your links could look something like: <a href="#" onclick="doTheLink('head1.html', 'body3.html', 'foot5.html')"> then your script would basically look like:
<script type="text/javascript">
function doTheLink(URL1, URL2, URL3) {
frames['header'].window.location=URL1;
frames['body'].window.location=URL2;
frames['footer'].window.location=URL3;
}
</script>
see, not too terrible :)

pratik_learner
07-01-2005, 12:01 PM
Hey first you would have to use multiple things to get your job done. Listen first download and install a search-and-replace utility like InfoRapid Search & Replace (http://www.freewarefiles.com/program_9_103_1682.html) or BK ReplacEm (http://www.freewarefiles.com/program_8_213_262.html) . BOth are freewares and check out which one is better and let me know.
Then you can define a CSS stylesheet with position as absolute and bottom attribute set to 3px (for a footer or for a header set the top attribute to something liek say 4px) apply other attributes as you wish. Then declare a div with an ID or a class selector and enter the content of your footer/header.
NOTE to avoid errors make the div id/class unique like say I9012 or E87TY which you might'nt have used before anywhere.
Then using the search-and-replace tool find
'<HEAD>'
and replace with
'<HEAD> <style type="text/css"> /* Your CSS code*/ </style>'

then similarly find '<BODY>'
and replace with
'<BODY><DIV id = "F001"><!-- Foooter/Header Content --></DIV>'

and let the program do the rest. You're done!

NOTE : Before doing all this stuff make a backup of your site.
If the <body> tag has attributes then search for the '</body>' tag and replace with '<DIV id = "F001"><!-- Foooter/Header Content --></DIV></BODY>'

ulillillia
07-01-2005, 12:09 PM
Hmm. Seems possible. I do understand functions and basic syntax, but coding it correctly is the tough part, something I haven't learned yet. There is, however, still some lingering questions:

1. From what I've heard, using frames makes it hard for search engines to index the website. This could present problems, big ones. The main page content is the most important and should be indexed in search engines. The header, footer, and footnotes sections have no real need to be indexed.

2. From your script example, you don't seem to have any mention for the separate frame containing the footnotes. My site is likely to have close to 50 or more footnotes frequently cross-referenced to in one way or another.

3. Finally, how would I set up the three sections and the two frames? My site is optimized, for the most part, for 800x600 resolution (at 24-or 32-bit color, though 16 is acceptable). The bottom frame should be about 25% of the screen height while the top part covers what is left. I run at 1600x1200, but I run math calculations in my head to figure out the sizes and stuff, sometimes using screenshots to measure with.

4. Only one part of the documents need to change in one go. Your script seems to have it so that all three change at once.

graatz
07-01-2005, 12:49 PM
1. From what I've heard, using frames makes it hard for search engines to index the website. This could present problems, big ones. The main page content is the most important and should be indexed in search engines. The header, footer, and footnotes sections have no real need to be indexed.

Well, frames are perhaps the second most hated web elements, apart from pop-ups... Personally, I like the way they work, but *shurgs* newer technologies have reduced their need, I suppose... newer technology means keeping up with the newer methods and since this isn't of interest to you, we'll just haveta go from there.... you can put <meta> tags on your main frameset page which should make it attractive to search engines :)

2. From your script example, you don't seem to have any mention for the separate frame containing the footnotes. My site is likely to have close to 50 or more footnotes frequently cross-referenced to in one way or another.

I'm assuming that you footnotes will be written into the foot htmls... if your image links at the very foot of your page are completely static, we could add a 4th frame to remain unchanged at the very bottom and spare putting that code into each foot html page.

3. Finally, how would I set up the three sections and the two frames? My site is optimized, for the most part, for 800x600 resolution (at 24-or 32-bit color, though 16 is acceptable). The bottom frame should be about 25% of the screen height while the top part covers what is left. I run at 1600x1200, but I run math calculations in my head to figure out the sizes and stuff, sometimes using screenshots to measure with.

Well, I'm not sure how much you know about creating a frame page, but perhaps a basic tutorial might be of assistance.. you can go here for a start:

http://www.w3schools.com/html/html_frames.asp

What I outlined for your page would be something like <frameset rows="10%, *, 25%"> although you could also add the extra frame for your image links at the bottom.

4. Only one part of the documents need to change in one go. Your script seems to have it so that all three change at once.

If each new page requires a different head and foot, you'll need to change them all in one click... if all of your heads and foots were static, you could change the source of the main frame using something like target="mainpage" in your <a> tags.

ulillillia
07-01-2005, 12:49 PM
How about this:

1. At the top, one function is called with a parameter (a variable) that relates to the document to be used.
2. At the bottom, another function is called that is like the first.
3. The center part, the main body, contains the main HTML file.

This way, it doesn't use frames for the important stuff, however, it's the footnote list that I'm going to need figuring out with, however.

graatz
07-01-2005, 01:09 PM
the only way i know how to do that is server-side includes. sorry :(

ulillillia
07-01-2005, 01:13 PM
Well, frames are perhaps the second most hated web elements, apart from pop-ups... Personally, I like the way they work, but *shurgs* newer technologies have reduced their need, I suppose... newer technology means keeping up with the newer methods and since this isn't of interest to you, we'll just haveta go from there.... you can put <meta> tags on your main frameset page which should make it attractive to search engines :)

Nope, I don't like pop-ups either. My site is meant to be 100% ad-free (for convienience and since my webhost is $4 a month, it's cheap and loaded with features. Not even banner ads appear on any page, except my own on one single isolated page (these are so old, they have to be replaced). I make plenty of animated GIFs, including a video-like 300-frame animated GIF. The only thing I don't like about frames is that you can't capture the URL to a certain part without having extensive knowledge of your browser.

As for the meta tags, 98% of my pages don't have meta tags, yet, I see them indexed on MSN and Google, pages that don't have meta tags are also included. The index page does have meta tags as well as other popular, more frequently updated pages (such as my dreams page containing over 220 dreams (with another one yet to add)).

I'm assuming that you footnotes will be written into the foot htmls... if your image links at the very foot of your page are completely static, we could add a 4th frame to remain unchanged at the very bottom and spare putting that code into each foot html page.

Do this, the page, even at 1600x1200 resolution, would easily end up with 5 extra screens of text and a few images, likely much more. Each footnote would likely take an average of 2 or 3 lines, not including some explanatory images that may be thrown in (slope ratio might have a few) which could easily take up to 8 lines each image, likely more. I have a long list of possible footnotes (don't have a count, but a mere guess). This is why I'd like to have it in a frame, with a scroll bar for that frame. When a link is clicked that is of a footnote reference, the footnotes frame changes to automatically appear where that footnote is. This makes minimal use of the scroll bar, but some entries may end up pretty long, especially explanatory ones.

Well, I'm not sure how much you know about creating a frame page, but perhaps a basic tutorial might be of assistance.. you can go here for a start:

http://www.w3schools.com/html/html_frames.asp

What I outlined for your page would be something like <frameset rows="10%, *, 25%"> although you could also add the extra frame for your image links at the bottom.

I'll look into it. I'm designing a city for my game while I'm waiting for replies.

If each new page requires a different head and foot, you'll need to change them all in one click... if all of your heads and foots were static, you could change the source of the main frame using something like target="mainpage" in your <a> tags.

I was wondering on that.

Anyway, I'll try your ideas out when I return. Doing 1200 buildings for my game (http://www.ulillillia.us/gamedesign/gamedesignhome.html) is easy, but time consuming. Texturing is all that remains, however. Yep, even that part of my website, in a new category, still follows the same basic "template". The header on the top and the footer on the bottom. Don't bother reporting a missing image notice for the gamedesignindex file. I haven't created it yet but will eventually, once I come up with a plan for the image.

graatz
07-01-2005, 01:28 PM
When a link is clicked that is of a footnote reference, the footnotes frame changes to automatically appear where that footnote is

This is easy enough to accomplish with the frames intact... if you mean:

body:
texttexttexttexttext [see footnote]

clicking the [see footnote] will scroll the footnote page to the appropriate note....

then in the footnotes html add something like:
<a name="note1">footnotetexttexttext</a>
in your body add something like:
texttexttexttexttext <a href="foot2.html#note1" target="footer">[see footnote]</a>

ulillillia
07-01-2005, 01:43 PM
The name part I figured, pointing to the frame, however, I didn't. The footnotes use a different format than you're thinking. There's like 50 or more of them. They'll be like *C3-07* or so and superscripted (as I have currently). This means, simply, category 3 (relates to it) and it's footnote number 7 within that. Some pages have up to even ten to fourteen footnotes. During the mass-update, I'll be fixing a lot of the content as some of the pages haven't even been updated since early 2004 and one hasn't been updated since 2002! The file name will also be different as well, but I know how to fix this stuff.

Finally, one last question. I use CSS stylesheets to retain the styles. Do I need to define the stylesheet in each frame or "segment" or do I only need one, the main page? I have a feeling I need it for each frame/file.

ulillillia
07-01-2005, 02:09 PM
It seems like your best bet is to follow my first suggestion... the javascript that you'd need to add to your page is not particularly complicated.. you could set it up so that one function would be appended to the <head> tag of each html page with links and an onclick attribute would be added to each of your <a> tags... the harder part would be organizing your data into the new format.. besides actually making the frameset page and sundering your current pages into heads, bodys, and foots, you'd need to make note of the right heads and foots to each body.. that way, your links could look something like: <a href="#" onclick="doTheLink('head1.html', 'body3.html', 'foot5.html')"> then your script would basically look like:
<script type="text/javascript">
function doTheLink(URL1, URL2, URL3) {
frames['header'].window.location=URL1;
frames['body'].window.location=URL2;
frames['footer'].window.location=URL3;
}
</script>
see, not too terrible :)

Question. I'd like to have the javascript as a separate file, especially if changes need to be made. I know I save it as filename.js, but how do I point to the script so it gets recognized right away for use?

Edit: I forgot something. How do I get the frame stuff set automatically upon page load? That is, when one first views my site, they'll only see blank content or just a single page without the header and footer and maybe including the footnotes.

graatz
07-01-2005, 02:31 PM
adding this line to your head will reference an external .js file:

<script src="myjavascript.js" type="text/javascript"></script>

Your viewer will see your frames right away if your setting your default html page (index.html) as the frameset page... there's nothing additional you'd need to do :)

ulillillia
07-02-2005, 05:19 AM
Another question. From what I've seen, frames are static - they're always the same and don't move. I don't want this. I'd like to keep my basic style. I'm referring to the top part only, however. When you scroll in the top part, for example, the header frame moves with the scrolling. The same goes for the footer. If you were to look at my site now (example link at the top of this thread), the top part, the header, is always at the top of the main document and it moves when you scroll. The footer is always at the bottom of the main page and moves when you scroll. From what I've seen, as in the case of this site (http://www.e-officedirect.com/FLStudio/English/frames.html), frames are static, always in the same spot on the screen, even when you do scroll. The top part of my site should be scrollable as a whole, almost as if I just copied and pasted the text in there. The top part, the main page should be different, however, than the footnotes part. The footnotes area has a separate scrolling area.

PS: I'm building a test page now to test this out and I thought about this.

graatz
07-03-2005, 08:45 AM
what you're looking for would be done in a server-side script... I only really know ASP, so here's how it would look in ASP:

<some html code>
<!--#include file="head1.inc"-->
<rest of html code>

then there'd be a file "head1.inc" which would just be the html code for that header.

Essentially, include files are a nice and easy way to mimic copy|pasting code. You wouldn't need to know anything else about ASP to do what I've shown above but you would need to name your file .asp instead of .html and it would have to reside on a server that supports ASP... oh, and ASP is basically inaccessable to anyone that uses a non-IE browser... the same thing can be done in other scripting languages, though.

ulillillia
07-03-2005, 08:32 PM
Essentially, include files are a nice and easy way to mimic copy|pasting code. You wouldn't need to know anything else about ASP to do what I've shown above but you would need to name your file .asp instead of .html and it would have to reside on a server that supports ASP... oh, and ASP is basically inaccessable to anyone that uses a non-IE browser... the same thing can be done in other scripting languages, though.

ASP inaccessible to non-IE browsers? That I strongly dislike. That almost immediately throws that idea out of the list.... With that, I couldn't use Firefox at all, my primary browser (IE is a lot less secure, so I wouldn't touch that program to any significance). I guess I'll almost just have to stick with either the frames idea (which'll be dumb if I can't have it scroll with the rest of the page (as it'll look dorky). The footnote frames part, however, is still okay. It's the bottom part that is of greater priority (8.5 out of 10) for the copy/paste stuff as it doesn't change much among the hundreds of pages (of about 300 pages, there are about 12 unique combos (estimated)). The top part of the main page isn't of that high importance anyway (like 2 out of 10). It changes too frequently among the pages to really make a difference.

madHead
07-05-2005, 11:56 AM
oh, and ASP is basically inaccessable to anyone that uses a non-IE browser...

OMG OMG OMG. I had to register here just to reply to this. ASP...it's a server side language. That being the case, do you really believe that your browser cares about a language that it isn't even processing... A server side language is processed ON THE SERVER (hence its name). It doesn't matter what browser you use. IE Firefox Nutscrape Opera. It works in all browsers. The ASP just decides what to send the browser. In this case it would be sending the browser plain on vanilla HTML and I'm guessing some DHTML/CSS. And by the way, A server side include like you've given an example if is NOT ASP. This same exact line can be used on a linux server running Apache that doesn't have ASP support installed.

As for our friend here using asp, some how I doubt that's possible as a host that charges only 4 bucks and will allow server side scripting seems unlikely. Every server-side script that runs creates a load on the server. This load will stack up over every page his host serves for each of it's clients. Web servers hosting pages will server side scripts must have more processing power which costs the host more money. The host invariably then charges the client more for this feature.

His solution will probably have to be client side.

I'm sorry I'm so inflamatory I just hate an uneducated knee-jerk Anti-Microsoft response. If you are going to be anti-IE atleast have a valid reason. (Security, lack of patches, broken implementation of latest HTML standards)

graatz
07-06-2005, 06:45 AM
actually I'm quite a Microsoft fan .. I must have picked up some erroneous knowledge regarding browser compatability somewhere's down the line =/ I'll file this under happy to learn I was wrong :)

Since ASP is the only server-side script I know, I only presented what I knew would work with it... I do believe that I mentioned that the same or similar could be done otherwise....

oh, and I actually have some ASP pages residing on a free host (http://www.1asphost.com) *shrugs* I guess they feel that their pop-ups and inline frame advertisements justify it.

Aaaaaanyways :p Sorry to bump this topic just justifying myself

madHead
07-06-2005, 01:28 PM
Then I guess I should appologize for bumping it just to flame.

ulillillia
07-06-2005, 06:26 PM
I'm using the hosting plan on the far left side (the cheapest one) (http://www.edatarack.com/hosting.html). I can't quite tell if they support ASP or not. I can't seem to find it, but then again, I tend to overlook things on occasion. Oh well.

As I've mentioned, the top part shouldn't be of much of any concern at all; it changes too frequently to be of much use anyway at this point. It's the bottom part of the main page that's tough and there aren't that many possible combinations.

I just spent most of yesterday installing a new hard drive. It took a lot longer than expected so I couldn't get much of a chance to reply.

madHead
07-07-2005, 08:49 AM
I looked at the plan and reading details on features they talk about PHP alot. I'll bet you can use server side includes to put the files together.

It will end up like

<html>
<!--#include file="TOPSTUFF.inc"-->

your page content

<!--#include file="FOOTNOTES.inc"-->
<!--#include file="BOTTOMSTUFF.inc"-->
</html>


where you have a different bottom stuff for each of the possible combinations and include the correct one depending on the content. Static...no scripting.

Now I have read this entire thread but it's been a couple of days. I remember you saying something about that you wanted the stuff at the bottom to show just the footnotes applicable for the page your on. This makes sense but given the heirchy you have I'm having a hard time thinking up a simple solution. I've read that you can make the include statment include just a part of a file and not the whole thing. I wanted to include and example or a link but I can find neither. I searched for about 5 minutes so if you search harder you might find the answer.

ulillillia
07-07-2005, 06:49 PM
Well, I'll refresh your memory and everyone else's and explain it in much greater detail. Basically, this is an example of a screen, using ASCII art to explain things.


+-------------------------------------------------------------------------------++
|This is the "header", which changes very frequently among the pages. It is an ||
|image and a question that relates to the content of the page. I don't need the||
|copy/paste effect here, except on documents that grow rapidly like my dreams. ||
|This area, also, scrolls with the main document as if copied and pasted. ||
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -||
|This is the main web page document and it should be indexed by search engines. ||
|This entire area is the most important. When a footnote*C04-03* is clicked on,||
|The very bottom area "jumps" to where that footnote is located, footnote C04-03||
|that is. If it was a regular link, this part of the document changes to the ||
|document being linked to leaving the footnotes section untouched. If a link ||
|pointed to a different topic or external website, it'll open a new window. If ||
|it's within my own site, the footnotes and stuff will be on that new window as ||
|well but doesn't have to be in the same position as the other window. ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -||
|This is where the "footer" of the main page is. This is the area where the ||
|copy/paste effect needs to be used more than anything and scrolls with the main||
|document as if copied and pasted. ||
‡================================================================================‡
|Footnotes - this area doesn't scroll with the main page part and has it's own ||
|scrolling. ||
| ||
| ||
| ||
+--------------------------------------------------------------------------------+


This is a scale version of my expected layout. Each character represents 20 pixels wide by 40 pixels high, or the equivelent of a 1600x1200 display, which is what I run at.

The dashed line separates the main body area from the header and footer of the main page. The double-dashed line represents different frames with separate scroll bars. The right side is where the scroll bar is. Notice how the scroll bar stops at where the footnotes section begins and another part is in the footnotes area? These are two separate scroll bars.

In the main area, above the double-dashed line, this is the most important. Below the double-dashed line I could figure out mostly on my own. In the top area of the main section, I'd like to "paste" a separate file in here. This area changes quite often, but, knowing that my dreams document is getting so big and long, as well as my blog, I'd like to be able to change this by only having to change one file per category or document. Doing this, however, isn't that much important for this area, however, it will be once I end up getting a few months down the road or when I get to around 400 dreams listed (and I'm already past halfway there).

The center area always changes, that's the main document.

The bottom area above the double-dashed line is where I need the "paste" effect the most. There are about 12 or so unique conbinations (unlike 80 for the top part) so it'd come in very handy here. These are basically links to return you to the category index, the main index, or the FAQ. The footnotes section does not need the copy/paste thing, it's only one file and just lists footnotes.

Oh, and for the footnotes, they'll all be one one single document. The point of having it like this is to make it easy to update the inaccurate information, especially when certain documents don't get updated in six months. This way, I only need to change the content once instead of scanning through each page and changing it 5 or so times which can get very bothersome and very time consuming.

Did I explain this well enough now? Some examples of my site are my dreams document (http://www.ulillillia.us/aboutme/aboutmemysteriousdreams.html) (frequently updated), spell system (http://www.ulillillia.us/features/spellsystem.html) (rarely updated with inaccurate information in the footnotes), and 8 multiplication shortcuts (http://www.ulillillia.us/tipsntricks/multiplicationtips.html) (almost never updated and footnotes pertain to this page only). Feel free to browse through and take a note of the style. Notice that many pages within a category have the same "footer" section and the "header" part changes quite often?

graatz
07-08-2005, 07:07 AM
this is going to be the best bet to get the maximum functionality from your page:

1) Set up a page with 2 frames, one will be the top "main" frame and one will be the bottom "footnote" frame (you can name them as such).

2) I'm assuming if there are links in the footnotes, you want them opened in the main frame, so add a <base> tag to the footnote pages' <head> tag with an attribute target="main". Also in the footnote section, encase each footnote in an <a> tag that has a relavent name attribute.

3) Set up html code for the footers (and headers if you prefer) in seperate files, use ".inc" extensions.

4) Write your main page as normal with the <!--#include file="filename.inc"--> in place of footers (and headers) ... since links will automatically open in the same frame they are clicked on by default, you don't need a <base> tag on the body pages. Rename the file with a ".shtml" extension.

Go here for more info about SSI: http://www.htmlgoodies.com/beyond/webmaster/article.php/3473341

5) To link to a footnote, you'll use an <a> tag that looks like this: <a href="footer2.html#aname" target="footnote"> where 'aname' is the name you put in the <a> attribute encasing the appropriate footnote, and 'footer2.html' is whatever footnote page is in the bottom frame.

Now as far as being indexed by search engines, I actually just had a pretty good thought on the subject...... instead of having one main page with two frames, each of your pages could contain an <iframe> at the bottom of the page.... everything above should work more or less the same... unfortunately, I can't say that I work much with iframes so it's something I'd need to play around with before giving you a more definate push in that direction.....

madHead
07-08-2005, 01:35 PM
You took the words out of my mouth. As I was reading his description I was formulating a solution then I read your's and you said almost everything. I would indeed use only one frame..an IFrame. I'd just build his page:

top part

content

footer part

in three seperate files and just have the content page include the top and footer part.

As for the footnotes I'd put the IFRAME in the footer file so that it too is editable from one location and not every page. The link like you built to get the frame of footnotes to list the correct footnote is perfect.

You could actually hide the IFRAME completely by making a blank space at the top of the footnotes file, turning off scroll bars in the iframe and making the background of the footnote file the same color of the rest of the page. Basically it wouls scroll to the right place with each call of a footnote. The only problem with this is size. If your iframe is too big it will seem like a big empty space at the bottom of your document but if it is too small then each footnote might not fit which would require people to scroll except by hiding it you've taken away the scroll.

I'm almost wondering why even have a footnotes file. Why not just keep the footnotes with the content. There's no reason to split them into a different file. It's the KISS method...keep it simple..stu..er...silly.. Ask yourself "Why do I want these in a seperate file". Is there a good reason. I wouldn't think I would ever want footnotes to be disjointed from the information they pertain too. I'm rambling now I think.

ulillillia
07-08-2005, 06:06 PM
The link rules are simple. If a link is used for navigation such as to return home or to navigate between topics on indexes or pages within documents, it'll open in the same window at the top. If a link is to something not directly related to content on the page being viewed, it opens a new window. This is most common with footnotes as the footnotes often point to different things not related to the main content. All links in footnotes open a new window. A footnote link in either the top or bottom sections (yes, footnotes have footnotes), will make the bottom frame jump to where the content is. There are no other special rules.

Obviously, I can use SSI as I did the test as shown on the page.

Why have the footnotes as a separate file? Simple: speed and accuracy. Many of my documents and files with footnotes don't get updated in months on end and the footnotes are often repeated again and again among multiple pages. The pages that don't get updated much will often have incorrect information. With a footnotes index, I only need to edit the content once and all other pages will be effected and with more correct information. Otherwise, I'd have to scan through each page and copy/paste things like crazy. If I make a mistake or find a bug, I'd have to repeat the copy/paste process again with the fix being made. That's why. Speed and correctness put in one. Plus, if needed, I can explain things in more depth.