diff --git a/.gitignore b/.gitignore index 73e25e6..87e272b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .hugo_build.lock /resources/_gen public +node_modules diff --git a/.gitmodules b/.gitmodules index 5154615..f95a049 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "themes/ananke"] - path = themes/ananke - url = https://github.com/theNewDynamic/gohugo-theme-ananke.git +[submodule "themes/adritian-free-hugo-theme"] + path = themes/adritian-free-hugo-theme + url = https://github.com/zetxek/adritian-free-hugo-theme.git diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..2e2111d --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,24 @@ +/* You can customize theme styles here */ +b, +strong { + font-weight: bold; +} + +html body ::selection{ + background-color:#6897bb; + color:#fff; +} + +.header .navbar-brand span:first-child{ + color: #6897bb; + margin-right: 0.2em; +} + +.header .container{ + padding-left: 10px; +} + +.profile-image img{ + border-radius: 50%; +} + diff --git a/assets/images/showcase/showcase-mobile.jpg b/assets/images/showcase/showcase-mobile.jpg new file mode 100644 index 0000000..67120f1 Binary files /dev/null and b/assets/images/showcase/showcase-mobile.jpg differ diff --git a/assets/images/showcase/showcase.png b/assets/images/showcase/showcase.png new file mode 100644 index 0000000..4a67c65 Binary files /dev/null and b/assets/images/showcase/showcase.png differ diff --git a/assets/images/showcase/showcase@2x.png b/assets/images/showcase/showcase@2x.png new file mode 100644 index 0000000..c5ad47a Binary files /dev/null and b/assets/images/showcase/showcase@2x.png differ diff --git a/content/en/_index.md b/content/en/_index.md deleted file mode 100644 index 43b4a38..0000000 --- a/content/en/_index.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Ananke: a Hugo Theme (testing)" - -description: "The last theme you'll ever need. Maybe." -# 1. To ensure Netlify triggers a build on our exampleSite instance, we need to change a file in the exampleSite directory. -theme_version: '2.8.2' -cascade: - featured_image: '/images/gohugo-default-sample-hero-image.jpg' ---- -Welcome to my blog with some of my work in progress. I've been working on this book idea. You can read some of the chapters below. - -hola raul -``` \ No newline at end of file diff --git a/content/en/about/index.md b/content/en/about/index.md deleted file mode 100644 index 415e83e..0000000 --- a/content/en/about/index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "About" -description: "A few years ago, while visiting or, rather, rummaging about Notre-Dame, the author of this book found, in an obscure nook of one of the towers, the following word, engraved by hand upon the wall: —ANANKE." -featured_image: '/images/Victor_Hugo-Hunchback.jpg' -menu: - main: - weight: 1 ---- -{{< figure src="/images/Victor_Hugo-Hunchback.jpg" title="Illustration from Victor Hugo et son temps (1881)" >}} - -_The Hunchback of Notre-Dame_ (French: _Notre-Dame de Paris_) is a French Romantic/Gothic novel by Victor Hugo, published in 1831. The original French title refers to Notre Dame Cathedral, on which the story is centered. English translator Frederic Shoberl named the novel The Hunchback of Notre Dame in 1833 because at the time, Gothic novels were more popular than Romance novels in England. The story is set in Paris, France in the Late Middle Ages, during the reign of Louis XI. diff --git a/content/en/contact.md b/content/en/contact.md deleted file mode 100644 index e7b9779..0000000 --- a/content/en/contact.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Contact -featured_image: '' -omit_header_text: true -description: We'd love to hear from you -type: page -menu: main - ---- - - -This is an example of a custom shortcode that you can put right into your content. You will need to add a form action to the shortcode to make it work. Check out [Formspree](https://formspree.io/) for a simple, free form service. - -{{< form-contact action="https://example.com" >}} diff --git a/content/en/post/_index.md b/content/en/post/_index.md deleted file mode 100644 index 434c1e8..0000000 --- a/content/en/post/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Articles" -date: 2017-03-02T12:00:00-05:00 ---- -Articles are paginated with only three posts here for example. You can set the number of entries to show on this page with the "pagination" setting in the config file. diff --git a/content/en/post/chapter-1.md b/content/en/post/chapter-1.md deleted file mode 100644 index c2099d0..0000000 --- a/content/en/post/chapter-1.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -date: 2017-04-09T10:58:08-04:00 -description: "The Grand Hall" -featured_image: "/images/Pope-Edouard-de-Beaumont-1844.jpg" -tags: ["scene"] -title: "TEST Chapter I: The Grand Hall" ---- - -lorem ipsum - -Three hundred and forty-eight years, six months, and nineteen days ago -to-day, the Parisians awoke to the sound of all the bells in the triple -circuit of the city, the university, and the town ringing a full peal. - -The sixth of January, 1482, is not, however, a day of which history has -preserved the memory. There was nothing notable in the event which thus -set the bells and the bourgeois of Paris in a ferment from early morning. -It was neither an assault by the Picards nor the Burgundians, nor a hunt -led along in procession, nor a revolt of scholars in the town of Laas, nor -an entry of “our much dread lord, monsieur the king,” nor even a pretty -hanging of male and female thieves by the courts of Paris. Neither was it -the arrival, so frequent in the fifteenth century, of some plumed and -bedizened embassy. It was barely two days since the last cavalcade of that -nature, that of the Flemish ambassadors charged with concluding the -marriage between the dauphin and Marguerite of Flanders, had made its -entry into Paris, to the great annoyance of M. le Cardinal de Bourbon, -who, for the sake of pleasing the king, had been obliged to assume an -amiable mien towards this whole rustic rabble of Flemish burgomasters, and -to regale them at his Hôtel de Bourbon, with a very “pretty morality, -allegorical satire, and farce,” while a driving rain drenched the -magnificent tapestries at his door. - -What put the “whole population of Paris in commotion,” as Jehan de Troyes -expresses it, on the sixth of January, was the double solemnity, united -from time immemorial, of the Epiphany and the Feast of Fools. - -On that day, there was to be a bonfire on the Place de Grève, a maypole at -the Chapelle de Braque, and a mystery at the Palais de Justice. It had -been cried, to the sound of the trumpet, the preceding evening at all the -cross roads, by the provost’s men, clad in handsome, short, sleeveless -coats of violet camelot, with large white crosses upon their breasts. - -So the crowd of citizens, male and female, having closed their houses and -shops, thronged from every direction, at early morn, towards some one of -the three spots designated. - -Each had made his choice; one, the bonfire; another, the maypole; another, -the mystery play. It must be stated, in honor of the good sense of the -loungers of Paris, that the greater part of this crowd directed their -steps towards the bonfire, which was quite in season, or towards the -mystery play, which was to be presented in the grand hall of the Palais de -Justice (the courts of law), which was well roofed and walled; and that -the curious left the poor, scantily flowered maypole to shiver all alone -beneath the sky of January, in the cemetery of the Chapel of Braque. - -The populace thronged the avenues of the law courts in particular, because -they knew that the Flemish ambassadors, who had arrived two days -previously, intended to be present at the representation of the mystery, -and at the election of the Pope of the Fools, which was also to take place -in the grand hall. - -It was no easy matter on that day, to force one’s way into that grand -hall, although it was then reputed to be the largest covered enclosure in -the world (it is true that Sauval had not yet measured the grand hall of -the Château of Montargis). The palace place, encumbered with people, -offered to the curious gazers at the windows the aspect of a sea; into -which five or six streets, like so many mouths of rivers, discharged every -moment fresh floods of heads. The waves of this crowd, augmented -incessantly, dashed against the angles of the houses which projected here -and there, like so many promontories, into the irregular basin of the -place. In the centre of the lofty Gothic* façade of the palace, the grand -staircase, incessantly ascended and descended by a double current, which, -after parting on the intermediate landing-place, flowed in broad waves -along its lateral slopes,—the grand staircase, I say, trickled -incessantly into the place, like a cascade into a lake. The cries, the -laughter, the trampling of those thousands of feet, produced a great noise -and a great clamor. From time to time, this noise and clamor redoubled; -the current which drove the crowd towards the grand staircase flowed -backwards, became troubled, formed whirlpools. This was produced by the -buffet of an archer, or the horse of one of the provost’s sergeants, which -kicked to restore order; an admirable tradition which the provostship has -bequeathed to the constablery, the constablery to the _maréchaussée_, -the _maréchaussée_ to our _gendarmeri_ of Paris. diff --git a/content/en/post/chapter-2.md b/content/en/post/chapter-2.md deleted file mode 100644 index b3c7d4f..0000000 --- a/content/en/post/chapter-2.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -date: 2017-04-10T11:00:59-04:00 -description: "Pierre Gringoire" -featured_image: "" -tags: [] -title: "Chapter II: Pierre Gringoire" ---- - -Nevertheless, as be harangued them, the satisfaction and admiration -unanimously excited by his costume were dissipated by his words; and when -he reached that untoward conclusion: “As soon as his illustrious eminence, -the cardinal, arrives, we will begin,” his voice was drowned in a thunder -of hooting. - -“Begin instantly! The mystery! the mystery immediately!” shrieked the -people. And above all the voices, that of Johannes de Molendino was -audible, piercing the uproar like the fife’s derisive serenade: “Commence -instantly!” yelped the scholar. - -“Down with Jupiter and the Cardinal de Bourbon!” vociferated Robin -Poussepain and the other clerks perched in the window. - -“The morality this very instant!” repeated the crowd; “this very instant! -the sack and the rope for the comedians, and the cardinal!” - -Poor Jupiter, haggard, frightened, pale beneath his rouge, dropped his -thunderbolt, took his cap in his hand; then he bowed and trembled and -stammered: “His eminence—the ambassadors—Madame Marguerite of -Flanders—.” He did not know what to say. In truth, he was afraid of -being hung. - -Hung by the populace for waiting, hung by the cardinal for not having -waited, he saw between the two dilemmas only an abyss; that is to say, a -gallows. - -Luckily, some one came to rescue him from his embarrassment, and assume -the responsibility. - -An individual who was standing beyond the railing, in the free space -around the marble table, and whom no one had yet caught sight of, since -his long, thin body was completely sheltered from every visual ray by the -diameter of the pillar against which he was leaning; this individual, we -say, tall, gaunt, pallid, blond, still young, although already wrinkled -about the brow and cheeks, with brilliant eyes and a smiling mouth, clad -in garments of black serge, worn and shining with age, approached the -marble table, and made a sign to the poor sufferer. But the other was so -confused that he did not see him. The new comer advanced another step. - -“Jupiter,” said he, “my dear Jupiter!” - -The other did not hear. - -At last, the tall blond, driven out of patience, shrieked almost in his -face,— - -“Michel Giborne!” - -“Who calls me?” said Jupiter, as though awakened with a start. - -“I,” replied the person clad in black. - -“Ah!” said Jupiter. - -“Begin at once,” went on the other. “Satisfy the populace; I undertake to -appease the bailiff, who will appease monsieur the cardinal.” - -Jupiter breathed once more. - -“Messeigneurs the bourgeois,” he cried, at the top of his lungs to the -crowd, which continued to hoot him, “we are going to begin at once.” - -“_Evoe Jupiter! Plaudite cives_! All hail, Jupiter! Applaud, -citizens!” shouted the scholars. - -“Noel! Noel! good, good,” shouted the people. - -The hand clapping was deafening, and Jupiter had already withdrawn under -his tapestry, while the hall still trembled with acclamations. - -In the meanwhile, the personage who had so magically turned the tempest -into dead calm, as our old and dear Corneille puts it, had modestly -retreated to the half-shadow of his pillar, and would, no doubt, have -remained invisible there, motionless, and mute as before, had he not been -plucked by the sleeve by two young women, who, standing in the front row -of the spectators, had noticed his colloquy with Michel Giborne-Jupiter. - -“Master,” said one of them, making him a sign to approach. “Hold your -tongue, my dear Liénarde,” said her neighbor, pretty, fresh, and very -brave, in consequence of being dressed up in her best attire. “He is not a -clerk, he is a layman; you must not say master to him, but messire.” diff --git a/content/en/post/chapter-3.md b/content/en/post/chapter-3.md deleted file mode 100644 index cd29cee..0000000 --- a/content/en/post/chapter-3.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -date: 2017-04-11T11:13:32-04:00 -description: "Monsieur the Cardinal" -featured_image: "" -tags: [] -title: "Chapter III: Monsieur the Cardinal" ---- - -Poor Gringoire! the din of all the great double petards of the Saint-Jean, -the discharge of twenty arquebuses on supports, the detonation of that -famous serpentine of the Tower of Billy, which, during the siege of Paris, -on Sunday, the twenty-sixth of September, 1465, killed seven Burgundians -at one blow, the explosion of all the powder stored at the gate of the -Temple, would have rent his ears less rudely at that solemn and dramatic -moment, than these few words, which fell from the lips of the usher, “His -eminence, Monseigneur the Cardinal de Bourbon.” - -It is not that Pierre Gringoire either feared or disdained monsieur the -cardinal. He had neither the weakness nor the audacity for that. A true -eclectic, as it would be expressed nowadays, Gringoire was one of those -firm and lofty, moderate and calm spirits, which always know how to bear -themselves amid all circumstances (_stare in dimidio rerum_), and who -are full of reason and of liberal philosophy, while still setting store by -cardinals. A rare, precious, and never interrupted race of philosophers to -whom wisdom, like another Ariadne, seems to have given a clew of thread -which they have been walking along unwinding since the beginning of the -world, through the labyrinth of human affairs. One finds them in all ages, -ever the same; that is to say, always according to all times. And, without -reckoning our Pierre Gringoire, who may represent them in the fifteenth -century if we succeed in bestowing upon him the distinction which he -deserves, it certainly was their spirit which animated Father du Breul, -when he wrote, in the sixteenth, these naively sublime words, worthy of -all centuries: “I am a Parisian by nation, and a Parrhisian in language, -for _parrhisia_ in Greek signifies liberty of speech; of which I have -made use even towards messeigneurs the cardinals, uncle and brother to -Monsieur the Prince de Conty, always with respect to their greatness, and -without offending any one of their suite, which is much to say.” - -There was then neither hatred for the cardinal, nor disdain for his -presence, in the disagreeable impression produced upon Pierre Gringoire. -Quite the contrary; our poet had too much good sense and too threadbare a -coat, not to attach particular importance to having the numerous allusions -in his prologue, and, in particular, the glorification of the dauphin, son -of the Lion of France, fall upon the most eminent ear. But it is not -interest which predominates in the noble nature of poets. I suppose that -the entity of the poet may be represented by the number ten; it is certain -that a chemist on analyzing and pharmacopolizing it, as Rabelais says, -would find it composed of one part interest to nine parts of self-esteem. - -Now, at the moment when the door had opened to admit the cardinal, the -nine parts of self-esteem in Gringoire, swollen and expanded by the breath -of popular admiration, were in a state of prodigious augmentation, beneath -which disappeared, as though stifled, that imperceptible molecule of which -we have just remarked upon in the constitution of poets; a precious -ingredient, by the way, a ballast of reality and humanity, without which -they would not touch the earth. Gringoire enjoyed seeing, feeling, -fingering, so to speak an entire assembly (of knaves, it is true, but what -matters that?) stupefied, petrified, and as though asphyxiated in the -presence of the incommensurable tirades which welled up every instant from -all parts of his bridal song. I affirm that he shared the general -beatitude, and that, quite the reverse of La Fontaine, who, at the -presentation of his comedy of the “Florentine,” asked, “Who is the -ill-bred lout who made that rhapsody?” Gringoire would gladly have -inquired of his neighbor, “Whose masterpiece is this?” - -The reader can now judge of the effect produced upon him by the abrupt and -unseasonable arrival of the cardinal. - -That which he had to fear was only too fully realized. The entrance of his -eminence upset the audience. All heads turned towards the gallery. It was -no longer possible to hear one’s self. “The cardinal! The cardinal!” -repeated all mouths. The unhappy prologue stopped short for the second -time. - -The cardinal halted for a moment on the threshold of the estrade. While he -was sending a rather indifferent glance around the audience, the tumult -redoubled. Each person wished to get a better view of him. Each man vied -with the other in thrusting his head over his neighbor’s shoulder. - -He was, in fact, an exalted personage, the sight of whom was well worth -any other comedy. Charles, Cardinal de Bourbon, Archbishop and Comte of -Lyon, Primate of the Gauls, was allied both to Louis XI., through his -brother, Pierre, Seigneur de Beaujeu, who had married the king’s eldest -daughter, and to Charles the Bold through his mother, Agnes of Burgundy. -Now, the dominating trait, the peculiar and distinctive trait of the -character of the Primate of the Gauls, was the spirit of the courtier, and -devotion to the powers that be. The reader can form an idea of the -numberless embarrassments which this double relationship had caused him, -and of all the temporal reefs among which his spiritual bark had been -forced to tack, in order not to suffer shipwreck on either Louis or -Charles, that Scylla and that Charybdis which had devoured the Duc de -Nemours and the Constable de Saint-Pol. Thanks to Heaven’s mercy, he had -made the voyage successfully, and had reached home without hindrance. But -although he was in port, and precisely because he was in port, he never -recalled without disquiet the varied haps of his political career, so long -uneasy and laborious. Thus, he was in the habit of saying that the year -1476 had been “white and black” for him—meaning thereby, that in the -course of that year he had lost his mother, the Duchesse de la -Bourbonnais, and his cousin, the Duke of Burgundy, and that one grief had -consoled him for the other. diff --git a/content/en/post/chapter-4.md b/content/en/post/chapter-4.md deleted file mode 100644 index f49d937..0000000 --- a/content/en/post/chapter-4.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -date: 2017-04-12T11:14:48-04:00 -description: "Master Jacques Coppenole" -featured_image: "" -tags: ["scene"] -title: "Chapter IV: Master Jacques Coppenole" ---- -While the pensioner of Ghent and his eminence were exchanging very low -bows and a few words in voices still lower, a man of lofty stature, with a -large face and broad shoulders, presented himself, in order to enter -abreast with Guillaume Rym; one would have pronounced him a bull-dog by -the side of a fox. His felt doublet and leather jerkin made a spot on the -velvet and silk which surrounded him. Presuming that he was some groom who -had stolen in, the usher stopped him. - -“Hold, my friend, you cannot pass!” - -The man in the leather jerkin shouldered him aside. - -“What does this knave want with me?” said he, in stentorian tones, which -rendered the entire hall attentive to this strange colloquy. “Don’t you -see that I am one of them?” - -“Your name?” demanded the usher. - -“Jacques Coppenole.” - -“Your titles?” - -“Hosier at the sign of the ‘Three Little Chains,’ of Ghent.” - -The usher recoiled. One might bring one’s self to announce aldermen and -burgomasters, but a hosier was too much. The cardinal was on thorns. All -the people were staring and listening. For two days his eminence had been -exerting his utmost efforts to lick these Flemish bears into shape, and to -render them a little more presentable to the public, and this freak was -startling. But Guillaume Rym, with his polished smile, approached the -usher. - -“Announce Master Jacques Coppenole, clerk of the aldermen of the city of -Ghent,” he whispered, very low. - -“Usher,” interposed the cardinal, aloud, “announce Master Jacques -Coppenole, clerk of the aldermen of the illustrious city of Ghent.” - -This was a mistake. Guillaume Rym alone might have conjured away the -difficulty, but Coppenole had heard the cardinal. - -“No, cross of God?” he exclaimed, in his voice of thunder, “Jacques -Coppenole, hosier. Do you hear, usher? Nothing more, nothing less. Cross -of God! hosier; that’s fine enough. Monsieur the Archduke has more than -once sought his _gant_\* in my hose.” - -_* Got the first idea of a timing._ - -Laughter and applause burst forth. A jest is always understood in Paris, -and, consequently, always applauded. - -Let us add that Coppenole was of the people, and that the auditors which -surrounded him were also of the people. Thus the communication between him -and them had been prompt, electric, and, so to speak, on a level. The -haughty air of the Flemish hosier, by humiliating the courtiers, had -touched in all these plebeian souls that latent sentiment of dignity still -vague and indistinct in the fifteenth century. - -This hosier was an equal, who had just held his own before monsieur the -cardinal. A very sweet reflection to poor fellows habituated to respect -and obedience towards the underlings of the sergeants of the bailiff of -Sainte-Geneviève, the cardinal’s train-bearer. - -Coppenole proudly saluted his eminence, who returned the salute of the -all-powerful bourgeois feared by Louis XI. Then, while Guillaume Rym, a -“sage and malicious man,” as Philippe de Comines puts it, watched them -both with a smile of raillery and superiority, each sought his place, the -cardinal quite abashed and troubled, Coppenole tranquil and haughty, and -thinking, no doubt, that his title of hosier was as good as any other, -after all, and that Marie of Burgundy, mother to that Marguerite whom -Coppenole was to-day bestowing in marriage, would have been less afraid of -the cardinal than of the hosier; for it is not a cardinal who would have -stirred up a revolt among the men of Ghent against the favorites of the -daughter of Charles the Bold; it is not a cardinal who could have -fortified the populace with a word against her tears and prayers, when the -Maid of Flanders came to supplicate her people in their behalf, even at -the very foot of the scaffold; while the hosier had only to raise his -leather elbow, in order to cause to fall your two heads, most illustrious -seigneurs, Guy d’Hymbercourt and Chancellor Guillaume Hugonet. diff --git a/content/en/post/chapter-5.md b/content/en/post/chapter-5.md deleted file mode 100644 index e0f5d28..0000000 --- a/content/en/post/chapter-5.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -date: 2017-04-13T11:15:58-04:00 -description: "Quasimodo" -featured_image: "" -tags: [] -title: "Chapter V: Quasimodo" ---- - -In the twinkling of an eye, all was ready to execute Coppenole’s idea. Bourgeois, scholars and law clerks all set to work. The little chapel situated opposite the marble table was selected for the scene of the grinning match. A pane broken in the pretty rose window above the door, left free a circle of stone through which it was agreed that the competitors should thrust their heads. In order to reach it, it was only necessary to mount upon a couple of hogsheads, which had been produced from I know not where, and perched one upon the other, after a fashion. It was settled that each candidate, man or woman (for it was possible to choose a female pope), should, for the sake of leaving the impression of his grimace fresh and complete, cover his face and remain concealed in the chapel until the moment of his appearance. In less than an instant, the chapel was crowded with competitors, upon whom the door was then closed. - -Coppenole, from his post, ordered all, directed all, arranged all. During the uproar, the cardinal, no less abashed than Gringoire, had retired with all his suite, under the pretext of business and vespers, without the crowd which his arrival had so deeply stirred being in the least moved by his departure. Guillaume Rym was the only one who noticed his eminence’s discomfiture. The attention of the populace, like the sun, pursued its revolution; having set out from one end of the hall, and halted for a space in the middle, it had now reached the other end. The marble table, the brocaded gallery had each had their day; it was now the turn of the chapel of Louis XI. Henceforth, the field was open to all folly. There was no one there now, but the Flemings and the rabble. - -The grimaces began. The first face which appeared at the aperture, with eyelids turned up to the reds, a mouth open like a maw, and a brow wrinkled like our hussar boots of the Empire, evoked such an inextinguishable peal of laughter that Homer would have taken all these louts for gods. Nevertheless, the grand hall was anything but Olympus, and Gringoire’s poor Jupiter knew it better than any one else. A second and third grimace followed, then another and another; and the laughter and transports of delight went on increasing. There was in this spectacle, a peculiar power of intoxication and fascination, of which it would be difficult to convey to the reader of our day and our salons any idea. - -Let the reader picture to himself a series of visages presenting successively all geometrical forms, from the triangle to the trapezium, from the cone to the polyhedron; all human expressions, from wrath to lewdness; all ages, from the wrinkles of the new-born babe to the wrinkles of the aged and dying; all religious phantasmagories, from Faun to Beelzebub; all animal profiles, from the maw to the beak, from the jowl to the muzzle. Let the reader imagine all these grotesque figures of the Pont Neuf, those nightmares petrified beneath the hand of Germain Pilon, assuming life and breath, and coming in turn to stare you in the face with burning eyes; all the masks of the Carnival of Venice passing in succession before your glass,—in a word, a human kaleidoscope. - -The orgy grew more and more Flemish. Teniers could have given but a very imperfect idea of it. Let the reader picture to himself in bacchanal form, Salvator Rosa’s battle. There were no longer either scholars or ambassadors or bourgeois or men or women; there was no longer any Clopin Trouillefou, nor Gilles Lecornu, nor Marie Quatrelivres, nor Robin Poussepain. All was universal license. The grand hall was no longer anything but a vast furnace of effrontry and joviality, where every mouth was a cry, every individual a posture; everything shouted and howled. The strange visages which came, in turn, to gnash their teeth in the rose window, were like so many brands cast into the brazier; and from the whole of this effervescing crowd, there escaped, as from a furnace, a sharp, piercing, stinging noise, hissing like the wings of a gnat. diff --git a/content/en/post/chapter-6.md b/content/en/post/chapter-6.md deleted file mode 100644 index c767196..0000000 --- a/content/en/post/chapter-6.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -date: 2017-04-14T11:25:05-04:00 -description: "Esmeralda" -featured_image: "/images/esmeralda.jpg" -tags: [] -title: "Chapter VI: Esmeralda" ---- -We are delighted to be able to inform the reader, that during the whole of -this scene, Gringoire and his piece had stood firm. His actors, spurred on -by him, had not ceased to spout his comedy, and he had not ceased to -listen to it. He had made up his mind about the tumult, and was determined -to proceed to the end, not giving up the hope of a return of attention on -the part of the public. This gleam of hope acquired fresh life, when he -saw Quasimodo, Coppenole, and the deafening escort of the pope of the -procession of fools quit the hall amid great uproar. The throng rushed -eagerly after them. “Good,” he said to himself, “there go all the -mischief-makers.” Unfortunately, all the mischief-makers constituted the -entire audience. In the twinkling of an eye, the grand hall was empty. - -To tell the truth, a few spectators still remained, some scattered, others -in groups around the pillars, women, old men, or children, who had had -enough of the uproar and tumult. Some scholars were still perched astride -of the window-sills, engaged in gazing into the Place. - -“Well,” thought Gringoire, “here are still as many as are required to hear -the end of my mystery. They are few in number, but it is a choice -audience, a lettered audience.” - -An instant later, a symphony which had been intended to produce the -greatest effect on the arrival of the Virgin, was lacking. Gringoire -perceived that his music had been carried off by the procession of the -Pope of the Fools. “Skip it,” said he, stoically. - -He approached a group of bourgeois, who seemed to him to be discussing his -piece. This is the fragment of conversation which he caught,— - -“You know, Master Cheneteau, the Hôtel de Navarre, which belonged to -Monsieur de Nemours?” - -“Yes, opposite the Chapelle de Braque.” - -“Well, the treasury has just let it to Guillaume Alixandre, historian, for -six hivres, eight sols, parisian, a year.” - -“How rents are going up!” - -“Come,” said Gringoire to himself, with a sigh, “the others are -listening.” - -“Comrades,” suddenly shouted one of the young scamps from the window, “La -Esmeralda! La Esmeralda in the Place!” - -This word produced a magical effect. Every one who was left in the hall -flew to the windows, climbing the walls in order to see, and repeating, -“La Esmeralda! La Esmeralda?” At the same time, a great sound of applause -was heard from without. - -“What’s the meaning of this, of the Esmeralda?” said Gringoire, wringing -his hands in despair. “Ah, good heavens! it seems to be the turn of the -windows now.” - -He returned towards the marble table, and saw that the representation had -been interrupted. It was precisely at the instant when Jupiter should have -appeared with his thunder. But Jupiter was standing motionless at the foot -of the stage. - -“Michel Giborne!” cried the irritated poet, “what are you doing there? Is -that your part? Come up!” - -“Alas!” said Jupiter, “a scholar has just seized the ladder.” - -Gringoire looked. It was but too true. All communication between his plot -and its solution was intercepted. - -“The rascal,” he murmured. “And why did he take that ladder?” - -“In order to go and see the Esmeralda,” replied Jupiter piteously. “He -said, ‘Come, here’s a ladder that’s of no use!’ and he took it.” - -This was the last blow. Gringoire received it with resignation. - -“May the devil fly away with you!” he said to the comedian, “and if I get -my pay, you shall receive yours.” - -Then he beat a retreat, with drooping head, but the last in the field, -like a general who has fought well. - -And as he descended the winding stairs of the courts: “A fine rabble of -asses and dolts these Parisians!” he muttered between his teeth; “they -come to hear a mystery and don’t listen to it at all! They are engrossed -by every one, by Chopin Trouillefou, by the cardinal, by Coppenole, by -Quasimodo, by the devil! but by Madame the Virgin Mary, not at all. If I -had known, I’d have given you Virgin Mary; you ninnies! And I! to come to -see faces and behold only backs! to be a poet, and to reap the success of -an apothecary! It is true that Homerus begged through the Greek towns, and -that Naso died in exile among the Muscovites. But may the devil flay me if -I understand what they mean with their Esmeralda! What is that word, in -the first place?—‘tis Egyptian!” diff --git a/content/en/post/chapter-7.md b/content/en/post/chapter-7.md deleted file mode 100644 index ffe52d9..0000000 --- a/content/en/post/chapter-7.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -date: 2024-12-03T11:25:05-04:00 -description: "Esmeralda test" -featured_image: "/images/esmeralda.jpg" -tags: ["test"] -title: "Chapter VI: Esmeralda" ---- -We are delighted to be able to inform the reader, that during the whole of -this scene, Gringoire and his piece had stood firm. His actors, spurred on -by him, had not ceased to spout his comedy, and he had not ceased to -listen to it. He had made up his mind about the tumult, and was determined -to proceed to the end, not giving up the hope of a return of attention on -the part of the public. This gleam of hope acquired fresh life, when he -saw Quasimodo, Coppenole, and the deafening escort of the pope of the -procession of fools quit the hall amid great uproar. The throng rushed -eagerly after them. “Good,” he said to himself, “there go all the -mischief-makers.” Unfortunately, all the mischief-makers constituted the -entire audience. In the twinkling of an eye, the grand hall was empty. - -To tell the truth, a few spectators still remained, some scattered, others -in groups around the pillars, women, old men, or children, who had had -enough of the uproar and tumult. Some scholars were still perched astride -of the window-sills, engaged in gazing into the Place. - -“Well,” thought Gringoire, “here are still as many as are required to hear -the end of my mystery. They are few in number, but it is a choice -audience, a lettered audience.” - -An instant later, a symphony which had been intended to produce the -greatest effect on the arrival of the Virgin, was lacking. Gringoire -perceived that his music had been carried off by the procession of the -Pope of the Fools. “Skip it,” said he, stoically. - -He approached a group of bourgeois, who seemed to him to be discussing his -piece. This is the fragment of conversation which he caught,— - -“You know, Master Cheneteau, the Hôtel de Navarre, which belonged to -Monsieur de Nemours?” - -“Yes, opposite the Chapelle de Braque.” - -“Well, the treasury has just let it to Guillaume Alixandre, historian, for -six hivres, eight sols, parisian, a year.” - -“How rents are going up!” - -“Come,” said Gringoire to himself, with a sigh, “the others are -listening.” - -“Comrades,” suddenly shouted one of the young scamps from the window, “La -Esmeralda! La Esmeralda in the Place!” - -This word produced a magical effect. Every one who was left in the hall -flew to the windows, climbing the walls in order to see, and repeating, -“La Esmeralda! La Esmeralda?” At the same time, a great sound of applause -was heard from without. - -“What’s the meaning of this, of the Esmeralda?” said Gringoire, wringing -his hands in despair. “Ah, good heavens! it seems to be the turn of the -windows now.” - -He returned towards the marble table, and saw that the representation had -been interrupted. It was precisely at the instant when Jupiter should have -appeared with his thunder. But Jupiter was standing motionless at the foot -of the stage. - -“Michel Giborne!” cried the irritated poet, “what are you doing there? Is -that your part? Come up!” - -“Alas!” said Jupiter, “a scholar has just seized the ladder.” - -Gringoire looked. It was but too true. All communication between his plot -and its solution was intercepted. - -“The rascal,” he murmured. “And why did he take that ladder?” - -“In order to go and see the Esmeralda,” replied Jupiter piteously. “He -said, ‘Come, here’s a ladder that’s of no use!’ and he took it.” - -This was the last blow. Gringoire received it with resignation. - -“May the devil fly away with you!” he said to the comedian, “and if I get -my pay, you shall receive yours.” - -Then he beat a retreat, with drooping head, but the last in the field, -like a general who has fought well. - -And as he descended the winding stairs of the courts: “A fine rabble of -asses and dolts these Parisians!” he muttered between his teeth; “they -come to hear a mystery and don’t listen to it at all! They are engrossed -by every one, by Chopin Trouillefou, by the cardinal, by Coppenole, by -Quasimodo, by the devil! but by Madame the Virgin Mary, not at all. If I -had known, I’d have given you Virgin Mary; you ninnies! And I! to come to -see faces and behold only backs! to be a poet, and to reap the success of -an apothecary! It is true that Homerus begged through the Greek towns, and -that Naso died in exile among the Muscovites. But may the devil flay me if -I understand what they mean with their Esmeralda! What is that word, in -the first place?—‘tis Egyptian!” diff --git a/content/experience/cio-team-lead-senior-php-developer-at-twonav.md b/content/experience/cio-team-lead-senior-php-developer-at-twonav.md new file mode 100644 index 0000000..e645016 --- /dev/null +++ b/content/experience/cio-team-lead-senior-php-developer-at-twonav.md @@ -0,0 +1,20 @@ +--- +date: 2016-03-01T00:00:00+01:00 +draft: false +title: "Team Lead / CIO / Senior PHP Developer" +jobTitle: "Team Lead / CIO / Senior PHP Developer" +company: "TwoNav" +location: "Arenys de Mar, Barcelona" +duration: "March 2016 - October 2018" +seo: + title: "Experience as a Team Lead / CIO / Senior PHP Developer at TwoNav" + description: "Lead web developer of e-commerce, cloud and other online projects of the company." + +--- +### Team Lead / CIO / Senior PHP Developer at [TwoNav](https://www.twonav.com/) + +Lead web developer of e-commerce, cloud and other online projects of the company. + +e-commerce: [TwoNav](https://www.twonav.com/) + +cloud: [GO by TwoNav](https://go.twonav.com/) \ No newline at end of file diff --git a/content/experience/full-stack-web-php-developer-at-cdmon.md b/content/experience/full-stack-web-php-developer-at-cdmon.md new file mode 100644 index 0000000..25177f0 --- /dev/null +++ b/content/experience/full-stack-web-php-developer-at-cdmon.md @@ -0,0 +1,16 @@ +--- +date: 2015-02-01T00:00:00+01:00 +draft: false +title: "Full Stack Web PHP Developer" +jobTitle: "Full Stack Web PHP Developer" +company: "CDmon (10dencehispahard S.L.)" +location: "Malgrat de Mar, Barcelona" +duration: "February 2015 - January 2016" +seo: + title: "Experience as a Full Stack Web PHP Developer at CDmon (10dencehispahard S.L.)" + description: "Lead developer of all e-commerce and marketing platforms." + +--- +### Full Stack Web PHP Developer at [CDmon (10dencehispahard S.L.)](https://www.cdmon.com) + +Lead developer of all e-commerce and marketing platforms. \ No newline at end of file diff --git a/content/experience/php-web-developer-at-pindigital.md b/content/experience/php-web-developer-at-pindigital.md new file mode 100644 index 0000000..78313f7 --- /dev/null +++ b/content/experience/php-web-developer-at-pindigital.md @@ -0,0 +1,15 @@ +--- +date: 2012-06-01T00:00:00+01:00 +draft: false +title: "PHP Symfony2 Web Developer" +jobTitle: "PHP Symfony2 Web Developer" +company: "Pin Digital" +location: "Barcelona" +duration: "June 2012 - September 2012" +seo: + title: "Experience as a PHP Symfony2 Web Developer at Pin Digital" + description: "Social network development with Symfony2. HTML5 + CSS3 Frontend. Technology: ElasticSearch + Redis + RabbitMQ + Varnish Cache + AWS" +--- +### PHP Symfony2 Web Developer at Pin Digital + +Social network development with Symfony2. HTML5 + CSS3 Frontend. Technology: ElasticSearch + Redis + RabbitMQ + Varnish Cache + AWS \ No newline at end of file diff --git a/content/experience/senior-php-web-developer-at-alea-digital.md b/content/experience/senior-php-web-developer-at-alea-digital.md new file mode 100644 index 0000000..c641203 --- /dev/null +++ b/content/experience/senior-php-web-developer-at-alea-digital.md @@ -0,0 +1,15 @@ +--- +date: 2016-01-01T00:00:00+01:00 +draft: false +title: "Senior PHP Web Developer" +jobTitle: "Senior PHP Web Developer " +company: "Alea Digital S.L." +location: "Barcelona" +duration: "January 2016 - February 2016" +seo: + title: "Experience as a Senior PHP Web Developer at Alea Digital S.L." + description: "PHP Developer in one of the IT teams of the company." +--- +### Senior PHP Web Developer at [Alea Digital S.L.](https://www.alea.com/) + +PHP Developer in one of the IT teams of the company. \ No newline at end of file diff --git a/content/experience/senior-software-engineer-at-deporvillage.md b/content/experience/senior-software-engineer-at-deporvillage.md new file mode 100644 index 0000000..f948d6c --- /dev/null +++ b/content/experience/senior-software-engineer-at-deporvillage.md @@ -0,0 +1,24 @@ +--- +date: 2019-06-01T00:00:00+01:00 +draft: false +title: "Senior Software Engineer & Tech Lead" +jobTitle: "Senior Software Engineer & Tech Lead" +company: "Deporvillage" +location: "Barcelona" +duration: "June 2019 - Present" +seo: + title: "Experience as a Senior Software Engineer & Tech Lead at Deporvillage" + description: "" +--- + +### Tech Lead at [Deporvillage](https://www.deporvillage.com/) +As a Tech Lead, I have the oversight of the catalog development team at Deporvillage. My responsibilities include: + +- **Leading** the development of the product catalog. +- **Designing** and maintaining the platform's architecture. +- **Enforcing** code quality standards. +- **Collaborating** with cross-functional teams to drive platform improvements. + + +### Senior Backend Developer at [Deporvillage](https://www.deporvillage.com/) +As a Senior Backend Developer working with ElasticSearch, PHP, GoLang and a lot of microservices. \ No newline at end of file diff --git a/content/experience/senior-software-engineer-at-euromillions.md b/content/experience/senior-software-engineer-at-euromillions.md new file mode 100644 index 0000000..8eacf55 --- /dev/null +++ b/content/experience/senior-software-engineer-at-euromillions.md @@ -0,0 +1,15 @@ +--- +date: 2018-10-01T00:00:00+01:00 +draft: false +title: "Senior Software Engineer" +jobTitle: "Senior Software Engineer" +company: "EuroMillions.com" +location: "Barcelona" +duration: "October 2018 - May 2019" +seo: + title: "Experience as a Senior Software Engineer at EuroMillions.com" + description: "As a Senior Software Engineer, I worked improving the main site and payment services (microservices)." +--- +### Senior Software Engineer at EuroMillions.com + +As a Senior Software Engineer, I worked improving the main site and payment services (microservices). Also with a strong DevOps culture on the company we develop a all new CI/CD pipelines over **Jenkins** and using **Rancher** for Docker orchestration in production. diff --git a/content/experience/software-engineer-at-fundacio-bosch-gimpera.md b/content/experience/software-engineer-at-fundacio-bosch-gimpera.md new file mode 100644 index 0000000..473837d --- /dev/null +++ b/content/experience/software-engineer-at-fundacio-bosch-gimpera.md @@ -0,0 +1,15 @@ +--- +date: 2014-06-01T00:00:00+01:00 +draft: false +title: "Software Engineer" +jobTitle: "Software Engineer" +company: "Fundació Bosch i Gimpera" +location: "Barcelona" +duration: "June 2014 - February 2015" +seo: + title: "Experience as a Software Engineer at Fundació Bosch i Gimpera" + description: "Software Engineer at Fundació Bosch i Gimpera. In collaboration with the University of Barcelona. My main responsibilities were as the project manager, systems architect and web developer for develop a new tool for internal management of a rice company." +--- +### Software Engineer at [Fundació Bosch i Gimpera](https://www.fbg.ub.edu/) + +In collaboration with the University of Barcelona. My main responsibilities were as the project manager, systems architect and web developer for develop a new tool for internal management of a rice company. \ No newline at end of file diff --git a/content/experience/web-developer-at-a2sistemas.md b/content/experience/web-developer-at-a2sistemas.md new file mode 100644 index 0000000..8646ebd --- /dev/null +++ b/content/experience/web-developer-at-a2sistemas.md @@ -0,0 +1,16 @@ +--- +date: 2007-01-01T00:00:00+01:00 +draft: false +title: "Web Developer" +jobTitle: "Web Developer" +company: "A2 Sistemas" +location: "Mataró, Barcelona" +duration: "September 2007 - February 2010" +seo: + title: "Experience as a Web Developer at A2 Sistemas" + description: "Frontend and Backend Web Developer with PHP and .NET, HTML, CSS. Project manager and IT consultant." +--- +### Web Developer at A2 Sistemas + +Frontend and Backend Web Developer with PHP and .NET, HTML, CSS. +Project manager and IT consultant. \ No newline at end of file diff --git a/content/fr/_index.md b/content/fr/_index.md deleted file mode 100644 index 4e20b97..0000000 --- a/content/fr/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Ananke: Un thème pour Hugo" - -description: "Le dernier thème dont vous aurez besoin. Peut-être" -cascade: - featured_image: '/images/gohugo-default-sample-hero-image.jpg' ---- -Bienvenue sur mon blog à propos de mon travail du moment. Je travaille sur une idée de livre. Vous pouvez lire quelques chapitres plus bas. diff --git a/content/fr/contact.md b/content/fr/contact.md deleted file mode 100644 index b9c9d20..0000000 --- a/content/fr/contact.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Contact -featured_image: '' -omit_header_text: true -description: Laissez-nous un message! -type: page -menu: main - ---- - -Ceci est la page de contact en Français. - -This is an example of a custom shortcode that you can put right into your content. You will need to add a form action to the shortcode to make it work. Check out [Formspree](https://formspree.io/) for a simple, free form service. - -{{< form-contact action="https://example.com" >}} diff --git a/content/fr/post/_index.md b/content/fr/post/_index.md deleted file mode 100644 index 602d614..0000000 --- a/content/fr/post/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Articles" -date: 2017-03-02T12:00:00-05:00 ---- -Exemple de liste d'article français. \ No newline at end of file diff --git a/content/fr/post/chapter-1.md b/content/fr/post/chapter-1.md deleted file mode 100644 index 2e12724..0000000 --- a/content/fr/post/chapter-1.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -date: 2017-04-09T10:58:08-04:00 -description: "La grande halle" -featured_image: "/images/Pope-Edouard-de-Beaumont-1844.jpg" -tags: ["scene"] -title: "Chapitre I: La grande halle" ---- - -Généralement, on utilise un texte en faux latin (le texte ne veut rien dire, il a été modifié), le Lorem ipsum ou Lipsum, qui permet donc de faire office de texte d'attente. L'avantage de le mettre en latin est que l'opérateur sait au premier coup d'oeil que la page contenant ces lignes n'est pas valide, et surtout l'attention du client n'est pas dérangée par le contenu, il demeure concentré seulement sur l'aspect graphique. - -Ce texte a pour autre avantage d'utiliser des mots de longueur variable, essayant de simuler une occupation normale. La méthode simpliste consistant à copier-coller un court texte plusieurs fois (« ceci est un faux-texte ceci est un faux-texte ceci est un faux-texte ceci est un faux-texte ceci est un faux-texte ») a l'inconvénient de ne pas permettre une juste appréciation typographique du résultat final. - -Il circule des centaines de versions différentes du Lorem ipsum, mais ce texte aurait originellement été tiré de l'ouvrage de Cicéron, De Finibus Bonorum et Malorum (Liber Primus, 32), texte populaire à cette époque, dont l'une des premières phrases est : « Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... » (« Il n'existe personne qui aime la souffrance pour elle-même, ni qui la recherche ni qui la veuille pour ce qu'elle est... »). \ No newline at end of file diff --git a/content/testimonial/_index.md b/content/testimonial/_index.md new file mode 100644 index 0000000..eeed7e9 --- /dev/null +++ b/content/testimonial/_index.md @@ -0,0 +1,4 @@ +--- +sitemap: + disable: true +--- \ No newline at end of file diff --git a/content/testimonial/testimonial-1.md b/content/testimonial/testimonial-1.md new file mode 100644 index 0000000..1d794f4 --- /dev/null +++ b/content/testimonial/testimonial-1.md @@ -0,0 +1,21 @@ +--- +date: '2015-01-19T00:00:00+01:00' # date in which the content is created - defaults to "today" +title: 'Sergio Escalera' +draft: false # set to "true" if you want to hide the content + +name: "Sergio Escalera" # name of the person +position: "Director at ChaLearn Challenges in Machine Learning (2015)" # position of the person + +sitemap: + disable: true + +#params: + #image: + # x: "images/testimonials/testimonial3.png" # example: "images/clients/asgardia.png" + # _2x: "images/testimonials/testimonial3@2x.png" # example: "images/clients/asgardia@2x.png" + +## For the content, you can use markdown +## +--- + +David displays high levels of energy and involvement in everything he does. I can affirm that with him on your team you can face insurmountable challenges. His curiosity knows no limits and it has helped me to discover high risk elements in my project with him which may have gone unseen. I can say with confidence that he demonstrated excellent knowledge of PHP, CSS, HTML5 and Symfony2 Framework. David also shows great skills about project management and leadership doing the right questions on the right moments over the project development. He loves to take initiatives and does not wait for the instructions. He fosters team spirit and works with the team for achieving results. Definitely he is an asset for any team. \ No newline at end of file diff --git a/content/testimonial/testimonial-2.md b/content/testimonial/testimonial-2.md new file mode 100644 index 0000000..bf6afe1 --- /dev/null +++ b/content/testimonial/testimonial-2.md @@ -0,0 +1,21 @@ +--- +date: '2015-02-08T00:00:00+01:00' # date in which the content is created - defaults to "today" +title: 'Javier Sánchez Velamazán' +draft: false # set to "true" if you want to hide the content + +name: "Javier Sánchez Velamazán" # name of the person +position: "Web Developer (2015)" # position of the person + +sitemap: + disable: true + +##params: + #image: + # x: "images/testimonials/testimonial3.png" # example: "images/clients/asgardia.png" + # _2x: "images/testimonials/testimonial3@2x.png" # example: "images/clients/asgardia@2x.png" + +## For the content, you can use markdown +## +--- + +I worked with David a few years ago at Pin Digital. He's a very hard worker guy who implicates a lot in the work he has on him. I know very few people with his initiative to expand his knowledge and his capacity to help the others when they need it. That's why he is a magnificent co-worker and an inspirational team member who you won't regret to include in your team \ No newline at end of file diff --git a/content/testimonial/testimonial-3.md b/content/testimonial/testimonial-3.md new file mode 100644 index 0000000..690a776 --- /dev/null +++ b/content/testimonial/testimonial-3.md @@ -0,0 +1,21 @@ +--- +date: '2016-09-06T00:00:00+01:00' # date in which the content is created - defaults to "today" +title: 'Marc Atanes' +draft: false # set to "true" if you want to hide the content + +name: "Marc Atanes" # name of the person +position: "IT Operations Manager (2016)" # position of the person + +sitemap: + disable: true + +##params: + #image: + # x: "images/testimonials/testimonial3.png" # example: "images/clients/asgardia.png" + # _2x: "images/testimonials/testimonial3@2x.png" # example: "images/clients/asgardia@2x.png" + +## For the content, you can use markdown +## +--- + +David is a great team colleague and a hard working professional. Very committed to his job. He works hard, with perseverance, attends all the requirements with care and goes beyond, analyzing every detail and takes in consideration every possible issue. As a developer, he works with quality and according to requirements and his deliveries are always on time. As a team leader, he is a great team player who pays attention to colleagues and tries to help and teach them when possible and also achieves the 120% of the team. Great pleasure to work side by side with him! \ No newline at end of file diff --git a/content/testimonial/testimonial-4.md b/content/testimonial/testimonial-4.md new file mode 100644 index 0000000..9d0acf2 --- /dev/null +++ b/content/testimonial/testimonial-4.md @@ -0,0 +1,21 @@ +--- +date: '2017-11-19T00:00:00+01:00' # date in which the content is created - defaults to "today" +title: 'Raúl Salguero' +draft: false # set to "true" if you want to hide the content + +name: "Raúl Salguero" # name of the person +position: "UX Designer (2017)" # position of the person + +sitemap: + disable: true + +##params: + #image: + # x: "images/testimonials/testimonial3.png" # example: "images/clients/asgardia.png" + # _2x: "images/testimonials/testimonial3@2x.png" # example: "images/clients/asgardia@2x.png" + +## For the content, you can use markdown +## +--- + +I had the pleasure of working with David at TwoNav. He is always ready to help and his deep technical expertise makes everything way easier. He is a great colleague and promotes teamworking. The perfect professional role model. His ability to take complex technical issues and break them down for even the most junior programmers is outstanding. Combine that with his passion and his eye for detail and he can fix just about anyone complicated tasks. It was a pleasure to work with David and I hope that we can work directly together again. \ No newline at end of file diff --git a/content/testimonial/testimonial-5.md b/content/testimonial/testimonial-5.md new file mode 100644 index 0000000..9bcc961 --- /dev/null +++ b/content/testimonial/testimonial-5.md @@ -0,0 +1,23 @@ +--- +date: '2018-08-10T00:00:00+01:00' # date in which the content is created - defaults to "today" +title: 'Iván Prat' +draft: false # set to "true" if you want to hide the content + +name: "Iván Prat" # name of the person +position: "UX Designer (2018)" # position of the person + +sitemap: + disable: true + +##params: + #image: + # x: "images/testimonials/testimonial3.png" # example: "images/clients/asgardia.png" + # _2x: "images/testimonials/testimonial3@2x.png" # example: "images/clients/asgardia@2x.png" + +## For the content, you can use markdown +## +--- + +David is an excellent full-stack programmer, as well as a very good leader. The way he can archive a solution for a complex problem, makes you realize that you still have to learn a lot more. I personally learnt a lot of amazing stuff from him, and I'm so happy because we taught each other, and that's fantastic for us. He constantly makes the effort for being a team-player, attending all the requirements and proposing new solutions, that can make the business work better than it did before. + + diff --git a/content/testimonial/testimonial-6.md b/content/testimonial/testimonial-6.md new file mode 100644 index 0000000..a0c2927 --- /dev/null +++ b/content/testimonial/testimonial-6.md @@ -0,0 +1,22 @@ +--- +date: '2019-05-24T00:00:00+01:00' # date in which the content is created - defaults to "today" +title: 'Carlos Alvarez' +draft: false # set to "true" if you want to hide the content + +name: "Carlos Alvarez" # name of the person +position: "UX Designer (2019)" # position of the person + +sitemap: + disable: true + +##params: + #image: + # x: "images/testimonials/testimonial3.png" # example: "images/clients/asgardia.png" + # _2x: "images/testimonials/testimonial3@2x.png" # example: "images/clients/asgardia@2x.png" + +## For the content, you can use markdown +## +--- + +I had the opportunity of working with David at EuroMillions. He is always ready to help and promoting team working. Also, he is a resolute person and has a really good attention to the details. It was a pleasure to work with David and I hope that we can work directly together again. + diff --git a/data/homepage.yml b/data/homepage.yml new file mode 100755 index 0000000..7dd6598 --- /dev/null +++ b/data/homepage.yml @@ -0,0 +1,84 @@ +## Looking for strings? Check the i18n folder. + +# showcase +showcase: + enable: true + image: + x: "images/showcase/showcase.png" + _2x: "images/showcase/showcase@2x.png" + imageMobile: + x: "images/showcase/showcase-mobile.jpg" + + button: + icon: "icon-linkedin" + URL: "https://www.linkedin.com/in/davidcortocamacho" + + socialLinks: + - icon: "linkedin" + URL: "https://linkedin.com/in/davidcortocamacho/" + + - icon: "square-github" + URL: "https://github.com/DCorto" + + - icon: "x-twitter" + URL: "https://twitter.com/davidcorto" + + - icon: "bluesky" + URL: "https://bsky.app/profile/davidcorto.bsky.social" + +# about +about: + enable: false + button: + icon: "icon-user" + URL: "https://www.linkedin.com/in/adrianmoreno/" + image: + x: "images/about/user-picture.png" + _2x: "images/about/user-picture@2x.png" + +# education +education: + enable: true + items: + - university: "University of Barcelona, Barcelona" + year: "2010-2014" + degree: "Computer Engineering" + + - university: "IES Thos i Codina, Mataró" + year: "2009-2010" + degree: "High-Level Technical Degree in Software Development" + + - university: "IES Thos i Codina, Mataró" + year: "2005-2007" + degree: "High-Level Technical Degree in Computer Systems Administration" + +# experience +## to hiden a button, set the icon to an empty string +experience: + enable: true + button: + icon: "icon-linkedin" + button2: + icon: "icon-square-github" + button3: + icon: "" + +# Client & Work +client_and_work: + enable: false + +# testimonial +testimonial: + enable: true + +# contact +contact: + enable: false + form: + action: "#" + button: + icon: "icon-email" + +# newsletter +newsletter: + enable: false \ No newline at end of file diff --git a/hugo.toml b/hugo.toml index d19d5e1..995f342 100644 --- a/hugo.toml +++ b/hugo.toml @@ -1,71 +1,147 @@ -title = "Notre-Dame de Paris" -baseURL = 'https://dcorto.github.io/' -theme = 'ananke' -resourceDir = "../resources" +baseURL = "https://dcorto.github.io/" +languageCode = "en" +theme = "adritian-free-hugo-theme" +# https://gohugo.io/content-management/taxonomies/ +disableKinds = ["taxonomy", "term"] -defaultContentLanguage = "en" -sectionPagesMenu = "main" -enableRobotsTXT = false +[languages] +[languages.en] +disabled = false +languageCode = 'en' +languageDirection = 'ltr' +languageName = 'English' +title = 'David Corto Camacho | Senior Software Engineer & Tech Lead at Deporvillage' +weight = 0 + +[languages.en.menus] +[[languages.en.menus.header]] +name = 'Experience' +URL = '#experience' +weight = 2 +[[languages.en.menus.header]] +name = 'Education' +URL = '#education' +weight = 3 +[[languages.en.menus.header]] +name = 'Testimonials' +URL = '#testimonial' +weight = 4 +# [[languages.en.menus.header]] +# name = "Experience" +# URL = "#experience" +# weight = 4 +#[[languages.en.menus.header]] +#name = "Blog" +#URL = "/blog" +#weight = 5 +#[[languages.en.menus.header]] +#name = "Contact" +#URL = "#contact" +#weight = 6 -[services.googleAnalytics] -id = '' +[[languages.en.menus.footer]] +name = "Experience" +URL = "#experience" +weight = 2 +[[languages.en.menus.footer]] +name = "Education" +URL = "#education" +weight = 3 +[[languages.en.menus.footer]] +name = 'Testimonials' +URL = '#testimonial' +weight = 4 +#[[languages.en.menus.footer]] +#name = "Contact" +#URL = "#contact" +#weight = 4 -[pagination] -pagerSize = 3 # this is set low for demonstrating with dummy content. Set to a higher number -[languages.en] -contentDir = "content/en" -languageCode = 'en-US' -weight = 1 -title = "Ananke" -# languageDirection = 'rtl' for Right-To-Left languages - -[languages.fr] -contentDir = "content/fr" -languageCode = 'fr-FR' +[languages.es] +disabled = true +languageCode = 'es' +languageDirection = 'ltr' +languageName = 'Español' +title = '' +weight = 0 +[[languages.es.menus.header]] +name = 'Sobre mi' +URL = '/es/#about' weight = 2 -title = "Ananke Fr" +[[languages.es.menus.header]] +name = 'Portfolio' +URL = '/es/#portfolio' +weight = 3 + +# [[languages.es.menus.header]] +# name = "Experiencia" +# URL = "/es/#experience" +# weight = 4 + +[[languages.es.menus.header]] +name = "Blog" +URL = "/es/blog" +weight = 5 + +[[languages.es.menus.header]] +name = "Contacto" +URL = "/es/#contact" +weight = 6 + +[[languages.es.menus.footer]] +name = "Sobre mi" +URL = "/es/#about" +weight = 2 + +[[languages.es.menus.footer]] +name = "Portfolio" +URL = "/es/#portfolio" +weight = 3 -[sitemap] -changefreq = "monthly" -priority = 0.5 -filename = "sitemap.xml" +[[languages.es.menus.footer]] +name = "Contact" +URL = "/es/#contact" +weight = 4 + +# Plugins +[params.plugins] + +# CSS Plugins +[[params.plugins.css]] +URL = "css/main.css" +[[params.plugins.css]] +URL = "css/adritian-icons.css" +[[params.plugins.css]] +URL = "css/custom.css" + +# JS Plugins +[[params.plugins.js]] +URL = "js/rad-animations.js" +[[params.plugins.js]] +URL = "js/sticky-header.js" +[[params.plugins.js]] +URL = "js/library/fontfaceobserver.js" + +# SCSS Plugins +[[params.plugins.scss]] +URL = "css/menu.scss" [params] -text_color = "" -author = "" -favicon = "" -site_logo = "" -description = "The last theme you'll ever need. Maybe." -# choose a background color from any on this page: https://tachyons.io/docs/themes/skins/ and preface it with "bg-" -background_color_class = "bg-black" -# choose fitting and alignment styles for the featured image using Tachyons classes such as "cover|contain" for fitting and "bg-top|bg-center|bg-bottom" for alignment, or add any other class space-separated to customize further -featured_image_class = "cover bg-top" -# choose a color dimming class for the page or site header from any on this page: https://tachyons.io/docs/themes/skins/, preface it with "bg-" and add the value such as "-X0" where X is in [1,9] -cover_dimming_class = "bg-black-60" -recent_posts_number = 3 - -[params.ananke.social.share] -networks = [ - "email", - "facebook", - "bluesky", - "linkedin" -] - -[params.ananke.social.follow] -networks = [ - "facebook", - "bluesky", - "linkedin" -] - -[params.ananke.social.facebook] -username = "patrick.kollitsch" -# profilelink = "https://www.facebook.com/patrick.kollitsch" - -[params.ananke.social.linkedin] -username = "patrickkollitsch" - -[params.ananke.social.bluesky] -username = "kollitsch.dev" + +#sections = ["showcase", "about", "education", "experience", "client-and-work", "testimonial", "contact", "newsletter"] +sections = ["showcase", "experience", "education", "client-and-work", "testimonial"] + +homepageExperienceCount = 3 + +# controls vercel page insights - disabled by default +vercelPageInsights = false +vercelAnalytics = false + +[params.google_analytics] +code = "UA-XXXXX-Y" +enabled = false + +[params.google_tag_manager] +code = "GTM-XXXXX" +enabled = false + diff --git a/i18n/en.yaml b/i18n/en.yaml new file mode 100644 index 0000000..ab59bbe --- /dev/null +++ b/i18n/en.yaml @@ -0,0 +1,172 @@ +## Header +- id: "logo_text1" + translation: "David" + +- id: "logo_text2" + translation: "Corto Camacho" + +## Footer +- id: "footer_notice" + translation: "© David Corto Camacho. Powered by Hugo using theme Adritian" + +- id: "language" + translation: "Language" + +## Homepage head title +- id: "head_title" + translation: "David Corto Camacho | Senior Software Engineer & Tech Lead at Deporvillage" + +- id: "head_description" + translation: "David Corto Camacho | Senior Software Engineer & Tech Lead at Deporvillage" + +## Homepage showcase +- id: "showcase_title" + translation: "Hello, I’m David" + +- id: "showcase_subtitle" + translation: "Senior Software Engineer" + +- id: "showcase_description" + translation:

