-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-templates-blog-post-js-content-file-path-content-blog-2010-10-18-event-mdx-70d2ff631bc6cc71136e.js.map
1 lines (1 loc) · 15.4 KB
/
component---src-templates-blog-post-js-content-file-path-content-blog-2010-10-18-event-mdx-70d2ff631bc6cc71136e.js.map
1
{"version":3,"file":"component---src-templates-blog-post-js-content-file-path-content-blog-2010-10-18-event-mdx-70d2ff631bc6cc71136e.js","mappings":"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","sources":["webpack://robli-co-gatsby-src/./content/blog/2010-10-18-Event.mdx","webpack://robli-co-gatsby-src/./src/templates/blog-post.js","webpack://robli-co-gatsby-src/./node_modules/@mdx-js/react/lib/index.js"],"sourcesContent":["/*@jsxRuntime classic @jsx React.createElement @jsxFrag React.Fragment*/\nimport {useMDXComponents as _provideComponents} from \"@mdx-js/react\";\nimport React from \"react\";\nfunction _createMdxContent(props) {\n const _components = Object.assign({\n p: \"p\",\n ol: \"ol\",\n li: \"li\",\n img: \"img\"\n }, _provideComponents(), props.components);\n return React.createElement(React.Fragment, null, React.createElement(_components.p, null, \"I went to a friend’s engagement ceremony…a long while ago…somewhere around July 2010. I guess I have not been keeping this updated as frequently as I would like!\"), \"\\n\", React.createElement(_components.p, null, \"From memory, I went into this event with only a basic understanding of the different elements of exposure, and some random rules about composition. My aim was to take some\\ngreat photos with creative use of depth of field as I felt I understood the concept best (out of all the other concepts I knew little about) and wanted to test out how different aperture settings affected the picture.\"), \"\\n\", React.createElement(_components.p, null, \"What I learned:\"), \"\\n\", React.createElement(_components.ol, null, \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(_components.p, null, \" I can imagine how hard a wedding/event photographer has to work. I have no idea why some people would consider it to be the thing you do when you fail at all else. I can now appreciate the enormous amount of skill to capture some of the relaxed/natural style wedding photos I love to see.\"), \"\\n\", React.createElement(_components.p, null, \"It’s really important not to be lazy when photographing at events. It is so hard to get a good shot and most of the time it requires you to get really close up to the action. I didn’t really appreciate how many people can stand up and fill in what I thought was a small space between me and the subject!\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(_components.p, null, \" Indoor lighting is not easy. It’s really important to understand the dynamics of light. I had no idea how bad the camera sees in light I would find quite normal.\"), \"\\n\", React.createElement(_components.p, null, \"I tried taking the lazy route and did some shots at 800 ISO - thinking it would compensate for my fast shutter speed so I wouldn’t have to use a tripod. My SLR is much better a camera than I am a photographer, but it just does not produce the best images under poor light at high ISOs. The noise in the images was terrible!\"), \"\\n\", React.createElement(_components.p, null, \"I did not use any flash, because I must admit, I was afraid of it! I knew that using fill flash was the key, but I didn’t really understand it all that well. Being afraid of getting the terrible “snapshot” look, I opted instead to use a wide aperture. Luckily, this suited the portraiture style of most shots.\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(_components.p, null, \"I love the 50mm f/1.8! This really is the must have lens for any beginner SLR shooter. It’s cheap for one, but most importantly, the fast aperture really allows experimentation with depth of field and the fixed focal length forces moving and not being lazy (good and bad).\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(_components.p, null, \"I love the spur of the moment shots. It really creates the best memories. When the subject is relaxed, it just creates a much better atmosphere. The awkwardness of a forced pose just doesn’t cut it anymore.\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(_components.p, null, \"Pray and spray! This definitely holds true. Luck is a factor. I’ve discovered that shooting 100 or so photos, you will have around 10-20 decent ones. You will always manage to get a good shot if you’re lucky. I think my most immediate goal is the need to minimise the amount of bad shots. Each picture should be deliberately taken and every element should be explainable.\"), \"\\n\"), \"\\n\", React.createElement(_components.li, null, \"\\n\", React.createElement(_components.p, null, \"This was the first time I solely used RAW. I learnt that it requires so much more work in post processing compared to JPEG. Luckily post processing is something I really enjoy. I like how the image creating process is two staged. You get caught up in the moment to take the pictures which can be all hustle and bustle; but then you get to sit down, review, reflect and think during the post processing stage of it. Although, it definitely hinders turnaround times.\"), \"\\n\"), \"\\n\"), \"\\n\", React.createElement(_components.p, null, \"I also learnt the importance of applying sharpening to RAW files…and noise reduction. I think it’s extremely important to master both these techniques in understanding how they interact with other adjustments.\"), \"\\n\", React.createElement(_components.p, null, \"I think the picture below perfectly highlights points 5 and 6. This is a picture that started off not that great amongst a sea of pretty terrible ones. With some extreme cropping, colour adjustments, etc, I was able to make a half-decent picture.\"), \"\\n\", React.createElement(_components.img, {\n src: \"/co-robli-dev/images/2010/10/img_0767-2010-07-04-at-12-43-05.jpg\",\n alt: \"\"\n }), \"\\n\", React.createElement(_components.p, null, \"All in all, I am quite pleased with how much I was able to learn and put into practice.\"));\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components);\n return MDXLayout ? React.createElement(MDXLayout, props, React.createElement(_createMdxContent, props)) : _createMdxContent(props);\n}\nexport default MDXContent;\n","import GATSBY_COMPILED_MDX from \"/home/runner/work/robli-co-gatsby-src/robli-co-gatsby-src/content/blog/2010-10-18-Event.mdx\";\nimport React from \"react\";\nimport {Link, graphql} from \"gatsby\";\nimport Layout from \"../components/layout\";\nimport Seo from \"../components/seo\";\nimport {BlogPostMetadata} from \"../components/custom-styled-components\";\nconst BlogPostTemplate = ({data, location, children}) => {\n const post = data.mdx;\n const siteTitle = data.site.siteMetadata?.title || `Title`;\n const {previous, next} = data;\n return React.createElement(Layout, {\n location: location,\n title: siteTitle\n }, React.createElement(Seo, {\n title: post.frontmatter.title,\n description: post.frontmatter.description || post.excerpt\n }), React.createElement(\"article\", {\n className: \"blog-post\",\n itemScope: true,\n itemType: \"http://schema.org/Article\"\n }, React.createElement(\"header\", null, React.createElement(\"h1\", {\n itemProp: \"headline\"\n }, post.frontmatter.title), React.createElement(BlogPostMetadata, null, post.frontmatter.date, \" by \", React.createElement(Link, {\n to: \"/about\"\n }, \"Rob Li\"))), React.createElement(\"section\", null, children), React.createElement(\"hr\"), React.createElement(\"footer\")), React.createElement(\"nav\", {\n className: \"blog-post-nav\"\n }, React.createElement(\"ul\", {\n style: {\n display: `flex`,\n flexWrap: `wrap`,\n justifyContent: `space-between`,\n listStyle: `none`,\n padding: 0\n }\n }, React.createElement(\"li\", null, previous && React.createElement(Link, {\n to: `/blog${previous.fields.slug}`,\n rel: \"prev\"\n }, \"← \", previous.frontmatter.title)), React.createElement(\"li\", null, next && React.createElement(Link, {\n to: `/blog${next.fields.slug}`,\n rel: \"next\"\n }, next.frontmatter.title, \" →\")))));\n};\nBlogPostTemplate\nexport default function GatsbyMDXWrapper(props) {\n return React.createElement(BlogPostTemplate, props, React.createElement(GATSBY_COMPILED_MDX, props));\n}\nexport const pageQuery = graphql`\n query BlogPostTemplate(\n $id: String!\n $previousPostId: String\n $nextPostId: String\n ) {\n site {\n siteMetadata {\n title\n }\n }\n mdx(id: { eq: $id }) {\n id\n excerpt(pruneLength: 160)\n# body\n frontmatter {\n title\n date(formatString: \"dddd, DD MMMM YYYY\")\n description\n# author\n tags\n }\n }\n previous: mdx(id: { eq: $previousPostId }) {\n fields {\n slug\n }\n frontmatter {\n title\n }\n }\n next: mdx(id: { eq: $nextPostId }) {\n fields {\n slug\n }\n frontmatter {\n title\n }\n }\n }\n`;\n","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('mdx/types.js').MDXComponents} Components\n *\n * @typedef Props\n * Configuration.\n * @property {Components | MergeComponents | null | undefined} [components]\n * Mapping of names for JSX components to React components.\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context.\n * @property {ReactNode | null | undefined} [children]\n * Children.\n *\n * @callback MergeComponents\n * Custom merge function.\n * @param {Components} currentComponents\n * Current components from the context.\n * @returns {Components}\n * Merged components.\n */\n\nimport React from 'react'\n\n/**\n * @type {import('react').Context<Components>}\n * @deprecated\n * This export is marked as a legacy feature.\n * That means it’s no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components and\n * `MDXProvider` to set context based components instead.\n */\nexport const MDXContext = React.createContext({})\n\n/**\n * @param {import('react').ComponentType<any>} Component\n * @deprecated\n * This export is marked as a legacy feature.\n * That means it’s no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components instead.\n */\nexport function withMDXComponents(Component) {\n return boundMDXComponent\n\n /**\n * @param {Record<string, unknown> & {components?: Components | null | undefined}} props\n * @returns {JSX.Element}\n */\n function boundMDXComponent(props) {\n const allComponents = useMDXComponents(props.components)\n return React.createElement(Component, {...props, allComponents})\n }\n}\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Components | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that takes the current\n * components and filters/merges/changes them.\n * @returns {Components}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(() => {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n }, [contextComponents, components])\n}\n\n/** @type {Components} */\nconst emptyObject = {}\n\n/**\n * Provider for MDX context\n *\n * @param {Props} props\n * @returns {JSX.Element}\n */\nexport function MDXProvider({components, children, disableParentContext}) {\n /** @type {Components} */\n let allComponents\n\n if (disableParentContext) {\n allComponents =\n typeof components === 'function'\n ? components({})\n : components || emptyObject\n } else {\n allComponents = useMDXComponents(components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n children\n )\n}\n"],"names":["_createMdxContent","props","_components","Object","assign","p","ol","li","img","_provideComponents","components","React","src","alt","wrapper","MDXLayout","BlogPostTemplate","_ref","_data$site$siteMetada","data","location","children","post","mdx","siteTitle","site","siteMetadata","title","previous","next","Layout","Seo","frontmatter","description","excerpt","className","itemScope","itemType","itemProp","BlogPostMetadata","date","Link","to","style","display","flexWrap","justifyContent","listStyle","padding","fields","slug","rel","GatsbyMDXWrapper","GATSBY_COMPILED_MDX","MDXContext","useMDXComponents","contextComponents"],"sourceRoot":""}