(function () { 'use strict'; const stylesheet = document.querySelector("#stylesheet"); const toggleStylesheetLightButton = document.querySelector("#light"); const toggleStylesheetDarkButton = document.querySelector("#dark"); const navMenu = document.querySelector("#nav-menu"); navMenu.offsetTop; const mainPage = document.querySelector("#main-div"); const topBar = document.querySelector("#top-bar"); const lightDarkWarning = document.querySelector("#light-dark-warning"); const abnormalLogo = document.querySelector("#logo"); const abnormalLogoStylesheet = document.querySelector("#logo-stylesheet"); const footerAbnormal = document.querySelector("#footer-fourth"); const introScreen = document.querySelector("[data-intro-screen]"); const stylesheetSelector = document.createElement("div"); const previousStylesheet = document.createElement("div"); const menuButton = document.querySelector("#menu-button-open-close"); const navMobile = document.querySelector("#mobile-nav-menu"); const menuBar = document.querySelector("#mobile-menu-bar"); const pageName = document.querySelector("#page-name"); /*change prefix from "./" for test page inside the issue's folder to "./issue-number/" for root index file */ const prefix = "./"; const articles = { "Love in the Life of Spies": [ { title: "", "sub-title": "", author: "", description: [ 'She was beautiful in appearance, and was very lovely to behold…
No one spoke ill of her, for she feared God with great devotion
. Judith 7/8', "Foreword

Florida, Buenos Aires, Argentina
Cerrado read the sign hanging slightly askew inside the upper glass part of Die Glocke’s door. What the hell, Jacks thought, it’s lunch time, how can they be closed. Something’s wrong. He peered through the glass and saw the old waiter sitting alone at a table reading the Freie Presse, a fascist German- language daily. He knocked on the window. The waiter looked up, startled and stared wide-eyed at the door. When he recognized Marvin Jacks he put down the paper, smiled, stood up heavily and opened the door after unlocking it.", "“You called for a reservation,” he said in German, “nicht wahr?” Jacks nodded.", "“Why is the restaurant closed? Has something happened?”", "Yes, I’m afraid so.” He pulled out a chair from the table he had been sitting at. “Please sit down, Herr Jacks, I have a mensaje for you from Frau Marie,” he said in “Belgrano-Deutsch”, a mixture of German and Spanish used by long time German residents. Jacks remained standing while the waiter hurried into the kitchen and returned immediately clutching a piece of notebook paper. He smiled. “They let her write it when she said it was instructions for picking up her daughter at school. They told me to translate it. They are really stupid, because if it was for me, which she said it was, why would she have to write it out. Anyway, here it is.” Jacks read it. Herr Jacks, Bitte, holen Sie meine Tochter von der Schule ab, um ein-uhr: Rudolf-Steiner- Schule, Warnes 1331. She signed it: Marie Clement", "“She told me to give it to you,” the waiter said.", "“What happened? Where is she? What’s your name, by the way?”", "“Knoblauch – Federico Knoblauch,” the waiter answered, somewhat intimidated by Jacks’ height and staccato questions. He, like us all, wanted to be loved.", "“Tell me what happened, Federico.”", "“They came about an hour ago and took Frau Marie and Herr Clement.” Jacks sat down to calm himself. The waiter considered it a friendly gesture and sat across from him.", "“Who took them?”", `Continue Reading`, ], imgUrl: `${prefix}love-in-the-life-book-review.jpg`, link: `${prefix}love-in-the-life-of-spies.html`, poem: false, mainImg: true, }, ], "Current Events": [ { title: "From the Arsenal of Democracy to an Arsenal of Genocide", "sub-title": "", author: "William J. Astore", description: [ "During World War II, American leaders proudly proclaimed this country the “arsenal of democracy,” supplying weapons and related materiel to allies like Great Britain and the Soviet Union. To cite just one example, I recall reading about Soviet armored units equipped with U.S. Sherman tanks, though the Soviets had an even better tank of their own in the T-34 and its many variants. However, recent news that the United States is providing yet more massive arms deliveries to Israel (worth $20 billion) for 2026 and thereafter caught me off guard.  Israel quite plainly is engaged in the near-total destruction of Gaza and the massacre of Palestinians there.  So, tell me, how over all these years did the self-styled arsenal of democracy become an arsenal of genocide?", "Israel, after all, couldn’t demolish Gaza, killing at least 40,000 Palestinians in a population of only 2.1 million, including thousands of babies and infants, without massive infusions of U.S. weaponry. Often, the U.S. doesn’t even sell the weaponry to Israel, a rich country that can pay its own bills. Congress just freely gifts body- and baby-shredding bombs in the name of defending Israel from Hamas. Obviously, by hook or crook, or rather by shells, bombs, and missiles, Israel is intent on rendering Gaza Palestinian-free and granting Israelis more living space there (and on the West Bank). That’s not “defense” — it’s the 2024 equivalent of Old Testament-style vengeance by annihilation.", ], imgUrl: `${prefix}astore-genocide.jpg`, link: `${prefix}astore-arsenal-of-genocide.html`, poem: false, mainImg: false, }, { title: "Militarism Abuse Disorder", "sub-title": "A Very American Malaise", author: "Frida Berrigan", description: [ "My name is Frida and my community is military dependent. (I feel, by the way, like I’m introducing myself at a very strange AA-like meeting with lousy coffee.) As with people who have substance abuse disorders, I’m part of a very large club. After all, there are weapons manufacturers and subcontractors in just about every congressional district in the country, so that members of Congress will never forget whom they are really working for: the military-industrial complex.", "Using the vernacular of the day, perhaps it’s particularly on target to say that our whole country suffers from Militarism Abuse Disorder or (all too appropriately) MAD.", "I must confess that I don’t like to admit to my military dependency. Who does? In my case, it’s a tough one for a few reasons, the biggest being that I’m an avowed pacifist who believes that war is a crime against humanity, a failure of the imagination, and never (no, not ever) necessary. Along with the rest of my family of five, I live below the taxable income level. That way, we don’t pay into a system that funds war preparations and war-making. We have to be a little creative to make our money stretch further and we don’t eat out or go to the movies every week. But we don’t ever feel deprived as a result. In essence, I’ve traded career success and workplace achievement for a slightly clearer conscience and time — time to work to end militarism and break our collective addiction!", ], imgUrl: `${prefix}berrigan-mad-1.png`, link: `${prefix}berrigan-mad.html`, poem: false, mainImg: false, }, { title: "The Empire Is Going Down", "sub-title": "But What Isn't?", author: "Tom Engelhardt", description: [ "He’s the man of the hour (and you can choose your hour), win, lose, or draw. I mean, who can deny it? Certainly not the crowd at his debate with Kamala Harris that, as he reminded us recently, absolutely “went crazy” over what he had to say. (And it couldn’t matter less that the event had no live audience whatsoever.) In a sense, he isn’t wrong. After all, it’s still all too possible that, in a couple of weeks, he could once again be elected — yes! — president of the United States.", "Indeed, it’s as yet unclear whether American voters will decline The Donald, but what is increasingly clear — there can’t be a doubt on the subject — is that he himself is on the decline in a typically wild and mad sort of way. And yet he might indeed still be elected to lead (even if that hardly seems the right word anymore) this country. And what exactly does that tell us about this all-American world of ours?", ], imgUrl: `${prefix}engelhardt-empire-going-down.png`, link: `${prefix}engelhardt-empire-going-down.html`, poem: false, mainImg: false, }, { title: "Growing Old in the Age (And That’s the Appropriate Word!) of Trump", "sub-title": "A Call to (Old) Arms (and Legs)", author: "Robert Lipsyte", description: [ "After Joe Biden was shuffled off stage on trumped-up charges of senility, I started thinking seriously about the weaponization of old age in our world. Who gets credit for old age and who gets the boot?", "At 86, I share that affliction, pervasive among the richest, healthiest, and/or luckiest of us, who manage to hang around the longest. Donald Trump is, of course, in this same group, although much of America seems to be in selective denial about his diminishing capabilities. He was crushed recently in The Great Debate yet is generally given something of a mulligan for hubris, craziness, and unwillingness to prepare. But face it, unlike Joe B, he was simply too old to cut the mustard.", "It’s time to get real about old age as a condition that, yes, desperately needs and deserves better resources and reverence, but also careful monitoring and culling. Such thinking is not a bias crime. It’s not even an alert for ancient drivers on the roads. It’s an alarm for tolerating dangerous old politicians who spread lies and send youngsters to war, while we continue to willfully waste the useful experience and energy of all ages.", ], imgUrl: `${prefix}casey-stengel.jpg`, link: `${prefix}growing-old-lipsyte.html`, poem: false, mainImg: false, }, ], Anthroposophy: [ { title: "Anthroposophical Guidelines", "sub-title": "62 to 68", author: "Rudolf Steiner", description: [ "To the communications and considerations which are imparted to the members, I would like now to add something which can be appropriate for enhanced understanding of the Guidelines.", "Understanding of anthroposophical knowledge can be enhanced when the human soul is continually reminded of the relation between man and world.", "When a person directs his attention to the world in which he is born and dies, he is initially surrounded by a plenitude of sense impressions. He thinks about these sense impressions.", "When he is conscious of the following: “I have thoughts about what my senses reveal to me about the world”, he is ready for self-knowledge. He can say to himself: “I” live in my thoughts. The world gives me the opportunity to experience myself in thought. I find myself in my thoughts when I contemplate the world.", ], imgUrl: `${prefix}guidelines.jpg`, link: `${prefix}guidelines-62-68.html`, poem: false, mainImg: false, }, { title: "History and Actuality of Imperialism", "sub-title": "Lecture two of three, Dornach, Switzerland – February 21 1920", author: "Rudolf Steiner", description: [ "I have spoken to you about the historical origin of what today may be called imperialism, and you will have already noticed from what I said yesterday that it is essential to see how contemporary occurrences, which were once real factors in social life, are now merely leftovers from older times as far as reality is concerned. In olden times institutions and customs had their real meaning. To a certain extent they were realities. Realty has ended though. After passing through the stage of symbols, it has finally become a platitude.", " In general we live in the age of platitudes. It is necessary, however, to realize that platitudes need a certain soil from which to grow, and on the other hand they are a preparation for something which is yet to come in human evolution. If the old realities had not transformed themselves into platitudes, that is, into something existing yet illusional, then the new reality could not come into being. The new could not come if for example a visible god appeared in human form as happened in the last years of the Roman empire. For the Roman emperors were, at least according to their pretensions, still gods. Nero, at least hypothetically, was a real god in human form. In the course of time such things have lost their meaning. They have passed through the stage of symbols and have become mere platitudes.", " But the more things become platitudes, the more the terrain is prepared for a new reality – a spiritual life which is not derived from the sensible world, but from the super-sensible world; for a spiritual life which does not seek the divine-spiritual beings in human form, but as real, genuine beings amongst the visible people on earth. First must come the age of platitudes which must, however, be recognized as such. Then the development of a new spiritual life will be possible. In order to understand the contemporary world under such disagreeable conditions, one must direct one's attention toward the birth of a new spiritual life, fully conscious of the illusionary nature of what was formerly reality in human evolution.", ], imgUrl: "https://southerncrossreview.org/74/imperialism1.jpg", link: "https://southerncrossreview.org/74/imperialism2.html", poem: false, mainImg: false, }, ], "Children's Corner": [ { title: "The Magic Mound", "sub-title": "Chapter 17", author: "Frank Thomas Smith", description: [ "They waited until the star appeared at twilight and set out down the hill and back into the forest, where it was already dark. There was a sliver of moon in the sky now, but it provided little light. The forest was very different at night than it was during the day and not only because they could hardly see. Many animals awoke at night and made scary noises. Branches and leaves slapped at them and they tripped over unseen roots. Sergio was beginning to doubt the wisdom of traveling at night when an owl alighted on Platero's back. The donkey stood stock still, shook his head and stamped his hooves. The boys stopped and turned to see what was disturbing him. The owl glared at them with its bright yellow eyes, flapped its wings, screeched and flew off over their heads. Then it banked in a sharp right turn and disappeared from view.", '"What was that?" Divino asked, terrified.', '"It was only an owl," Sergio answered. He had also been frightened, but only until the owl flew off.', ], imgUrl: `${prefix}magic-mound-cover.png`, link: `${prefix}magic-mound-17.html`, poem: false, mainImg: false, }, { title: "The Talking Trees", "sub-title": "", author: "Frank Thomas Smith", description: [ "Nicolás lives in a small town in the north of the country. The house he lives in is on the outskirts of the town near a forest. When Nicolás looks out of his bedroom window he sees the forest. It has been there as long as he can remember. In fact, it is one of the first things he ever saw, after his mother of course. When he was a baby she used to hold him up so he could look out the window at the forest.", "When Nicolás was old enough to walk he went with his mother into the forest along a footpath, but only as far as the Talking Tree. The tree didn't talk to him then, naturally, because he wouldn't have understood. It was the tallest and thickest tree around and his mother told him it was an oak.", "*", "Alma lives in another small town in the north of the country. The house she lives in is on the outskirts of the town on the other side of the same forest. When Alma looks out her bedroom window she sees the forest. It has been there as long as she can remember. In fact, it is one of the first things she ever saw, after her father of course. When she was a baby he used to hold her up so she could look out the window at the forest.", ], imgUrl: "https://southerncrossreview.org/151/talking-trees.jpg", link: "https://southerncrossreview.org/151/talking-trees-english.html", poem: false, mainImg: false, }, { title: "Grandma Butterfly", "sub-title": "", author: "Frank Thomas Smith", description: [ "Grown-ups called her Doña Margarita. She had come to Argentina from Europe many years ago. It was said that she had lost her whole family in the war. That’s why she had no grandchildren. The children on the block used to call her Grandma because she was like a grandmother to us all.", "She worked as an operator for the telephone company and almost every day she called one of us from her job and gave us a message from God: that we be good, that we obey our parents, that we love and help one another – that kind of thing. She didn’t say they were messages from God, but my friend Agustina, who knows more about those things, said they must be and the rest of us were sure that she was right. After Grandma retired she didn’t call us any more because she would have had to pay for the calls and she didn’t have much money.", "On her last day at work I was the one she called: “Hello, Carolina. It’s me, Grandma.”", "She didn’t need to say who she was because I recognized her voice immediately. Somehow I knew that what she was going to tell me was very important, so I grasped the phone with both hands as though I could hear her better that way.", ], imgUrl: "https://southerncrossreview.org/148/butterfly-lady.jpg", link: "https://southerncrossreview.org/148/grandma.html", poem: false, mainImg: false, }, ], Fiction: [ { title: "To Fly Free", "sub-title": "", author: "Paul Holler", description: [ "On the last day of the first month of the second year of the reign of Solon, I and others of this house mourned the death of our kurios, Jadmon. He was a good man. He treated everyone in his charge well, whether they were free or enslaved.", "On the day of his passing, we gathered in his room, as he had asked. He spoke to us one by one, giving each of us advice by which to remember him. Jadmon was a wise man. He gave us wise counsel.", "Aesopos was the only slave standing by his death bed. Jadmon often relied on his advice. It seemed only fitting that he would want to say goodbye to Aesopos before he left this world. We did not know that he had something more to say.", "“Aesopos, come close. And you...,” he said to me, “you come close as well. I want you to be a witness to what I am about to do.”", ], imgUrl: `${prefix}holler-to-fly-free.jpg`, link: `${prefix}holler-to-fly-free.html`, poem: false, mainImg: false, }, { title: "The Queen of Spades", "sub-title": "", author: "Alexander Pushkin", description: [ "Lisaveta was just taking off her shawl and her bonnet, when the Countess sent for her. She had had the horses put in again.", "While two footmen were helping the old lady into the carriage, Lisaveta saw the young officer at her side. She felt him take her by the hand, lost her head, and found, when the young officer had walked away, that he had left a paper between her fingers. She hastily concealed it in her glove.", "During the whole of the drive she neither saw nor heard. When they were in the carriage together the Countess was in the habit of questioning Lisaveta perpetually.", '"Who is that man that bowed to us? What is the name of this bridge? What is there written on that signboard?"', ], imgUrl: `${prefix}queen-of-spades-3-4.jpg`, link: `${prefix}queen-of-spades-3-4.html`, poem: false, mainImg: false, }, { title: "The Exchange", "sub-title": "", author: "Frank Thomas Smith", description: [ "Airplanes seldom have to circle the Buenos Aires International airport and descend through complex traffic patterns. They start losing altitude somewhere over Uruguay, cross the mud-colored mouth of the Rio de la Plata, pass to the east of the sprawling city and glide straight onto a waiting runway.", "Joe Truman took a taxi from the airport to downtown Buenos Aires and registered at the Sheraton. A month previously two guests were blown out of their rooms by a terrorist bomb and since then the hotel was almost empty. Tourists no longer included Argentina in their itineraries and other visitors took the precaution of staying at less ostentatious hotels. Truman showered and changed into jeans and lay on the bed to smoke a cigarette. He was tired from the long flight and wanted to sleep, but first he had to call Paula Barrentos. He crushed out the cigarette, lighted another and dialed her number, which he knew by heart. She answered after the first ring. “It’s Joe, Paula.”", ], imgUrl: `${prefix}the-exchange.jpg`, link: `${prefix}the-exchange.html`, poem: false, mainImg: false, }, { title: "For Esmé With Love and Squalor", "sub-title": "", author: "J.D. Salinger", description: [ "Just recently, by air mail, I received an invitation to a wedding that will take place in England on April 18th. It happens to be a wedding I'd give a lot to be able to get to, and when the invitation first arrived, I thought it might just be possible for me to make the trip abroad, by plane, expenses be hanged. However, I've since discussed the matter rather extensively with my wife, a breathtakingly levelheaded girl, and we've decided against it--for one thing, I'd completely forgotten that my mother-in-law is looking forward to spending the last two weeks in April with us. I really don't get to see Mother Grencher terribly often, and she's not getting any younger. She's fifty-eight. (As she'd be the first to admit.)", "All the same, though, wherever I happen to be I don't think I'm the type that doesn't even lift a finger to prevent a wedding from flatting. Accordingly, I've gone ahead and jotted down a few revealing notes on the bride as I knew her almost six years ago. If my notes should cause the groom, whom I haven't met, an uneasy moment or two, so much the better. Nobody's aiming to please, here. More, really, to edify, to instruct.", "In April of 1944, I was among some sixty American enlisted men who took a rather specialized pre-Invasion training course, directed by British Intelligence, in Devon, England. And as I look back, it seems to me that we were fairly unique, the sixty of us, in that there wasn't one good mixer in the bunch. We were all essentially letter-writing types, and when we spoke to each other out of the line of duty, it was usually to ask somebody if he had any ink he wasn't using. When we weren't writing letters or attending classes, each of us went pretty much his own way. Mine usually led me, on clear days, in scenic circles around the countryside. Rainy days, I generally sat in a dry place and read a book, often just an axe length away from a ping-pong table.", ], imgUrl: "https://southerncrossreview.org/80/esme-sgt.jpg", link: "https://southerncrossreview.org/80/salinger-esme.htm", poem: false, mainImg: false, }, { title: "The Purloined Poem", "sub-title": "", author: "Frank Thomas Smith", description: [ "I never asked my friend, Peter Product, the origin of his family name. I just assumed that it was shortened from one of those long, unpronounceable Polish or Czech names. In any case it raised eyebrows and, often, grins. Pete was a poet, a profession not very amenable to earning money, so he moonlighted as an assistant insurance underwriter at Encore Underwriters, Inc., 66 Wall Street, New York City, which is where I met him.", "One day he hit the poetic jackpot when he wrote an epic poem with the title “Ode to the Brooklyn Bridge”, dedicated lovingly to María, and had it published in the The New Yorker. Getting something published in that magazine was enough to win Brooklyn’s 3-B (Best Breast-Beating) Gold Medal, so Peter Product’s reputation went into orbit. Simon and Schuster approached him directly (he had no agent yet) for a book of his poems. S & S knew that they would gain no profit, but publishing poetry is good for a publishing house’s reputation. Pete had a pendrive full of his life’s work, none of which, by the way, approached the poetic quality and heartfelt metaphoric feeling of “Ode”. He sent it all to S & S, who edited it as best they could and issued it with the title Ode to the Brooklyn Bridge – and other verses by Peter Product.", "In the real world not even a successful poet can live on the royalties from one book of poetry, so Pete kept his job at Encore, for a while. His girlfriend – María, a dark-haired Argentine beauty – worked as a secretary at Encore, actually my secretary. I was a licensed insurance underwriter, Peter Product was one of my assistants. My section was growing and making a lot of money. Most of the other sections used the secretary pool, but I had the most important places in the country to cover: New York City and Kentucky. The importance of NYC is obvious, but Kentucky? It’s the whisky, stupid. Whisky distilleries were and probably still are great fire risks, and their contents valuable. So risky and so valuable that no insurance company would dare to cover them alone. That’s where Encore Underwriters came in. We would distribute the risk over various companies, even including Lloyd’s of London. The latter, the biggest insurance company in the world, would automatically accept fifty percent of any risk if our American companies combined would take the other fifty percent." ], imgUrl: "https://southerncrossreview.org/140/bklyn-bridge.jpg", link: "https://southerncrossreview.org/140/fts-purloined-poem.html", poem: false, mainImg: false, }, ], "Social Science": [ { title: "Favela Children", "sub-title": "Chapter 14", author: "Ute Creamer", description: [ "ORIGINS", 'Most favela dwellers come from the north, from Bahia, Pernambuco, Ceará, Minas Gerais. Many from still farther away. Most find it a thousand times better here then there, even if they must live in a favela. "Here at least we eat. There you plant in the scorching heat and then comes the harvest. You harvest, but the buyer pays a miserable sum." Or: "You plant, it doesn\'t rain, the crop is ruined." "We suffered there, and when the harvest brought nothing in I swore never to plant again; two days later we left with our belongings and children, a two-day bus trip." That\'s not so much though; most leave by train, which takes up to ten days, depending on the distance.', 'They usually leave their traditions and customs behind. Once in Sao Paulo they seldom dance the quadrilla, hardly any folk-songs are sung; bumba meu moi (meu boi: "my ox", a kind of religious theatre and procession) or Folia dos Reis (a musical play about the Three Wise Men), are hardly ever performed. Many are ashamed of these things and think that in the city they must be "modern" and sing, dance and celebrate differently. That\'s why life in the favela, almost everywhere in the city in fact, is so barren and monotonously gray. But that\'s also why most of them still harbor a silent nostalgia for their "terra", and many want to go back when they\'re old to live in peace on their savings.', ], imgUrl: `${prefix}favela-cover.jpg`, link: `${prefix}favela-children-14.html`, poem: false, mainImg: false, }, ], Poetry: [ { title: "Reincarnation Blues", "sub-title": "Canto 1", author: "Frank Thomas Smith", description: [ "Twas a distant dance ago,
More real than a writer's rhyme,
Longer than you'll ever know,
Little to do with what's called time.", "If a century or two is time at all,
Then dream of it before you go,
Then dance to it spring and fall,
For when you go you'll never know.", "You think there's nothing at all to lose.
You better think again, baby,
And heed the Reincarnation Blues:
That death's a-dawning and that ain't maybe.", ], imgUrl: `${prefix}reincarnation-blues-1.jpg`, link: `${prefix}reincarnation-blues-1.html`, poem: true, mainImg: false, }, ], Memoir: [ { title: "Exile’s End", "sub-title": "", author: "Frank Thomas Smith", description: [ "I roved around for a while in Brooklyn, had a couple of jobs delivering newspapers (The Brooklyn Eagle) and meat and vegetables (Abe & Ben's Kosher Market), but finally decided I should get more serious, so looked up the help wanted ads in the newspapers. An employment agency sent me to an insurance company to apply for a job as “assistant underwriter.” Besides not knowing anything about insurance, I didn't even know what an “underwriter” is, except that it sounds like underwater. I asked the employment agency guy, but he didn't know either. He told me not to worry about it, that the General Cover company was desperate for a young white All-American male, relatively intelligent, with a high school education, no experience necessary, assistant underwriter trainee, and I filled the bill, at least according to him. “They'll tell you what an underwriter is, and you can tell me.”", "General Cover Underwriters occupied a whole floor in a skyscraper on Wall Street. I was interviewed first by a vice- president, then by a supervisor named George Fellows, who asked me three easy questions and told me I was hired, starting immediately. He turned me over to Bob, who shook hands and sat me, almost physically, at “my” desk, complete with swivel chair, blotter, telephone and a device I couldn't identify. It turned out to be a voice recorder that I used to write letters. Once a few letters were recorded, I ejected the recording and carried it down to the other end of the floor to the typing pool occupied by a dozen or so women, mostly young, because female ambition those days seldom amounted to more than getting married and staying home to mind the children.", ], imgUrl: `${prefix}exiles-end-3-1.png`, link: `${prefix}exiles-end-3.html`, poem: false, mainImg: false, }, ], "Book Review": [ { title: "Love in the Life of Spies Book Review", "sub-title": "", author: "Frank Thomas Smith", description: [ "As is easily discernible by its title, this book is about love, life and...well...spies. And the living people who do the loving, living and spying. And it's published by AnthroposophicalPublications.org. What? Don't worry, you'll soon find out why.", "We begin in East Berlin during the Cold War and focus immediately on Judith Baumgartner when she is told by her spymaster boss that she is to move to West Berlin as a false defector, married to a young officer in the East German army, whom she meets for the first time then and there. Judith is a loyal communist, and does as she is told, and does her spying well.", "She is one end of the love-story bookcase. The other end is a young American named Marvin Jacks, from Brooklyn, who is drafted into the U.S. Army, does basic training in Kentucky, and is then sent to the Army Language School in Monterey, California to learn Russian, just in case that rather difficult language is ever needed. He is then sent to Germany and asigned to Military Intelligence, where German linguists are needed, not Russian ones. Marvin, the other book-end, is a loyal American, but not much of a spy.", ], imgUrl: `${prefix}love-in-the-life-book-review.jpg`, link: `${prefix}love-in-the-life-book-review.html`, poem: false, mainImg: false, }, ], }; const articlesKeys = Object.keys(articles); // Uncheck all other hidden checkboxes when one is checked // colapses nav-menu dropdowns when a new one is expanded function createNavMenu(navMenuElement) { function createMenuLinks() { articlesKeys.forEach((category) => { // create dropdown menu if there is more than one article in category if (articles[category].length === 1) { if (!articles[category][0]["title"]) return; const div = document.createElement("div"); const p = document.createElement("p"); const title = articles[category][0]["title"] .toLowerCase() .replace(/[^a-zA-Z0-9]/g, ""); p.className = "nav-menu-links"; p.innerText = category; p.dataset.title = title; div.appendChild(p); navMenuElement.appendChild(div); } else if (articles[category].length > 1) { const content = document .querySelector("[data-dropdown-template]") .content.cloneNode(true); const hiddenInput = content.querySelector("[data-hidden-input]"); const label = content.querySelector("[data-label]"); const title = content.querySelector("[data-title]"); const list = content.querySelector("[data-list]"); hiddenInput.id = `${category}-input`; label.htmlFor = hiddenInput.id; title.innerHTML = `${category} ▼`; articles[category].forEach((article) => { const li = document.createElement("li"); const title = article["title"] .replace(/[^a-zA-Z0-9]/g, "") .toLowerCase(); li.className = "nav-menu-links"; li.id = article["title"]; li.innerText = `${article.title} - ${article.author}`; li.dataset.title = title; list.appendChild(li); }); navMenuElement.appendChild(content); } }); const createSingleLink = (title, id) => { const div = document.createElement("div"); const p = document.createElement("p"); p.className = "nav-menu-links"; p.innerText = title; p.dataset.title = id; div.appendChild(p); navMenuElement.appendChild(div); }; //createSingleLink("Letters to the Editor", "pic-nav-menu"); createSingleLink("Other Sections", "pic-nav-menu"); createSingleLink("Subscribe", "subscribe"); } createMenuLinks(); //event listeners const navmenuLinkArray = Array.from( navMenuElement.querySelectorAll(".nav-menu-links"), ); const scrollToTarget = (target) => { const headerOffset = 120; const elementPositon = target.getBoundingClientRect().top; const offsetPosition = elementPositon + window.pageYOffset - headerOffset; window.scrollTo({ top: offsetPosition, behavior: "smooth", }); }; navmenuLinkArray.forEach((link) => { link.addEventListener("click", () => { let article = document.querySelector(`#${link.dataset.title}`); scrollToTarget(article); if (menuBar.dataset.opened === "true") { menuBar.dataset.opened = "false"; } }); }); const navChekboxes = Array.from( document.querySelectorAll(".nav-hidden-inputs"), ); navChekboxes.forEach((input) => { input.addEventListener("change", () => { navChekboxes.forEach((element) => { console.log("hi"); if (element === input) return; element.checked = false; }); }); }); } function checkAndReduce() { const title = mainPage.querySelector("h2"); if (title.innerText.length > 20) { title.style.fontSize = "2.5em"; } } function appendPicNavMenu() { const picNavDiv = document .querySelector("[data-pic-nav]") .content.cloneNode(true); const nav = picNavDiv.querySelector("nav"); nav.id = "pic-nav-menu"; const subscribeDiv = document .querySelector("[data-subscribe-div]") .content.cloneNode(true); const subscribe = subscribeDiv.querySelector("div"); subscribe.id = "subscribe"; const firstChild = document.querySelector("#main-div").lastElementChild; const navDiv = document.createElement("div"); navDiv.appendChild(picNavDiv); navDiv.appendChild(subscribe); firstChild.insertAdjacentElement("afterend", navDiv); } function createArticlePeek(object) { const keys = Object.keys(object); keys.forEach((key) => { if (keys.indexOf(key) !== 0) { const categoryTitle = document.createElement("h1"); categoryTitle.innerText = key; categoryTitle.className = "category-title"; mainPage.appendChild(categoryTitle); } object[key].forEach((article) => { const articleDiv = document .querySelector("[data-article-template]") .content.cloneNode(true); const articleInnerDiv = articleDiv.querySelector("article"); const div1 = articleDiv.querySelector("div"); div1.cloneNode(true); const titleElement = articleDiv.querySelector("h2"); const author = articleDiv.querySelector("h1"); const subTitle = articleDiv.querySelector("h3"); const description = articleDiv.querySelector( "[data-article-description]", ); const img = articleDiv.querySelector("[data-article-img]"); const linkContainer = articleDiv.querySelector("[data-link-container]"); const link = articleDiv.querySelector("[data-article-link]"); articleInnerDiv.id = article["title"] .toLowerCase() .replace(/[^a-zA-Z0-9]/g, ""); titleElement.innerHTML = article["title"]; author.innerHTML = article["author"]; if (article["sub-title"] && article["sub-title"].length !== 0) { subTitle.innerText = article["sub-title"]; } img.src = article["imgUrl"]; linkContainer.style.display = "flex"; linkContainer.style.width = "100%"; linkContainer.style.justifyContent = "center"; link.href = article["link"]; link.style.fontSize = "130%"; link.style.fontWeight = "500"; // Special Atributes for "Featured Art" if (article["mainImg"]) { // doubleFeaturedArt({ // div1, // div2, // titleElement, // subTitle, // articleInnerDiv, // img, // description, // }); titleElement.style.marginBottom = "1em"; link.style.display = "none"; img.style.maxWidth = "40%"; img.style.maxHeight = "100%"; img.style.marginLeft = "auto"; img.style.marginRight = "auto"; img.style.marginBottom = "1em"; img.style.float = "none"; img.insertAdjacentElement("afterend", author); } // if its a poem, make the div and link float (so the text doesn't go under the img) if (article["poem"]) { description.style.float = "left"; link.style.clear = "left"; link.style.float = "right"; } let i = 1; const className = article["title"] .replace(/[^a-zA-Z0-9]/g, "") .toLowerCase(); description.id = `${className}-paragraphs-div`; link.id = `${className}-main-link`; article["description"].forEach((descriptionParagraph) => { const paragraph = document.createElement("p"); paragraph.innerHTML = descriptionParagraph; paragraph.className = `${className}-paragraph-${i}`; description.appendChild(paragraph); i++; }); mainPage.appendChild(articleDiv); checkAndReduce(); }); }); appendPicNavMenu(); } function mobilePortrait() { if (previousStylesheet.dataset.stylesheet == "mobile") return pageName.innerHTML = "Menu"; //create elements in mobile-navbar createNavMenu(navMobile); //get modify input and label "for" in mobile nav const navMobileInputs = Array.from(navMobile.querySelectorAll("input")); const navMobileLabels = Array.from(navMobile.querySelectorAll("label")); navMobileInputs.forEach(input => { input.id += "-mobile"; }); navMobileLabels.forEach(label => { label.htmlFor += "-mobile"; }); //append elements topBar.appendChild(navMobile); //create observer functions let observerMobileMenu = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.type == "attributes") { if (menuBar.dataset.opened == "true") { navMobile.classList.add("open"); menuButton.classList.add("close"); } else { navMobile.classList.remove("open"); menuButton.classList.remove("close"); } } }); }); //create menu open button - three lines for (let i = 0; i < 3; i++) { const menuButtonLine = document.createElement("div"); menuButtonLine.className = "menu-button-line"; menuButton.appendChild(menuButtonLine); } //give new class to desktop menu navMobile.className = "nav-menu menu-mobile desktop-hide"; //observe for changes observerMobileMenu.observe(menuBar, { attributes: true, }); //menu button listener menuButton.addEventListener("click", () => { if (menuBar.dataset.opened === "false") { menuBar.dataset.opened = "true"; } else { menuBar.dataset.opened = "false"; } }); previousStylesheet.dataset.stylesheet = "mobile"; // musicLinks.innerHTML = "Words and Music" } //scroll to top on refresh window.onbeforeunload = function () { window.scrollTo(0, 0); }; //create elements for data-attributes // function to set data atributes acording to screen width function setStylesheetDataAttr() { if (screen.width <= 650) { if (stylesheetSelector.dataset.stylesheet == "mobile") return stylesheetSelector.dataset.stylesheet = "mobile"; } else if (screen.width >= 651 && screen.width < 1200) { if (stylesheetSelector.dataset.stylesheet == "medium") return stylesheetSelector.dataset.stylesheet = "medium"; } else { if (stylesheetSelector.dataset.stylesheet == "desktop") return stylesheetSelector.dataset.stylesheet = "desktop"; } } //execute on rezise window.addEventListener("resize", () => { setStylesheetDataAttr(); }); //ovserve changes on data-attributes and execute functions let observerStylesheetAttr = new MutationObserver(mutations => { mutations.forEach(mutation => { if (mutation.type == "attributes") { if (stylesheetSelector.dataset.stylesheet === "mobile") { mobilePortrait(); } } }); }); observerStylesheetAttr.observe(stylesheetSelector, { attributes: true, }); //onload functions window.addEventListener("load", () => { setStylesheetDataAttr(); mainPage.offsetTop; introScreen.classList.add("fade-out"); setTimeout(() => { introScreen.style.display = "none"; document.querySelector("html").style.overflowY = "visible"; lightDarkWarning.classList.remove("desktop-hide", "mobile-hide"); }, 1000); //local storage - if exists change theme if (!localStorage.getItem("style")) return lightDarkWarning.style.display = "none"; const lightOrDark = localStorage.getItem("style"); if (lightOrDark === "dark") { stylesheet.href = `${prefix}css/dark.css`; } if (screen.width <= 650) { mobilePortrait(); } }); //remove light-and-dark warning onclick lightDarkWarning.addEventListener("click", () => { lightDarkWarning.style.display = "none"; }); // Toggle Stylesheets toggleStylesheetLightButton.addEventListener("click", () => { stylesheet.href = `${prefix}css/light.css`; localStorage.setItem("style", "light"); }); toggleStylesheetDarkButton.addEventListener("click", () => { stylesheet.href = `${prefix}css/dark.css`; localStorage.setItem("style", "dark"); }); // Sticky navbar const stickyFunc = () => { const limit = mainPage.offsetTop; const navCol = document.querySelector("#sticky-div "); if (window.pageYOffset + 50 >= limit) { navCol.classList.add("fixed-nav-col"); } else { navCol.classList.remove("fixed-nav-col"); } }; //observer function, scroll-in abnormal logo when footer is 50% visible let notFirstTime = 0; const observer = new IntersectionObserver( entries => { if (entries[0].isIntersecting === true) { if (notFirstTime > 0) return abnormalLogoStylesheet.href = `${prefix}css/logo2.css`; abnormalLogo.classList.add("logo-animation"); notFirstTime++; } }, { threshold: [0.5] } ); observer.observe(footerAbnormal); createNavMenu(navMenu); createArticlePeek(articles); window.onscroll = () => { stickyFunc(); }; })();