+ I'm a Senior Software Engineer with a strong background in leading technical teams and developing robust, scalable software solutions. Currently, I'm the Tech Lead for the product catalog at Deporvillage, where I'm responsible for guiding and executing the technical vision for this critical area of the platform. +

+

+ My expertise lies in designing and implementing microservices within complex architectural landscapes. + I have a keen interest in SRE and DevOps principles, constantly seeking to improve operational efficiency and + reliability through automation and best practices. +

+

+ I'm a highly motivated and results-oriented individual with a strong desire for continuous learning and + improvement. I'm eager to apply new technologies and methodologies to enhance the quality and performance of + the software I develop. +

+ +- id: "showcase_button" + translation: "LinkedIn" + + ## not visible but used for accessibility +- id: "showcase_image_alt" + translation: "A picture of Cool Name" + +## Homepage about +- id: "about_title" + translation: "Who am I?" + +- id: "about_content" + translation:

+ Here you can add some information about you. A small excerpt that describes + your experience, for example. +

+

+ You explain something about your academic/study background, as well as your + preferred areas of work. Think of this area as context-setting for the experience + that you will describe below. Why did you change jobs? What drove you to take a + new gig? Even if you are not looking for a job, it's a good way to hint about + what kind of projects you are interested in. +

+ +- id: "about_button" + translation: "About Me" + +## Homepage education +- id: "education_title" + translation: "Education" + +## Homepage experience +- id: "experience_title" + translation: "Experience" + +- id: "experience_description" + translation: "Here a list of my professional experience along with the companies I've worked for and the projects I've been involved in. Also you can check my LinkedIn profile." + +- id: "experience_button" + translation: "LinkedIn" + +- id: "experience_button_url" + translation: "https://www.linkedin.com/in/davidcortocamacho/" + +- id: "experience_button2" + translation: "GitHub" + +- id: "experience_button2_url" + translation: "https://github.com/dcorto" + +- id: "experience_button3" + translation: "View all" + +- id: "experience_button3_url" + translation: "/experience" + +## Homepage client & work +- id: "client_work_title" + translation: "Clients & Work" + +## Homepage newsletter +- id: "newsletter_title" + translation: "Newsletter" + +- id: "newsletter_button" + translation: "Subscribe" + +- id: "newsletter_placeholder" + translation: "Your email" + +- id: "newsletter_success_message" + translation: "Thank you for subscribing to my newsletter!" + +- id: "newsletter_error_message" + translation: "An error occurred. Please try again." + +- id: "newsletter_note" + translation: "We'll never share your email with anyone else." + +## Homepage testimonials +- id: "testimonials_title" + translation: "Testimonials" + +## Homepage contact +- id: "contact_title" + translation: "Contact" + +- id: "contact_button" + translation: "Send message" + +- id: "contact_form_name" + translation: "Full Name" + +- id: "contact_form_email" + translation: "Email Address" + +- id: "contact_form_message" + translation: "Type Your Message Here" + +- id: "contact_phone_title" + translation: "Phone Number" + +- id: "contact_phone_number" + translation: "+555 (11) 123 44 55" + +- id: "contact_email_title" + translation: "Email" + +- id: "contact_email_email" + translation: 'mail@example.com' + +- id: "contact_address_title" + translation: "Address" + +- id: "contact_address_address" + translation: "Exact street/neighborhood (you can omit this)
Postcode, City" + +- id: "contact_button" + translation: "Send Message" + +## Blog +- id: "read_more" + translation: "Read more" + +- id: "published_on" + translation: "Published en" + +- id: "continue_reading" + translation: "Continue reading" diff --git a/i18n/es.yaml b/i18n/es.yaml new file mode 100644 index 0000000..8cf24cc --- /dev/null +++ b/i18n/es.yaml @@ -0,0 +1,159 @@ +## Header +- id: "logo_text1" + translation: "Genial" + +- id: "logo_text2" + translation: "Nombre" + +## Footer +- id: "footer_notice" + translation: "© Adritian. Tema gratuito de Hugo por Adrián Moreno Peña." + +- id: "language" + translation: "Idioma" + +## Homepage head title +- id: "head_title" + translation: "Sitio demo de Adritian - un tema Hugo de alto rendimiento por Adrián Moreno" + +- id: "head_description" + translation: "Este tema de Hugo (Adritian) está basado en Bootstrap y tiene características que lo hacen adecuado para un sitio personal, un portafolio u otros tipos de aplicaciones de una sola página." + +## Homepage showcase +- id: "showcase_title" + translation: "Hola, soy Cool." + +- id: "showcase_subtitle" + translation: "Este es mi título" + +- id: "showcase_description" + translation: "Este es un buen lugar para comenzar con una introducción sobre ti mismo. Tal vez una mención al lugar donde trabajas. También puedes mencionar dónde vives, tu formación y cuál es el propósito del sitio.
Puedes descargar este tema desde github, y verlo en vivo como un sitio demo o uno real.
Puedes encontrar este contenido para editar en el archivo theme.yaml." + +- id: "showcase_button" + translation: "Contactar" + + ## not visible but used for accessibility +- id: "showcase_image_alt" + translation: "A picture of Cool Name" + +## Homepage about +- id: "about_title" + translation: "¿Quién soy?" + +- id: "about_content" + translation:

+ Aquí puedes agregar algo de información sobre ti. Un pequeño extracto que describa tu experiencia, por ejemplo. +

+

+ Explica algo sobre tu formación académica, así como tus áreas de trabajo preferidas. Piensa en esta sección como un contexto para la experiencia que describirás más abajo. ¿Por qué cambiaste de trabajo? ¿Qué te motivó a tomar un nuevo puesto? Incluso si no estás buscando trabajo, es una buena manera de insinuar qué tipo de proyectos te interesan. +

+ +- id: "about_button" + translation: "Sobre mí" + + ## not visible but used for accessibility +- id: "about_image_alt" + translation: "Una imagen de Cool Name" + +## Homepage education +- id: "education_title" + translation: "Educación" + +## Homepage experience +- id: "experience_title" + translation: "Experiencia" + +- id: "experience_description" + translation: "Aquí es donde puedes resaltar un poco sobre tu experiencia. Años de experiencia total, especialización, etc." + +- id: "experience_button" + translation: "LinkedIn" + +- id: "experience_button_url" + translation: "https://www.linkedin.com/in/adrianmoreno/" + +- id: "experience_button2" + translation: "Descargar mi CV" + +- id: "experience_button2_url" + translation: "Descargar mi CV" + +- id: "experience_button3" + translation: "Ver todo" + +- id: "experience_button3_url" + translation: "/es/experience" + +## Homepage client & work +- id: "client_work_title" + translation: "Clientes y Trabajos" + +## Homepage newsletter +- id: "newsletter_title" + translation: "Boletín" + +- id: "newsletter_button" + translation: "Suscribirse" + +- id: "newsletter_placeholder" + translation: "Tu correo electrónico" + +- id: "newsletter_success_message" + translation: "¡Gracias por suscribirte a mi boletín!" + +- id: "newsletter_error_message" + translation: "Ocurrió un error. Por favor, inténtalo de nuevo." + +- id: "newsletter_note" + translation: "Nunca compartiremos tu correo electrónico con nadie más." + +## Homepage testimonials +- id: "testimonials_title" + translation: "Testimonios" + +## Homepage contact +- id: "contact_title" + translation: "Contacto" + +- id: "contact_button" + translation: "Enviar mensaje" + +- id: "contact_form_name" + translation: "Nombre completo" + +- id: "contact_form_email" + translation: "Correo electrónico" + +- id: "contact_form_message" + translation: "Escribe tu mensaje aquí" + +- id: "contact_phone_title" + translation: "Número de teléfono" + +- id: "contact_phone_number" + translation: "+555 (11) 123 44 55" + +- id: "contact_email_title" + translation: "Correo electrónico" + +- id: "contact_email_email" + translation: 'mail@example.com' + +- id: "contact_address_title" + translation: "Dirección" + +- id: "contact_address_address" + translation: "Calle/barrio exacto (puedes omitir esto)
Código postal, Ciudad" + +- id: "contact_button" + translation: "Enviar mensaje" + +## Blog +- id: "read_more" + translation: "Leer más" + +- id: "published_on" + translation: "Publicado el" + +- id: "continue_reading" + translation: "Continuar leyendo" diff --git a/layouts/partials/education.html b/layouts/partials/education.html new file mode 100644 index 0000000..4615772 --- /dev/null +++ b/layouts/partials/education.html @@ -0,0 +1,24 @@ +{{ if .Site.Data.homepage.education.enable }} +
+
+
+
+

{{ i18n "education_title" }}

+
+ {{ range .Site.Data.homepage.education.items }} +
+
+
{{ .year }}
+
{{ .university }}
+
+ {{ .degree }} +
+
+
+ {{ end }} +
+
+
+
+
+{{ end }} diff --git a/layouts/partials/experience-description.html b/layouts/partials/experience-description.html new file mode 100644 index 0000000..15d6bbe --- /dev/null +++ b/layouts/partials/experience-description.html @@ -0,0 +1,45 @@ +
+
+

{{ i18n "experience_title" }}

+

{{ i18n "experience_description" }}

+
+
+ + {{ if .Site.Data.homepage.experience.button2.icon }} + + {{ end }} + {{ if .Site.Data.homepage.experience.button3.icon }} + + {{ end }} +
+
diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..dcb2610 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,80 @@ + + + + + +{{ if .Site.Params.analytics.google_tag_manager.enabled }} + +{{ end }} + +{{ if not .Params.seo.title }} +{{ i18n "head_title" }} +{{ else }} +David Corto Camacho | {{ .Params.seo.title }} +{{ end }} +{{ if not .Params.seo.description }} + +{{ else }} + +{{ end }} + +{{ $critical := resources.Get "css/critical.css" | css.Sass | resources.Minify }} + + +{{ $cssResources := slice }} +{{ range .Site.Params.plugins.css }} + {{ if findRE "^http" .URL }} + + {{ else }} + {{ $cssFile := resources.Get .URL }} + {{ $cssResources = $cssResources | append $cssFile }} + {{ end }} +{{ end }} +{{ range .Site.Params.plugins.scss }} + {{ $scss := resources.Get .URL }} + + {{ $style := $scss | css.Sass | resources.Fingerprint }} + + +{{ end }} + +{{ $cssBundle := $cssResources | resources.Concat "css/bundle.css" }} + + + +{{ $css := $cssBundle | css.PostCSS }} +{{ if hugo.IsProduction }} + {{ $css = $css | minify | fingerprint | resources.PostProcess }} +{{ end }} + + + +{{ if .Site.Params.analytics.google_tag_manager.enabled }} + + +{{ $analytics := resources.Get "js/gtag.js" | resources.Minify }} + +{{ else }} + +{{ end }} + + diff --git a/layouts/partials/head_custom.html b/layouts/partials/head_custom.html new file mode 100644 index 0000000..17c2b94 --- /dev/null +++ b/layouts/partials/head_custom.html @@ -0,0 +1,2 @@ +{{ with .Params.seo.disallowrobots }}{{ else }}{{ end }} + diff --git a/layouts/partials/testimonial.html b/layouts/partials/testimonial.html new file mode 100644 index 0000000..d26959e --- /dev/null +++ b/layouts/partials/testimonial.html @@ -0,0 +1,55 @@ +{{ if .Site.Data.homepage.testimonial.enable }} +
+
+

{{ i18n "testimonials_title" }}

+
+ + {{ $baseLangSite := .Sites.Default }} + {{ $testimonials := (where .Site.RegularPages.ByDate "Type" "testimonial") }} + {{ $testimonials = $testimonials | lang.Merge (where $baseLangSite.RegularPages.ByDate "Type" "testimonia") }} + {{ range $testimonials }} + +
+ +

+ {{ .Content }} +

+
+ {{ $img := resources.Get .Params.image.x }} + {{ $img2x := resources.Get .Params.image._2x }} + {{ with $img }} + {{ with $img2x}} + + {{/* ⚠️ If the image is not found, it will not be displayed - this whole block will be skipped */}} + + + {{ $imgWebp := $img.Resize (printf "%dx%d webp q75 Lanczos picture" $img.Width $img.Height) }} + {{ $img2xWebp := $img2x.Resize (printf "%dx%d webp q75 Lanczos picture" $img2x.Width $img2x.Height) }} + + + + + {{ .Params.title }} + + {{ end }} + {{ end }} + +
+

{{ .Params.name }}

+ {{ .Params.position }} +
+
+
+ {{ end }} +
+
+
+{{ end }} + diff --git a/layouts/testimonial/list.html b/layouts/testimonial/list.html new file mode 100644 index 0000000..cd4b5e1 --- /dev/null +++ b/layouts/testimonial/list.html @@ -0,0 +1,18 @@ + + + + + + {{ partial "head.html" . }} {{ partial "head_custom.html" . }} + + + + {{ partial "header.html" . }} + + {{ partial "testimonial.html" . }} + + {{ partial "footer.html" . }} {{ partial "base-foot.html" . }} + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..668312c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1097 @@ +{ + "name": "dcorto.github.io", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.4.49", + "postcss-cli": "^11.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001686", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", + "integrity": "sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.70", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.70.tgz", + "integrity": "sha512-P6FPqAWIZrC3sHDAwBitJBs7N7IF58m39XVny7DFseQXK2eiMn7nNQizFf63mWDDUnFvaqsM8FI0+ZZfLkdUGA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", + "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-cli": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-11.0.0.tgz", + "integrity": "sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^11.0.0", + "get-stdin": "^9.0.0", + "globby": "^14.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^5.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^5.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "postcss": "index.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-load-config": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-5.1.0.tgz", + "integrity": "sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1", + "yaml": "^2.4.2" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + } + } + }, + "node_modules/postcss-reporter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.1.0.tgz", + "integrity": "sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e805877 --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "devDependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.4.49", + "postcss-cli": "^11.0.0" + } +} diff --git a/static/.gitkeep b/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/static/images/Pope-Edouard-de-Beaumont-1844.jpg b/static/images/Pope-Edouard-de-Beaumont-1844.jpg deleted file mode 100644 index a4b5d0f..0000000 Binary files a/static/images/Pope-Edouard-de-Beaumont-1844.jpg and /dev/null differ diff --git a/static/images/Victor_Hugo-Hunchback.jpg b/static/images/Victor_Hugo-Hunchback.jpg deleted file mode 100644 index 20a243d..0000000 Binary files a/static/images/Victor_Hugo-Hunchback.jpg and /dev/null differ diff --git a/static/images/esmeralda.jpg b/static/images/esmeralda.jpg deleted file mode 100644 index 59a28c2..0000000 Binary files a/static/images/esmeralda.jpg and /dev/null differ diff --git a/static/images/notebook.jpg b/static/images/notebook.jpg deleted file mode 100644 index 934af26..0000000 Binary files a/static/images/notebook.jpg and /dev/null differ diff --git a/themes/adritian-free-hugo-theme b/themes/adritian-free-hugo-theme new file mode 160000 index 0000000..f4659d0 --- /dev/null +++ b/themes/adritian-free-hugo-theme @@ -0,0 +1 @@ +Subproject commit f4659d04d342f4deb305632f7934066f3467a23e diff --git a/themes/ananke b/themes/ananke deleted file mode 160000 index b06949e..0000000 --- a/themes/ananke +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b06949eb2d8c8196527aab93fe92898fa56c9bc1